2 JumpSrv使用
2.1 用戶和組管理
- 創(chuàng)建組


- 創(chuàng)建用戶


除了堡壘機(jī)的管理員, 其他用戶都只給用戶角色即可, 防止其他人登陸堡壘機(jī)進(jìn)行修改
- 添加用戶到組


驗(yàn)證用戶登陸


再創(chuàng)建一個(gè)開(kāi)發(fā)組, 添加普通用戶, 用于演示


- 創(chuàng)建管理用戶
管理用戶用于JumpSrv登錄被管理節(jié)點(diǎn), 統(tǒng)計(jì)資產(chǎn)信息, 以及推送系統(tǒng)用戶的時(shí)候使用, 所以此用戶一定是一個(gè)可以登錄到后端服務(wù)器的具備超級(jí)權(quán)限的用戶(如后端服務(wù)器的root賬戶或者具有root權(quán)限的其他用戶)
如果被管理節(jié)點(diǎn)root密碼不同, 管理用戶需要?jiǎng)?chuàng)建多個(gè), 通過(guò)Name指定每個(gè)管理用戶的管理范圍, 作用. 同時(shí), 在創(chuàng)建資產(chǎn)時(shí), 要指定每一個(gè)資產(chǎn)的管理用戶是誰(shuí), 這樣才能保證JumpSrv遠(yuǎn)程到被管理節(jié)點(diǎn)時(shí)不會(huì)出問(wèn)題.


- 創(chuàng)建系統(tǒng)用戶
系統(tǒng)用戶是JumpSrv跳轉(zhuǎn)登錄資產(chǎn)時(shí)使用的用戶, 可以理解為登錄資產(chǎn)的用戶, 如web, dba(ssh web@hostname), 而不是使用某個(gè)用戶的用戶名跳轉(zhuǎn)登錄服務(wù)器, 簡(jiǎn)單來(lái)說(shuō)用戶使用自己的用戶名登錄JumpSrv, JumpSrv使用系統(tǒng)用戶登錄資產(chǎn), 系統(tǒng)用戶創(chuàng)建時(shí), 如果選擇了自動(dòng)推送, JumpSrv會(huì)使用Ansible推送系統(tǒng)用戶到資產(chǎn)中, 如果資產(chǎn)不支持Ansible, 比如網(wǎng)絡(luò)設(shè)備, 那么需要填寫賬戶和密碼
系統(tǒng)用戶, 建議在被管理節(jié)點(diǎn)事先創(chuàng)建好, 并且相同的服務(wù), 比如Web服務(wù), 用統(tǒng)一的用戶名和用戶id, 否則JumpSrv會(huì)自動(dòng)創(chuàng)建系統(tǒng)用戶, 這樣容易造成相同服務(wù)在不同的服務(wù)器上用戶id不同
系統(tǒng)用戶創(chuàng)建好后, 可以在權(quán)限管理中, 將JumpSrv登錄用戶, 系統(tǒng)用戶以及資產(chǎn)進(jìn)行權(quán)限綁定, 規(guī)定哪些用戶可以通過(guò)哪個(gè)系統(tǒng)用戶登錄到哪臺(tái)后端服務(wù)器上
另外, 開(kāi)發(fā)測(cè)試人員建議統(tǒng)一使用這個(gè)系統(tǒng)賬號(hào)登錄服務(wù)器進(jìn)行操作, 避免用其他賬號(hào)登錄造成權(quán)限不夠, 或者用root登錄導(dǎo)致創(chuàng)建的文件都是root屬主和屬組, 導(dǎo)致服務(wù)器啟動(dòng)無(wú)法讀取配置文件等問(wèn)題, 因此, 系統(tǒng)用戶的創(chuàng)建需要運(yùn)維和開(kāi)發(fā)進(jìn)行協(xié)商, 確定哪個(gè)服務(wù),用什么賬號(hào)啟動(dòng)
由于服務(wù)都是以某個(gè)系統(tǒng)賬號(hào)啟用的, 因此, 該系統(tǒng)賬號(hào)對(duì)于服務(wù)的安裝目錄, 數(shù)據(jù)目錄肯定都是有權(quán)限的. 因此, 開(kāi)發(fā)人員是可以從服務(wù)安裝目錄, 和數(shù)據(jù)目錄拷貝文件的
舉例:
developer-1的Jumpserver登陸賬號(hào)為developer-1
登陸到JumpServer后, 需要連接到后端的服務(wù)器, 這時(shí)候就根據(jù)后端服務(wù)器的作用, 比如是web服務(wù), 還是數(shù)據(jù)庫(kù), 需要在后端服務(wù)器事先創(chuàng)建好系統(tǒng)用戶, 這個(gè)系統(tǒng)用戶就是服務(wù)啟動(dòng)時(shí)用的賬戶, 比如, nginx, mysql等
之后, 把登陸用戶, 系統(tǒng)用戶和資產(chǎn)進(jìn)行綁定, 這樣developer-1就可以通過(guò)JumpServer連接到自己有權(quán)限的服務(wù)器上, 而登陸到服務(wù)器后, 使用的賬戶就是系統(tǒng)賬戶, 而非root賬號(hào), 防止誤操作




2.2 資產(chǎn)管理
- 創(chuàng)建資產(chǎn)組
資產(chǎn)需要被分到不同的資產(chǎn)組, 進(jìn)行統(tǒng)一的管理


- 創(chuàng)建資產(chǎn)

創(chuàng)建資產(chǎn)時(shí), 資產(chǎn)必須是準(zhǔn)備好的, 因?yàn)楸緳C(jī)會(huì)在創(chuàng)建資產(chǎn)時(shí), 嘗試對(duì)資產(chǎn)進(jìn)行連接, 如果服務(wù)器無(wú)法連接, 會(huì)報(bào)錯(cuò)
準(zhǔn)備兩個(gè)CentOS7服務(wù)器, 作為被管理資產(chǎn)
10.0.0.217
10.0.0.207
- 填寫資產(chǎn)信息


- 添加資產(chǎn)后, 堡壘機(jī)會(huì)自動(dòng)連接到后端服務(wù)器, 統(tǒng)計(jì)硬件信息

如果后端服務(wù)器root密碼修改了, 那么可以到資產(chǎn)用戶列表中更改密碼



- 資產(chǎn)導(dǎo)入和導(dǎo)出
- 資產(chǎn)導(dǎo)出, 導(dǎo)出資產(chǎn)時(shí), 會(huì)導(dǎo)出所有節(jié)點(diǎn)組的資產(chǎn)


- 資產(chǎn)導(dǎo)入, 把10.0.0.207導(dǎo)入, 作為開(kāi)發(fā)機(jī)
先創(chuàng)建一個(gè)developer節(jié)點(diǎn), 獲取節(jié)點(diǎn)編號(hào)

下載導(dǎo)入模板, 填寫資產(chǎn)信息后導(dǎo)入, 導(dǎo)入時(shí),要在對(duì)應(yīng)的節(jié)點(diǎn)組導(dǎo)入


- 再添加一個(gè)ubuntu服務(wù)器, 10.0.0.219
新建一個(gè)test節(jié)點(diǎn), 把10.0.0.219加進(jìn)入
- 目前一共三臺(tái)服務(wù)器, 三個(gè)節(jié)點(diǎn)組

2.3 權(quán)限管理
- 創(chuàng)建權(quán)限規(guī)則, 將用戶和資產(chǎn)關(guān)聯(lián)授權(quán)
授權(quán)時(shí)可以靈活授權(quán), 把一個(gè)服務(wù)器, 授權(quán)給一個(gè)用戶組, 或者單個(gè)用戶. 也可以把一個(gè)服務(wù)器組,分給單個(gè)用戶或者一個(gè)用戶組

- 每個(gè)資產(chǎn), 可以綁定多個(gè)系統(tǒng)用戶, 用戶登陸時(shí)會(huì)提示選擇使用哪個(gè)系統(tǒng)用戶進(jìn)行登陸


- 驗(yàn)證普通用戶權(quán)限
dba-1用戶屬于mysql組, 因此, 在dba-1賬號(hào)就可以看到mysql服務(wù)器組中的資產(chǎn)




- 把開(kāi)發(fā)服務(wù)器10.0.0.207單獨(dú)授權(quán)給developer-1
- 節(jié)點(diǎn)要根據(jù)服務(wù)器組進(jìn)行選擇, 如果選擇了Default組, 那么就會(huì)授權(quán)所有服務(wù)器組


2.4 文件上傳和下載
由于用戶登錄到服務(wù)器的賬號(hào)是一個(gè)系統(tǒng)賬戶, 因此, 登錄后的工作目錄是該系統(tǒng)賬號(hào)的家目錄, 同時(shí)只能在創(chuàng)建該系統(tǒng)賬戶時(shí), 設(shè)置的sftp目錄下, 上傳和下載文件, 默認(rèn)為/tmp
如果登錄用戶需要上傳配置文件, 可以先上傳到到/tmp目錄, 然后把文件拷貝到對(duì)應(yīng)的服務(wù)工作目錄里, 如果是下載日志或者其他文件的話, 可以先把文件移動(dòng)到/tmp目錄, 再進(jìn)行下載


- 文件上傳, 上傳文件只能上傳到sftp規(guī)定的目錄下, 默認(rèn)是/tmp
在Windows本地創(chuàng)建一個(gè)文件, 然后上傳到/tmp目錄

直接把文件從Windows拖拽到終端即可

- 文件下載
右鍵需要下載的文件, 點(diǎn)擊下載即可, 下載文件不能從終端直接拖拽到Windows

2.5 會(huì)話管理
- 在線會(huì)話
登陸管理員賬號(hào), 可以看到當(dāng)前哪些用戶, 連接到了哪些終端, 并且可以進(jìn)行實(shí)時(shí)的監(jiān)控, 一旦發(fā)現(xiàn)危險(xiǎn)操作, 可以立即終斷連接, 修改用戶的登陸密碼, 防止誤操作
用戶執(zhí)行的每一條命令, 以及返回值, 都可以實(shí)時(shí)監(jiān)控到


- 錄像管理
- 歷史會(huì)話也就是錄像, 必須是用戶退出終端后, 才會(huì)可見(jiàn), 并且錄像還支持命令復(fù)制


2.6 命令過(guò)濾
- 創(chuàng)建命令過(guò)濾器


- 填寫規(guī)則


拒絕: 指定的命令都拒絕, 其余放行, 相當(dāng)于黑名單
允許: 指定的命令可以執(zhí)行, 其余都拒絕, 相當(dāng)于白名單

- 和系統(tǒng)用戶綁定
命令過(guò)濾器需要和系統(tǒng)用戶進(jìn)行綁定, 因?yàn)闊o(wú)論誰(shuí)登錄到某個(gè)服務(wù)器后, 都是用的系統(tǒng)賬戶


- 綁定后, 用戶需要重新登陸終端, 即可生效

禁止命令舉例
rm: rm所有的參數(shù)都拒絕執(zhí)行. 如果只拒絕了rm和rm -rf,那么rm -r -f還是可以刪除文件
poweroff
reboot
echo: echo拒絕執(zhí)行是因?yàn)閑cho > 1.txt就會(huì)把文件清空
>: 和echo同理
bash: 腳本也不讓執(zhí)行, 因?yàn)閞m, echo這些命令放到腳本里, 通過(guò)bash是可以執(zhí)行的
sh
ssh #JumpSrv的問(wèn)題就是, 一旦用某個(gè)系統(tǒng)用戶登錄到一個(gè)服務(wù)器后, 就可以ssh到其他的服務(wù)器, 如果有目標(biāo)服務(wù)器的賬號(hào)和密碼就可以ssh到其他服務(wù)器了, 所以ssh要禁止
.
source
chmod: 不讓開(kāi)發(fā)修改文件權(quán)限
...