主機管理 堡壘機系統開發 需求討論(一)

2022-09-15 11:06:15 字數 2628 閱讀 8272

實現對使用者的許可權管理,能訪問哪些機器,在被訪問的機器上有哪些許可權

實現可以通過web頁面對指定主機列表 進行 批量發布命令、檔案

實現對使用者操作進行紀錄 

到目前為止,很多公司對堡壘機依然不太感冒,其實是沒有充分認識到堡壘機在it管理中的重要作用的,很多人覺得,堡壘機就是跳板機,其實這個認識是不全面的,跳板功能只是堡壘機所具備的功能屬性中的其中一項而已,下面我就給大家介紹一下堡壘機的重要性,以幫助大家參考自己公司的業務是否需要部署堡壘機。

堡壘機有以下兩個至關重要的功能:

當你公司的伺服器變的越來越多後,需要操作這些伺服器的人就肯定不只是乙個運維人員,同時也可能包括多個開發人員,那麼這麼多的人操作業務系統,如果許可權分配不當就會存在很大的安全風險,舉幾個場景例子:

設想你們公司有300臺linux伺服器,a開發人員需要登入其中5臺web伺服器檢視日誌或進行問題追蹤等事務,同時對另外10臺hadoop伺服器有root許可權,在有300臺伺服器規模的網路中,按常理來講你是已經使用了ldap許可權統一認證的,你如何使這個開發人員只能以普通使用者的身份登入5臺web伺服器,並且同時允許他以管理員的身份登入另外10臺hadoop伺服器呢?並且同時他對其它剩下的200多台伺服器沒有訪問許可權

目前據我了解,很多公司的運維團隊為了方面,整個運維團隊的運維人員還是共享同一套root密碼,這樣內部信任機制雖然使大家的工作方便了,但同時存在著極大的安全隱患,很多情況下,乙個運維人員只需要管理固定數量的伺服器,畢竟公司分為不同的業務線,不同的運維人員管理的業務線也不同,但如果共享一套root密碼,其實就等於無限放大了每個運維人員的許可權,也就是說,如果某個運維人員想幹壞事的話,他可以在幾分鐘內把整個公司的業務停轉,甚至資料都給刪除掉。為了降低風險,於是有人想到,把不同業務線的root密碼改掉就ok了麼,也就是每個業務線的運維人員只知道自己的密碼,這當然是最簡單有效的方式,但問題是如果你同時用了ldap,這樣做又比較麻煩,即使你設定了root不通過ldap認證,那新問題就是,每次有運維人員離職,他所在的業務線的密碼都需要重新改一次。

其實上面的問題,我覺得可以很簡單的通過堡壘機來實現,收回所有人員的直接登入伺服器的許可權,所有的登入動作都通過堡壘機授權,運維人員或開發人員不知道遠端伺服器的密碼,這些遠端機器的使用者資訊都繫結在了堡壘機上,堡壘機使用者只能看到他能用什麼許可權訪問哪些遠端伺服器。

在**了運維或開發人員直接登入遠端伺服器的許可權後,其實就等於你們公司生產系統的所有認證過程都通過堡壘機來完成了,堡壘機等於成了你們生產系統的sso(single sign on)模組了。你只需要在堡壘機上新增幾條規則就能實現以下許可權控制了:

允許a開發人員通過普通使用者登入5臺web伺服器,通過root許可權登入10臺hadoop伺服器,但對其餘的伺服器無任務訪問許可權

多個運維人員可以共享乙個root賬戶,但是依然能分辨出分別是誰在哪些伺服器上操作了哪些命令,因為堡壘機賬戶是每個人獨有的,也就是說雖然所有運維人員共享了一同乙個遠端root賬戶,但由於他們用的堡壘賬戶都是自己獨有的,因此依然可以通過堡壘機控制每個運維人員訪問不同的機器。

審計管理其實很簡單,就是把使用者的所有操作都紀錄下來,以備日後的審計或者事故後的追責。在紀錄使用者操作的過程中有乙個問題要注意,就是這個紀錄對於操作使用者來講是不可見的,什麼意思?就是指,無論使用者願不願意,他的操作都會被紀錄下來,並且,他自己如果不想操作被紀錄下來,或想刪除已紀錄的內容,這些都是他做不到的,這就要求操作日誌對使用者來講是不可見和不可訪問的,通過堡壘機就可以很好的實現。

堡壘機的主要作用許可權控制和使用者行為審計,堡壘機就像乙個城堡的大門,城堡裡的所有建築就是你不同的業務系統 , 每個想進入城堡的人都必須經過城堡大門並經過大門守衛的授權,每個進入城堡的人必須且只能嚴格按守衛的分配進入指定的建築,且每個建築物還有自己的許可權訪問控制,不同級別的人可以到建築物裡不同樓層的訪問級別也是不一樣的。還有就是,每個進入城堡的人的所有行為和足跡都會被嚴格的監控和紀錄下來,一旦發生犯罪事件,城堡管理人員就可以通過這些監控紀錄來追蹤責任人。 

堡壘要想成功完全記到他的作用,只靠堡壘機本身是不夠的, 還需要一系列安全上對使用者進行限制的配合,堡壘機部署上後,同時要確保你的網路達到以下條件:

確保除了堡壘機管理員之外,所有其它人對堡壘機本身無任何操作許可權,只有乙個登入跳轉功能

確保使用者的操作紀錄不能被使用者自己以任何方式獲取到並篡改

兼顧業務安全目標與使用者體驗,堡壘機部署後,不應使使用者訪問業務系統的訪問變的複雜,否則工作將很難推進,因為沒人喜歡改變現狀,尤其是改變後生活變得更艱難

保證堡壘機穩定安全執行, 沒有100%的把握,不要上線任何新系統,即使有100%把握,也要做好最壞的打算,想好故障預案

所有的使用者操作日誌要保留在資料庫中

每個使用者登入堡壘機後,只需要選擇具體要訪問的設定,就連線上了,不需要再輸入目標機器的訪問密碼

允許使用者對不同的目標裝置有不同的訪問許可權,例:

對10.0.2.34 有mysql 使用者的許可權

對192.168.3.22 有root使用者的許可權

對172.33.24.55 沒任何許可權

分組管理,即可以對設定進行分組,允許使用者訪問某組機器,但對組裡的不同機器依然有不同的訪問許可權  

主機管理 堡壘機系統開發 批量任務開發思路(十一)

1 前端提交發起請求100臺機器,那我要等待5分鐘,問題就在於,這100臺不是同時執行完的,有可能我有10臺執行完了,執行完了不能讓他等五分鐘,讓他執行完了立刻就返回 2 返回乙個什麼呢?task id的值,這個值是唯一值 3 觸發任務和拿取結果關聯起來?你相當於第一次提交是要觸發這個任務,觸發完這...

討論 需求獲取在系統開發中的地位

引 面對乙個系統,如何能做好需求,如果確實做不好這個需求,那麼在設計開發中該注意些什麼?當有需求變更的時候,不能不改變原來的需求,或者加進新的功能需求,那又該怎麼辦?面對自己的 越來越龐大,該怎麼辦?如何在實際開發過程中做到 精簡?需求分析 在學校的時候,一直就在學軟體工程相關的東西。老師們就是乙個...

討論 需求獲取在系統開發中的地位

引 面對乙個系統,如何能做好需求,如果確實做不好這個需求,那麼在設計開發中該注意些什麼?當有需求變更的時候,不能不改變原來的需求,或者加進新的功能需求,那又該怎麼辦?面對自己的 越來越龐大,該怎麼辦?如何在實際開發過程中做到 精簡?需求分析 在學校的時候,一直就在學軟體工程相關的東西。老師們就是乙個...