開源堡壘機 Jumpserver V3.0

廣宏偉

Jumpserver項目發起者,資深運維工程師,畢業於著名的新東方烹飪學校,精通八大菜系.

1、爲何開始git

猶記得當初剛到新的公司,公司裏面沒有批量管理工具,新來程序猿同事,須要手動爲它們在服務器一個個添加帳號。github

過了一段時間,經理說服務器上的部署的應用沒了,查了半天history沒發現誰刪的。痛定思痛後決定購買堡壘機產品,經理諮詢報價後,說:老廣,據說你在學習Python,要不你來寫一個吧,後來就有了Jumpserver。web

至於爲何叫 Jumpserver,個人英語水平告訴我「跳」是’jump’, 「機」是’server’, 因而取名叫 Jumpserver。數據庫

2、功能介紹服務器

Jumpserver 是一款由Python編寫開源的跳板機(堡壘機)系統,實現了跳板機應有的功能。基於ssh協議來管理,客戶端無需安裝agent。框架

支持常見系統:運維

Redhat CentOS
Debian
SUSE Ubuntu
FreeBSD
其餘ssh協議硬件設備

功能:ssh

精確記錄操做命令

支持批量文件上傳下載

支持主機搜索登陸

支持批量命令執行(Ansible完成)

支持Web Terminal鏈接主機

支持Web端批量命令執行

支持錄像回放

支持硬件信息如cpu,內存等抓取

支持資產Excel導入導出

支持資產批量更改

支持系統用戶的批量推送(Ansible實現)

支持用戶,主機,用戶組,主機組,系統用戶混合細顆粒受權

支持sudo管理

支持命令統計和命令搜索

支持上傳下載文件審計

支持終止用戶鏈接

支持各類搜索

其餘

3、設計思路:工具

設計一個跳轉網關,全部登陸操做都從網關經過
網關具備模擬終端的功能,透明的中轉ssh命令,以支持Tab,Ctrl+A,Ctrl-E等快捷鍵,網關既能夠記錄操做日誌,又能夠審計操做命令。

設計一個認證模塊
爲了實現認證功能,須要有個認證模塊,認證信息存到數據庫,用戶使用跳板機首先須要認證。

設計一個受權框架
受權是跳板機不可缺乏的部分,受權就是用戶和資產的關係,將關係保存的數據庫,用戶登陸主機須要先查受權。

設計審計模塊
審計是爲了追蹤,咱們支持了在線監控,命令統計,錄像回放功能,供管理員審查。

用戶和主機模塊
跳板機脫離不了用戶和主機,因此這兩個部分是基本的模塊,另外咱們將主機模塊擴展,實現基本CMDB功能。

Web Terminal
如今都流行Web操做一切,因而咱們又實現了Web Terminal,供用戶直接在線連接服務器,這裏實現是用了Tornado來完成的,Tornado實現WebSocket特別簡單。

其它

4、功能截圖學習

登錄頁面

首頁

錄像回放

批量命令

web terminal

5、願景

咱們身爲運維er中的一員,運維工做讓咱們有了飯,有了衣,有了本身的家庭。咱們應當爲此作些微不足道的貢獻,哪怕就那麼一點點。

咱們但願各位在開發運維工做的朋友們也加入到開源的隊列中,分享本身的代碼。

咱們對項目的一直保持不變的熱情,咱們將來會在穩定性、實用性、文藝性方面作出努力,咱們也很是歡迎志同道合的朋友加入。

6、其它

Git地址:

https://github.com/ibuler/jumpserver

快速開始:

https://github.com/ibuler/jumpserver/wiki/Quickinstall

Wiki:

https://github.com/ibuler/jumpserver/wiki

Demo:

http://demo.jumpserver.org

交流羣:

399218702

7、感謝

感謝 廣宏偉,王墉,陳尚委,喻茂峻,劉正,柯連春 對項目的付出!感謝 馬哥教育 對項目指點!感謝 高效運維羣 對 項目的支持!感謝 小夥伴們 對項目的承認!

相關文章
相關標籤/搜索