開源運維堡壘機(跳板機)系統 python

更新:部署文檔見: http://laoguang.blog.51cto.com/6013350/1540793      

免費Python視頻教程: http://edu.51cto.com/course/course_id-1386.html  

 

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

 

架構:

堡壘機架構

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

 

登錄界面和方法

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

界面1

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

界面3

界面4

 

 

輸入P/p可以查看自己擁有權限的服務器ip

 界面5     

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

界面6

 

日誌記錄

 

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

http://laoguang.blog.51cto.com  Free Linux, Share Linux

日誌1

日誌2

 

訪問控制和授權

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

管理員界面

主頁:

web1

查看用戶:

web2

添加用戶:

web3

主機列表:

主機1

添加主機:

主機2

權限列表:

權限1

權限2

 

添加權限:

權限添加

添加權限

後面的pptp和open***添加是我根據需要添加的,可以去掉

 

用戶登錄界面:

用戶界面

更改登錄密碼:

修改密碼

修改key密碼:

修改keypass

 

我把代碼放到 github了,有需要的朋友,可以去看看,大家也可以一同改進,有時間寫寫部署文檔

https://github.com/ibuler/jumpserver

本文出自 “Free Linux, Share Linux” 博客,請務必保留此出處http://laoguang.blog.51cto.com/6013350/1540080


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章