開源推薦|簡潔且強大的開源堡壘機OneTerm

ops-coffee發表於2024-03-18

在運維的日常工作中,登陸伺服器操作不可避免,為了更安全的管控伺服器,但凡有點規模的公司都會上線堡壘機系統,堡壘機能夠做到事前授權、事中監控、事後審計,同時也可以滿足等保合規要求。提到堡壘機,大夥第一時間能夠想到的可能是JumpServer,JumpServer經過了多年的發展已經十分的穩定和成熟,是非常優秀的開源專案,被大家廣泛所熟知,所以我今天就不寫JumpServer了,介紹另一個最近體驗到的亮點頗多的開源堡壘機:OneTerm

OneTerm基於4A理念,即認證(Authen)、授權(Authorize)、賬號(Account)、審計(Audit)設計開發,是維易科技開源的第二款運維自動化產品,之前開源的CMDB系統就廣受好評,我也深入體驗了,收穫頗多,在我自己收穫的同時也專門寫了篇文章「靈活多變功能強大的CMDB」介紹分享,以回饋開源社群。這一次看維易又開源了堡壘機系統OneTerm,我也體驗了一下,雖然專案開源不久,有一些不盡完善的地方,但整體完整度很高,無論是生產使用還是自己學習都比較合適

關於堡壘機,我之前也有開發過,還寫過一系列的文章來介紹堡壘機的實現方式和技術要點,這篇文章就結合我之前的堡壘機開發和使用經驗,來介紹下這個開源的堡壘機系統

系統介紹

資產管理

堡壘機主要就是對伺服器進行操作,資產管理主要是對伺服器的增刪改查和授權等管理,是堡壘機的基礎。支援基於資產樹來管理,支援批次授權,支援批次修改連線協議

接入時間的限制更是十分的靈活,不僅支援指定生效日期,同時也可以按照星期來配置生效時間,還支援選擇某一天的某個時間段,非常強大

支援與自家的CMDB聯動,可以同步CMDB的資料到堡壘機,這個就很實用了,基礎資源資料儲存在CMDB,堡壘機作為上層應用只是使用,不僅降低了配置的複雜度,同時也能確保CMDB資料的權威。這個同步操作很貼心

更為貼心的是你在新增資產樹節點時設定的連線協議、賬號授權、接入限制等配置可以直接作為節點下資源的預設配置,當在節點下新建資產時,會自動繼承該節點的授權配置,從而簡化新增資產時的配置,這個考慮也是十分人性化

可以看得出來開發團隊還是用心的,資源新增可以手動新增,也可以與CMDB同步,授權不僅支援單個資源授權,也支援批次授權和預設授權,點贊

閘道器

OneTerm支援配置閘道器,閘道器功能解決了部分環境無法直接連線的問題,連線會將閘道器作為跳板連線到目標資產,這樣可以覆蓋一些複雜的網路環境,很有用

安全

OneTerm支援會話超時時間設定,也支援設定過濾命令,危險命令無法執行,這樣提高了終端操作的安全,避免一些無意的或人為的破壞,增加會話安全

終端

對於堡壘機來說最重要的就是終端操作了,OneTerm已經支援了SSH、VPC和RDP多種協議的終端連線,支援命令列模式連線主機,也支援web終端連線主機,操作比較絲滑,該有的終端命令自動補全等功能也都有,體驗就跟其他客戶端無異

終端直接連線

網頁Web登陸終端

會話審計

堡壘機除了能夠終端登陸操作外,還有個比較重要等功能,那就是需要支援終端會話審計,包括檢視當前線上會話連線,實時監控當前線上會話,以及在發現當前會話有危險和不當操作時對當前線上會話下達強制斷開的指令,這些OneTerm也都是支援的

同時OneTerm也支援檢視歷史回話,對歷史回話進行回放、下載以及執行命令檢視等審計操作

命令檢視很有用,可以直接對使用者對會話操作進行快速檢索,不用去看錄影了,同時這個命令操作還會判定命令的風險等級,也很實用

日誌審計

資產授權和會話審計保障了主機連線操作的安全,除此之外,OneTerm也提供基礎的使用者登陸日誌記錄和完善的後臺操作記錄,所有操作均有記錄,全面保障系統安全

大盤

除了這些以上這些堡壘機必須的基礎的功能外,OneTerm也提供了個Dashboard大盤,可以全面掌握系統情況,包括連線、資產、會話、使用者、閘道器等資訊,還是圖表好看

推薦使用

我深入體驗了OneTerm,儘管它不是很完美,我也發現了還有一些有待最佳化提升的地方,但基於以下幾點我還是想推薦給你試試

  1. 簡潔且完善,專注堡壘機,堡壘機該有的都有,例如終端登陸,會話錄影、實時監控、強制斷開、閘道器、危險命令阻斷等都是堡壘機必要等核心功能,沒有其他亂七八糟跟堡壘機無關的功能,小巧易用

  2. GO語言開發,程式碼簡單易懂,專案初期的程式碼是寶藏,功能不是很複雜,程式碼編寫也都按照規範嚴格執行,結構和質量都比較高,沒有太多的技術債,比較適合想要學習GO或者是想要了解堡壘機是如何實現的夥伴去讀原始碼

  3. 社群比較活躍,尤其是微信群幾乎是有問必答,專案發版節奏也比較固定,幾乎每週都有最佳化更新或新功能上線,注重使用者體驗,微信群裡大夥提到的問題官方基本都有安排實現

  4. 與CMDB資料互通,統一平臺,打破資料孤島,一份資料多個系統使用,確保CMDB資料的權威,同時也簡化了堡壘機的配置和應用。專案維護主題為公司,相對來說比個人開發者更可靠和穩定

  5. 開源,這個無需多說,向開源致敬

線上體驗

最後附上專案Github地址:https://github.com/veops/oneterm

官方還提供有線上Demo可以體驗,README有地址和賬號密碼,如果想要進社群微信群也可以直接私信我或者加README裡的微信

覺得不錯的話請不要吝惜star,好專案值得被更多的人發現,同樣的希望維易OneTerm發展的越來越好,造福更多的運維同行

相關文章