天天看點

中南民族大學基于JumpServer建構規範、便利的運維安全體系

作者:FIT2CLOUD飛緻雲

編者注:在2022年8月20日舉辦的“2022 JumpServer開源堡壘機城市遇見· 武漢站”活動中,中南民族大學高傑欣老師分享了題為《”安全穩定規範“的技術看護人——JumpServer在中南民族大學的運用》的主題演講。以下内容根據本次演講整理而成。

中南民族大學是直屬于國家民族事務委員會的綜合性普通高等學校,坐落在武漢南湖之濱。學校建立于1951年,是新中國成立後最早建立的民族高校之一。目前,中南民族大學共有56個民族的全日制博士、碩士、大學、預科等各類學生29000餘人。

高傑欣老師供職于中南民族大學現代教育技術中心資訊服務部,負責資料中心、計算平台、存儲平台、資料庫、資訊安全、網絡建設等領域的工作,出版了《跟着開源系統部署學運維——用開源建構資訊化應用》一書,在資訊安全領域擁有豐富的經驗。作為一位資深的開源愛好者,高傑欣是在網上偶然發現了JumpServer開源堡壘機,後來成為深度使用的忠實使用者。

中南民族大學基于JumpServer建構規範、便利的運維安全體系

中南民族大學 高傑欣老師

資訊化規模與運維的迫切性

中南民族大學的數字化校園建設起步于“十二五”期間,距今有十餘年的時間,陸續建設了資料中心、核心校園網絡、軟體平台、雲基礎設施等。

按照”大平台、中系統、微應用“的應用建設模式,中南民族大學實作了從無到有的校園資訊化建設,搭建了多個高校應用的垂直系統。随着學校資訊化規模的不斷擴張,催生出了很多運維管理的問題。

學校擁有數量衆多的大平台、中系統以及很多的微應用,面對不同的垂直管理和使用者資訊素養,我們所面臨的運維問題是非常繁瑣和複雜的。

與大多數的企業使用者類似,學校很多的應用系統是由第三方公司進行承建的。高校的資訊化部門主要管理的是大平台以及基礎設施,所有的應用系統則主要由各個業務部門進行建設和管理。業務部門的人員對于應用的維護能力十分薄弱,基本上沒有人能夠獨立承擔技術方面的運維。面對如此衆多的應用系統,管理起來十分痛苦。

基礎設施方面,學校也大量應用了各種開源平台,比如使用JumpServer進行安全運維,使用Nginx進行網站釋出及負載均衡,使用VSFTP進行檔案服務,使用Shibboleth進行身份認證內建等。我們使用開源的工具來進行整個基礎設施的運作和維護,整體運維的環境比較複雜。

為什麼需要審計?

高校資訊化體系的規模化營運需要具有高效的運維機制,作為管理者我們必須對使用者的操作行為進行審計,主要原因有以下兩點:

■ 技術限制

雖然我們制定了很多運維規範制度,但是這些規範制度對于一些第三方的服務公司而言基本上毫無限制力。盡管我們對于每一個運維的細節(包括Windows系統和Linux系統)都有非常詳細的描述,但是很少人會去檢視和遵循這些運維的規範和制度,甚至有很多工程師還會使用一些“rm -f”這樣的高危指令,導緻系統事故的發生,這種情況屢禁不止。

同時,第三方人員的管控也比較困難,經常會出現人員變更所導緻的沒有進行有效的運維交接和制度傳遞,重複性的教育訓練浪費了我們大量的時間和精力。是以,我們需要審計來進行技術限制,保證系統的安全和規範,有效落實運維規範制度,限制使用者的高危操作行為,嚴格控制使用者通路,有效開展第三方人員管理和控制運維時間,提升運維效率。

■ 使用者體驗

學校裡面很多業務部門的老師對技術不太了解,每當有問題出現都會先來問IT部門,比如找不到入口、找不到插件和用戶端、網絡中斷等問題,這其中也存在一些不遵守運維規範的狡辯。是以,對使用者的操作行為進行審計對于提高使用者體驗和效率也是至關重要的。

堡壘機的選型過程

面對以上的痛點和運維審計的需求,我們也花了不少精力去市面上尋找堡壘機的方案,并進行測試試用,經曆了一個比較艱難的選型過程。關于堡壘機的選型,我們主要關注的是以下幾點:

1. 功能操作體驗

市面上的堡壘機在功能上都大同小異,但是深度使用之後會發現在實際操作過程中的細節和體驗相差是很大的。有些是限制性的條件不同,有些是達到的效果不同,是以實際使用下來的使用者體驗是十分重要的一個方面;

2. 專用的用戶端插件

有的堡壘機使用的是浏覽器插件,而谷歌、火狐這類浏覽器一般都更新得比較快,這樣一來,就會經常發生浏覽器插件更新而跟堡壘機無法适配的情況,導緻連接配接不上用戶端。還有一些廠家的堡壘機對運維的用戶端也有限制,嚴格限制其版本,需要使用沒有更新檔的用戶端,這無疑會造成非常大的安全隐患。

是以,我們要求堡壘機要有獨立的安裝程式與作業系統相适配,并且有專用的浏覽器插件與其相容,運維的用戶端程式和版本也要與專用用戶端相适配;

3. 産品授權方式

市場上的各類堡壘機廠家的授權方式也有所不同。有些是按授權對象類型出售硬體裝置,有些是按資産數量進行軟體授權,還有一些廠家會按照叢集模式授權高可用部署的License。是以我們也要根據實際的資産情況和需求來選用比較合适的産品授權方式;

4. 更新疊代速度

IT技術總是在不斷地更新和進步,我們所使用的很多應用群組件也經常在更新。有些堡壘機功能疊代保守,技術架構固化陳舊。我們遇到過有的堡壘機供應商說程式已經固定沒法更改,但是讓所有的運維行為都“服從”于堡壘機的版本限制顯然是不現實的。

還有的堡壘機疊代周期很長,甚至是按年來更新的,這樣很難适應快速疊代的IT系統環境,這種承諾可以了解為一種拖延。是以,堡壘機的更新疊代速度也是我們重點考察的一個因素;

5. 核心關注點

我們首要關注的就是堡壘機需要滿足等保2.0規範的要求,并且能夠提供相關的資質證明。其次,堡壘機自身的安全性和抗打擊能力也十分重要。很多管理者喜歡把堡壘機“關在”内網,畢竟直接把衆多的“雞蛋”放在一個籃子裡,這十分考驗堡壘機産品自身的安全性。還有對權限控制顆粒度的要求,高校的權限管控十分分散,是以堡壘機對權限配置的集權和分權需要滿足一定的彈性和顆粒度,實作更細分化的權限配置。

綜合以上幾個次元,我們認為JumpServer堡壘機基本上能夠滿足我們的實際需求,并最終選用了JumpServer堡壘機。

JumpServer的部署架構

中南民族大學采用的是“雙主機”部署方案,将兩套JumpServer分别部署在兩個機房,取消所有傳統入口,結合高可用的特性,采用一個VIP入口,實作了“雙主機、雙機房、單入口”的部署模式。

應急情況下更需要進行運維審計,“雙主機”的部署方案能夠確定無論何時單邊機房或者單台裝置出現了問題,都能夠正常進行運維和審計。同時,這樣的部署方式取消了所有的傳統入口,達到了嚴管、嚴控遠端通路行為的目的,有效提高了系統的安全性。

另外,針對關鍵、普通或者臨時的多運維類型,我們也結合了JumpServer企業版和開源版兩種方案,搭建了多個JumpServer的環境來滿足不同的安全需求和安全位置的運維。

比較典型的場景就是學生實驗環境入口。學生做實驗使用的是Linux的VNC或Windows桌面,傳統場景是一人一台PC機,而我們全部采用虛拟機,批量給學生開放并用JumpServer作為實驗環境入口,免去了VNC和RDP用戶端。

中南民族大學基于JumpServer建構規範、便利的運維安全體系

▲ 中南民族大學JumpServer部署架構圖

JumpServer的實踐應用

部署JumpServer之後,我們也經過了一段時間的磨合和适應,期間也遇到了一些管控問題,總結了一些運維心得想跟大家分享一下:

■ 管控痛點

1. 基于Web的運維界面

在使用JumpServer之前,我們使用的是一套比較适合高校的Web VPN系統,主要用來進入資訊系統以及通路知網資料庫、學科資訊等。通過Web VPN來實作普通頁面的通路需求,的确具有一定的開放性。但作為運維人員,我們需要管理防火牆、WAF、WebLogic等外部界面,而Web VPN做不到對這些應用賬号的管理,我們也不希望關鍵資産的應用賬号密碼被外部人員知道,存在一定的安全隐患;

2. 基于用戶端的運維界面

為了統一規範以及控制權限,對PL/SQL、SOL Server等資料庫的維護工作我們希望能夠通過H5頁面進行。另外,同一個共享的用戶端通過RemoteApp可以通路同一個IP的多個不同賬号,賬号密碼會記憶在用戶端上。這種情況下,使用者的操作行為依然是比較難以管控的;

3. RemoteApp的安全隐患

RemoteApp是JumpServer中基于微軟的一套終端服務架構,在實際使用時存在一定的安全隐患。我們通過RemoteApp開放了資料中心重要的運維端口,這樣一來,同一個共享的RDP可以通路所有運維對象的端口。如果JumpServer出現問題,那麼就會對系統的安全性造成很大的影響。

除此之外,RDP共用賬号還會有檔案洩漏的危險,RDP獨立賬号也可能會導緻大量的垃圾檔案,并且存在一定的洩漏風險。這種情況就超出了JumpServer的監管範圍,需要管理者從更高的層面進行審視和管控;

4. 運維人員的操作惡習

在平時運維操作的人員中,有很多人員在進行運維修改、删除等操作的時候從不彙報和溝通,随意進行操作,還會臨時修改和變更資訊卻不進行還原,也不承認是自己操作的,類似這些的運維操作惡習無疑會帶來非常大的安全隐患。

在等保、護網要求越來越高的情況下,我們需要通過JumpServer的一些手段來解決這些管控痛點。

我們通過設定Proxy代理伺服器來限制RemoteApp通路的運維對象和運維端口,以確定使用者在通過JumpServer啟用RemoteApp通路的位置都在管理者的控制之下。我們還設定了一套腳本機制,也就是流量控制政策,控制使用者隻能通路某個目的IP和端口,也在很大程度上提高了系統通路的安全性。

除此之外,通過JumpServer本身的AutoHotkey元件可以進行自動登入的設定,啟動RemoteApp時,自動運作AutoHotkey腳本。這樣一來,使用者就無法對用戶端登入界面進行操作,避免使用者自行選填和記住密碼,進一步限制了使用者的變更行為,提高了安全性。

中南民族大學基于JumpServer建構規範、便利的運維安全體系

▲ 通過JumpServer限制RemoteApp政策圖

■ 運維心得

作為JumpServer的長期使用者,結合我們在高校資訊系統運維的實際工作經驗,我們也收獲了一些心得:

1. 審計高可用

越有故障就越需要運維,越是搶修情況越需要審計。我們需要對使用者的所有操作行為進行記錄和審計,以便發生故障後進行分析和查找原因,并對一些使用者的惡性行為追溯定責。在技術層面,通過“雙主雙活”互為備援的方式,確定網絡的正常運作;

2. 管理主體

通過對技術領域劃分來進行管轄範圍的分隔,主要通過JumpServer的租戶隔離功能來實作,厘清責任和技術風格;

3. 拓展場景

除了關鍵裝置、普通裝置場景的運維,我們也對其他應用場景進行了拓展。比如學生實驗環境入口場景,可以多建立幾個開源環境,設定短期和臨時業務的獨立環境,拓展更多的使用場景;

4. 技術限制行為

由于通過制定運維條款對使用者行為的限制力很低,是以我們需要通過技術來限制所有使用者的運維操作行為,對所有的運維操作進行錄屏錄像,記錄操作指令、檔案傳輸作為審計依據。面對惡性操作、違規操作,通過錄像回放功能就可以進行查證和追溯。同時,管理者或者審計員可以對操作進行實時監控,發現違規操作,立即切斷,保障系統的安全運作。

JumpServer的亮點功能

随着對JumpServer堡壘機使用的深入,我們也發現了一些亮點功能,這裡羅列如下:

1. 租戶隔離

我們可以通過JumpServer的租戶隔離功能實作分部門的資産和權限管理。關鍵IT資産的權限是由我們資訊中心進行管理的,而對于像計算機學院、電信學院這些與計算機有大量互動的學院,他們也擁有自己的小機房和伺服器,我們可以通過JumpServer把對應的管理權限下放。

這樣一來,各學院的組織管理者就可以自主管理本學院的資産、使用者和權限,滿足了細顆粒度權限配置的要求;

中南民族大學基于JumpServer建構規範、便利的運維安全體系

▲ JumpServer租戶隔離架構圖

2. 多因子認證

多因子認證功能也是我們經常使用的功能,主要是通過開啟多因子認證來進行最高管理者的身份認證,保證最高管理者權限的安全控制;

3. 企業微信認證

JumpServer除了支援賬号密碼登入外,同樣也支援企業微信、釘釘、飛書的掃碼登入。其中,企業微信認證是我們經常使用的一種認證登入方式,通過企業微信登入JumpServer,一定程度上降低了密碼暴露的風險;

4. Web頁面運維

對于MySQL和PostgreSQL資料庫的運維,我們盡可能使用H5界面進行運維,減少使用專門的用戶端和RemoteApp;

5. 高危指令複核

管理者對使用者的高危指令進行複核,一定程度上減少了一些無關的事務性以及急救的工作,確定了系統的安全性;

6. 資産管理及授權

通過JumpServer進行資産管理還是非常友善的,我們可以批量對資産樹節點進行授權,授權方式很靈活,有效提高了運維管理工作的效率。

寄語

作為一個使用開源軟體多年的技術愛好者,希望未來JumpServer能夠持續發揚開源的精神,發展開源生态,用開源占領市場,服務更多的IT人;在功能演進方面,希望在未來JumpServer能夠持續完善功能,實作更細粒度的功能以及開關化和交叉配置的能力。

作為一款重要的運維安全審計工具,JumpServer扮演的是“照妖鏡”的角色。事實上,JumpServer作為技術人員業務運維和管理人員行為的工具和規範,希望在未來能夠更好地管理人員的操作行為。

最後,希望JumpServer在堅持技術安全底線的同時,不斷擴大開放。這也是開源最大的優點,開源軟體使用人群規模巨大,也就更容易發現産品的問題,更快地去進行修正和改進。

希望JumpServer越來越好,服務更廣泛的使用者群體,提供更優秀的運維管理體驗。

繼續閱讀