新聞中心
背景介紹

最近,筆者接手公司的一項任務(wù):建造服務(wù)器的堡壘跳板機。
關(guān)于跳板機的實現(xiàn),其實簡單版本網(wǎng)上一大堆,甚至更有開源堡壘機Jumpserver可供選擇,方案很多。接下來會就我的實現(xiàn)方案,整理出幾篇文章來做概要描述。
覆蓋功能
正所謂兵馬未動,糧草先行,在設(shè)計之前,先整理出我們一期中堡壘機要覆蓋的基本功能點:
- 服務(wù)器統(tǒng)一賬號權(quán)限管理,包括哪些用戶可以對哪些服務(wù)器進行l(wèi)ogin,哪些用戶有sudo權(quán)限;
- 用戶行為記錄,可在必要時回看審查;
- 用戶登錄校驗審查;
現(xiàn)在初期的目標是將所有的linux服務(wù)器通過堡壘機進行管理把控,將來擴展下,同樣可以通過ssh協(xié)議對 交換機、路由器、甚至是Windows進行管理(目前windows已經(jīng)可以實現(xiàn)通過ssh登錄,不過這種方式就沒有圖形界面了且只能通過powershell來進行管理)。
架構(gòu)設(shè)計
基于以上幾點功能點,設(shè)計架構(gòu)如下:
下面對這個架構(gòu)圖做下說明:
整體分為三層,總體來說,
***層 校驗用戶是否有登錄堡壘機的權(quán)限;
第二層真正為用戶分配權(quán)限,同時判斷經(jīng)過***層的用戶是否有對目標機器操作的權(quán)限;
第三層則是真正登錄/操作服務(wù)器的方式,在這里我將服務(wù)器的auth+sudo權(quán)限通過ldap來進行分布式動態(tài)管理,稍后會有專門的說明;
***層:
登錄入口,凡是有堡壘機使用權(quán)限的均可以由此入口處登錄成功。
涉及主要服務(wù): user login shell。
服務(wù)主要功能:
- 讀取用戶信息,判斷是否有登錄權(quán)限;
- 調(diào)用動態(tài)Token服務(wù),驗證用戶passwd;
- 調(diào)用動態(tài)token服務(wù),實現(xiàn)二維碼掃碼快速登錄;
- 調(diào)用第二層中的授權(quán)服務(wù)api,獲取&判斷用戶的login權(quán)限;
- 記錄用戶操作日志;
關(guān)聯(lián)服務(wù):
- 動態(tài)Token服務(wù),類似于google auth,每個人的動態(tài)碼均不一樣,每分鐘update一次,以此做登錄堡壘機的校驗,當然如果想簡單,單獨分配一個靜態(tài)密碼也可以;
第二層:
授權(quán)服務(wù)管理,獲取登錄用戶當前的權(quán)限ip列表,判斷用戶的操作是否符合預(yù)授權(quán)。
涉及主要服務(wù):授權(quán)管理服務(wù)
服務(wù)主要功能:
- 設(shè)置用戶/team的 權(quán)限列表;
- 將權(quán)限數(shù)據(jù)下發(fā)至第三層的ldap集群;
- 提供api獲取用戶的權(quán)限list;
關(guān)聯(lián)服務(wù):
- CMDB,以cmdb中的服務(wù)樹為基本單位做授權(quán),同時在cmdb中判斷授權(quán)的服務(wù)器對象是否有效;
- OA,以oa中的用戶組為基本單位做權(quán)限授予,同時基于oa來判斷用戶是否有效;
第三層:
登錄實體服務(wù)器&執(zhí)行命令;
將所有目標服務(wù)器的ssh登錄體系對接ldap集群,通過在ldap中設(shè)置用戶的publickey & sudo等信息,來統(tǒng)一控制用戶的登錄權(quán)限&sudo權(quán)限。
目標規(guī)模:使用兩臺服務(wù)器做ldap主從集群,所有實體服務(wù)器對接此集群,從而統(tǒng)一進行auth驗證。
未完待續(xù)
整體的架構(gòu)說明就簡單這樣,接下來對就每一層的具體實現(xiàn)在分別和大家分享。
分享標題:堡壘跳板機實現(xiàn)——整體架構(gòu)
網(wǎng)頁鏈接:http://m.fisionsoft.com.cn/article/dpjidec.html


咨詢
建站咨詢
