python實現運維堡壘機(跳板機)系統

贊 回覆發表於2014-08-19

相信各位對堡壘機(跳板機)不陌生,為了保證伺服器安全,前面加個堡壘機,所有ssh連線都通過堡壘機來完成,堡壘機也需要有身份認證,授權,訪問控制,審計等功能,筆者用Python基本實現了上述功能。

架構:

後端主要技術是LDAP,配置了LDAP集中認證伺服器, 所有伺服器的認證都是由ldap完成的,我的做法是每個使用者一個密碼,把密碼加密放到了資料庫中,當使用者輸入ip從跳板機登陸伺服器的時候,跳板機系統取 出密碼,並解密,通過pexpect模組將密碼傳送過去,來完成登入的。

登入介面和方法

使用者登入跳板機,用的是祕鑰認證,登入跳板機後會自動執行跳板機的系統

輸入完整IP或者部分IP可以完成登入,如果輸入的部分ip匹配的ip不是唯一,會有提示,沒有許可權的會提示沒有許可權

輸入P/p可以檢視自己擁有許可權的伺服器ip

輸入E/E可以在幾臺伺服器上執行同樣的命令,IP直接以逗號分隔

日誌記錄

日誌記錄用的是pexpect自帶的日誌記錄,記錄的日誌既儲存了命令又儲存了命令的輸出,也不小心講傳送的密碼記錄(不滿意),pexpect模組處理 有些難做,我的想法是將日誌每天再處理一遍,將密碼等去掉,日誌儲存在logs目錄下面,檔名是 ip_日期_使用者名稱 ps:用的chinaren登入的,提示視窗卻是baidutest,這是由於我個人原因導致的。

 

訪問控制和授權

訪問控制和授權是由一套web來實現的

管理員介面

主頁:

檢視使用者:

新增使用者:

主機列表:

新增主機:

許可權列表:

新增許可權:

後面的pptp和openvpn新增是我根據需要新增的,可以去掉

使用者登入介面:

更改登入密碼:

修改key密碼:

相關文章