1. 程式人生 > >雲時代,拿什麼保護你,我的“運維安全”

雲時代,拿什麼保護你,我的“運維安全”

雲時代

本文整理自 GOPS2017.北京站演講《雲時代網路邊界管理實踐及安全體系建設》,高效運維社群致力於陪伴您共同成長。

翟耐棟

奇虎360網路安全工程師
聚焦於基礎網路層面安全研究,熟悉網路裝置和協議是我們做安全的特長,研究方向包括網路協議、網路基礎設施的漏洞挖掘和安全加固,DDOS攻擊防禦,前瞻性網路安全架構研究。

眾所周知,隨著運營體量上漲,越來越多的服務商將業務提升到雲端,以得到更好的資料訪問以及更加便利的資料管理。但是,根據這些需求不斷的嵌入雲端,導致後面的一些運維量上特別大的提升。同時,在如此高的運維量前提下,這時候就隱藏著很多安全風險。

雲時代網路遷移過程中,如何能做到比較安全的網路運維,是我們所關心的問題。

簡單介紹一下我們組,我所在團隊隸屬於奇虎360資訊保安部。我們主要的工作是負責整個奇虎360集團的網路層面,包括IDC機房、伺服器、辦公網,整個網路的維護,還有安全的運維工作。

一. 主題

自動化運維

  • 安全防護理念
  • 自動化運維實踐

在安全防護理念這個環節,我們就目前雲時代背景下,如何進行安全運維,以及如何規避運維過程中可能會遇到的一些安全風險進行一些討論。

自動化運維實踐這部分,我會結合我們在日常運維過程中,如何去更加高效,更加安全的去執行一些網路的配置,以及實現一些網路安全管理。我會在這裡列出我們的經驗教訓,跟大家交流互動。

二. 安全防護理念

2.1 雲時代網路邊界管理面臨的挑戰

雲時代網路邊界管理面臨的挑戰,這些挑戰做網路安全運維的同事都會面臨到。

雲時代

2.1.1 業務網路龐大

首先是業務網路量龐大,我們維護著集團幾百個IDC機房和辦公網路,每天還要處理海量的業務訪問需求。不僅如此,同時我們還要兼顧整個集團和第三方合作公司,他們也要訪問我們的機房資料。這時候運營這個龐大網路就會帶來一些安全問題,比如如何配置一些安全策略,才能把安全風險掌控在可控範圍之內。

2.1.2 個人許可權需求差異

網路訪問過程中,每個人都有不同角色。

運維管理人員,他對整個網路的訪問可能需要相對來說比較高的許可權。比如可能需要一些遠端管理埠等等,這些埠對於非運維人員來說是非常危險的埠,因為一旦被黑客攻入這些埠,相當於他掌握了整臺伺服器許可權。所以這些埠是否應該對外開放,應該開放給哪些人,才能比較安全的把整個伺服器安全風險降到可控的範圍之內。這些都是安全部門需要考慮面對的問題。

另外是業務使用人員,他們需要的許可權比較小。比如只是單獨瀏覽一些介面,或者其他訪問許可權。這些許可權只需要簡單的訪問控制放行,這些部門審計相對來說比較少一些,但是他們的需求可能是最急迫的。比如可能非常急迫需要訪問一個頁面填寫一些資料,運維人員還可能有一些現場的運維活動,需要非常緊迫的開通一些訪問許可權。如何能夠在短時間內滿足業務關鍵的需求,並且能夠在相對安全的環境下及時執行這些安全需求。這些都是網路安全運維人員亟待解決的問題。

2.2 安防理念

鑑於上面提出的問題:

  • 怎樣將安全風險控制在可控的範圍內?
  • 如何確保許可權按其所需並及時開通?

這裡提出一些我們一直在踐行的安全防護理念。

2.2.1 全網訪問控制統一集中管理

  • 網路入口管理

在網路入口管理實現嚴格的管控和審批制度,包括辦公終端接入、測試機接入、WEB服務上線以及移動辦公接入。

公司移動辦公接入都要接入一些許可權比較低的網路,只允許一些經過安全審查的PC或者伺服器接入生產網路。

  • 安全域管理

安全域相對來說是整個安全防護體系中比較核心的部分,只有劃分比較完整清晰明瞭的安全域,才能知道防護重點在哪裡,才知道如何劃分集團之間訪問許可權,不同安全域之間需要不同的安全策略來進行訪問控制。

所有安全域應該劃分安全等級。另外還可以使用黑白名單的方式,進行安全域訪問控制管理。同時網路邊界可以使用一些傳統網路上的防護措施,比如對協議上做一些標識,實現整個網路訪問控制的流暢性,如TCP established,以及其他一些訪問許可權,可以加到網路出口上,實現比較好的單向訪問控制。

開放有限IP和埠。在傳統運維環境中,很多運維人員沒有必備的安全意識,就像一些業務人員申請開通執行著自己所負責業務伺服器的訪問許可權。這些需求在傳統網路工程師眼中是再正常不過的需求,卻常常隱藏著安全風險,他真的需要這個伺服器所有埠嗎?就算伺服器是這個人申請的,是這個人所屬的業務,其實他的業務僅僅佔用了這個伺服器上的有限埠,很多高危埠是他的業務不需要的。因此只給使用者開放他有限的訪問埠,這樣的話可以最小化攻擊面,並且能有效防止黑客和別有用心的人對信任域滲透。

安全域體系中有一個思想是非常重要的,按需開通,最小許可權的原則。只有這樣才能實現將內網攻擊面最小化和實現集中式的管理。

2.2.2 網路接入管控

網路接入管控是終端管理比較核心的東西,包括終端管理和安全基線管理。

管控

  • 終端安全管理
    在整個網路中最脆弱,風險級別最高的是個人終端的安全。因為終端環境是特別複雜的,不同終端可能因為不同人員所在的部門,不同業務產生不同的訪問需求,如何進行比較好的安全終端管理呢?

    通過在整個終端上部署安全終端軟體,終端安全軟體會自動根據安全基線評估終端狀態,來決定終端是否有許可權進入我們辦公網。

    我們維護著一套自己安全管理體系,類似奇虎安全助手。我們使用天擎終端安全管理,定時掃描終端安全狀況,包括是否打了補丁,是否開啟了一些終端安全策略。比如你的電腦是否24小時沒有關機,你的密碼是否足夠複雜,電腦上是否運行了一個我們不允許的安全指令碼,這些我們都會納入到終端管理上。

  • 安全基線管理
    沒有安全基線就無從談怎麼做,只有劃清一個安全基線在哪裡,才能對整個公司安全狀態做到評估,以及具體的網路安全實施。基線指的是,比如你的電腦應該滿足什麼條件才能接入辦公網;又比如你的電腦需要打了補丁之後才能接進來。另外是你的業務,如果你只是辦公電腦,你可以接入辦公網。但是你的電腦一旦從事測試業務,就改變了這個電腦的性質,你的測試業務可能會危害到辦公內網環境。這時候就需要把你遷移到另外網路做網路隔離或者使用安全基線來進行網路隔離。

    我們終端安全用的是我們的企業版的終端安全管理軟體,360自己的。跟大家用的很類似,只不過是終端安全管理系統在我們自己手裡管控著,我們可以通過終端安全管理系統下發我們制定的安全策略,來確保我們所有終端都在一個安全基線之上。

2.2.3 業務流量分析

業務流量

  • 全流量映象,違規流量分析
  • 威脅情報檢測

我們在整個IDC機房實現了伺服器shelllog,會進行定期review,會對shelllog預警進行處理。

另外對內網進行流量映象,持續監控和溯源。對內網威脅情報以及侵入檢測日誌進行實時分析,並且對異常資訊通過郵件或者社交軟體進行通知,能夠及時發現。

三. 自動化運維實踐

下面根據我們內網安全遇到的一些問題給出我們的一些解決方案。

3.1 如何高效的進行安全運營

自動化運維

3.1.1 ACL管理

  • 需求多樣
  • 配置繁瑣
  • 失效管理

我們部門專注於網路層的網路安全維護,針對網路層方面,在訪問控制權限管理方面,是佔我們工作量比較大的部分。

在傳統的網路運維過程中,網路訪問許可權控制管理可能會把持在安全運維部門,實現使用者從一端到另一端鏈路訪問通暢。但是在滿足使用者的訪問鏈路通暢的前提下,更重要的要符合集團公司的一些安全行為準則。

通過跟自動化運維部門同事進行合作,將整個內網環境和其他IDC環境路由全部打通。通過開通訪問控制權限實現整個鏈路上的比較好的使用者訪問。

在這個地方,ACL管理就會成為整個安全運營過程中比較重要的環節,它可能佔運維工作量比較大的部分。

在ACL管理方面,會遇到了這些問題,ACL需求是非常多樣的,每個人對每個地方的訪問都有可能不一樣。如何讓他們能夠比較好的瞭解自己的需求是什麼,有時候有一些緊急專案,他們可能需要緊急開通到一些許可權訪問。以及一些比較敏感的機房像金融、遊戲,這裡面的資料更加敏感。需要這些敏感資料的訪問許可權應該怎麼去分配?應該怎麼把控?這些都是安全運維人員日常需要不斷考慮的問題。

ACL配置非常繁瑣,在網路運維中,很多裝置都是需要遠端登入到網路裝置後臺,敲一些密碼、命令,開通其中一條網路裝置到另一條網路裝置的網路鏈路。但是在我們現在網路環境下,大家慢慢把資料都遷到雲上面,整個網路特別龐大,特別複雜。有的時候,一條鏈路可能要經過跳轉到七八臺裝置上。如何做這些鏈路上連通性檢查,另外你怎麼知道哪個裝置開通這些鏈路滿足需求,這些都是需要考慮的問題。

ACL失效管理,業務對ACL需求生命週期不會很長,除了一些公共伺服器,像人力資源之類的公共伺服器可能有永久的ACL來進行業務的滿足,一些很多臨時業務需求,申請的ACL都不會超過半年。這會導致核心裝置上的訪問控制列表越來越龐大,而且裡面大部分訪問鏈路控制列表是冗餘的,沒有意義的。這些沒有意義的訪問鏈路控制列表如果保留在那裡,就可能會產生一些網路風險,比如一個新的人接替原來這個人的IP,就會獲得原來的網路許可權,有可能會為後面的攻擊開通一些通道,而且這些許可權是不可審計的。因此,怎麼把ACL及時刪掉是安全運維中更加重要的部分。

3.1.2 網路管理

  • 網路管理
  • 視覺化管理
  • 安全審計記錄

一個比較好的網路管理介面,可以使安全運維人員對網路執行狀況有直觀的瞭解。

視覺化管理可以使得一些高階資訊還有比較高危的隔離網站資訊,會直觀的呈現在安全運維人員眼前,在做安全運維的時候,會更加留意這些比較敏感的資訊,可能會做一些規避。比如安全運維工單體系中,清晰標明哪些是核心資產,哪些是網端資產,申請人申請這些資產的時候,對申請人進行標註,他們申請過程中會比較小心,如果真的沒有這些許可權的話,他們會放棄申請。

安全審計記錄的留檔,網路運營中更加重要,也容易被忽略的就是安全審計部分,一個好的安全審計,才能使網路安全運營是完整的閉環。如果只是在開通過程中做到非常小心,非常謹慎,但是人總會疏漏和錯誤,這些錯誤如果不能及時修改,就可能會影響到業務。有可能你的錯誤是很小的部分,但是越重要的業務潛伏期就越長。所以一個好的安全審計就會使安全運維變得更加完善,使得整個防護變得更加強悍。

3.2 三個決策博弈

在整個網路安全運維中,無非是三個決策的博弈。

首先是使用者和應用者,從他們角度來看,業務需求是最重要的部分,如何及時滿足我的業務需求,保證業務連通性。

站在安全部門角度,他們優先考慮的是訪問需求是否滿足安全策略,是否滿足最小細膩度的限制,所在的安全域是否滿足我這個安全域訪問規則,另外這些需求是可審計可量化。

站在網路運維人員角度,如何能夠更加及時,更加穩定,更加安全,更加高效快速部署網路需求,實現能讓業務滿意。

相對來說,我們整個安全部門都是在做這三個角色之間的博弈,如何讓使用者,讓網路運維人員,讓安全部門都滿意的結果。

自動化的平臺是比較好的解決方案,我們在自動化平臺裡輸入一些安全的準則,然後讓系統自動去判斷,這個申請是否滿足我們的一些安全基線。這樣的話,自動化平臺可以將網路運維人員工作量降低特別多,還可以通過系統執行安全部門設立的安全策略,來保證一定程度上的安全訪問,業務聯通安全性。

3.3 訪問控制矩陣

自動化運維

如果要實現比較好的自動化運維平臺,相對完整的訪問控制矩陣就是比較重要的環節。

只有有一個比較好的訪問控制矩陣,才能給程式設定一些訪問控制權限。

比如將整個辦公網分為伺服器區、工作區、測試區、IDC服務區、Internet。IDC機房安全等級相對來說比較低,因為它的網路連通性比較好,而且還對公網提供一些服務。IDC機房是禁止向辦公網端發起訪問的,辦公網是要和IDC機房隔離的。

有一些業務測試網段跟其他網段混為一團的話,測試網就會導致一些安全隱患,所以測試網應該要單獨獨立出來。

伺服器網段,我們內網會有一些比較重要的伺服器放在內網,不是放在IDC機房和雲端,這些內網伺服器的訪問許可權是否可以直接開放給辦公網,都是通過一些安全規則設定。

辦公網段,可以根據每個部門不同需求開放一些相應許可權,但是對於伺服器網或者對於IDC機房訪問許可權是按需開通,只要有需求,而且需求是合理的都是可以開通的。既然辦公網要求如此之高,如何保證辦公網安全呢?這就是前面所說的終端防護,通過終端上安裝一些相對比較認可的安全終端軟體,對終端安全狀態進行評估,這樣就可以實現比較好的閉環網路訪問控制。

只有劃分了安全域之後,需要對不同安全域進行訪問控制規則,這樣才能進行相應的自動化管控。

3.4 高效自動化ACL變更管理

  • ACL策略申請審批開通失效處理業務流
  • 自動化管理,精細粒度控制,控制到人
  • 實時掌控ACL開通,到期情況和使用情況

這是一個自動化運維平臺。在自動化運維過程中,對整個網路訪問申請的工單,我們對它的整個路徑做了計算,將整個機房,整個幾萬臺網絡裝置都全部納入到管理平臺中,通過一些手段可以讀取到它們的配置,並且把它們的鏈路進行視覺化計算,運維人員進行工單開通過程中,是完全脫離底層網路裝置的,可以直接在上面進行網路開通,這樣就大大加快了網路開通的速度,滿足了運維工程師穩定高效的要求。

該平臺還包括了一些安全審計,以及開通錯誤的回滾功能。同時我們整個申請流程還會經過安全部門的審批,查詢每一條工單資訊,來通過這些工單資訊去匹配,這些工單資訊發起方是否滿足了公司資訊保安的需求,工單開通是否有風險,是否需要標註。

另外能夠實時掌控ACL開通進度,業務人員需要知道工單開通進度,什麼時候可以具體執行我的業務,都可以通過這個平臺進行實時查詢,並且可以通過郵件系統,進行工單的交流以及工單的催促或者問題上的交流。

此外這個平臺還實現一些工單的失效管理,在申請訪問許可權的時候,都會讓使用者填寫訪問許可權需要的生命週期多久,在訪問許可權生命週期,系統會自動記錄這個生命週期,當訪問許可權到達生命週期前幾天的時候,我們會通過郵件通知使用者,提醒他的訪問許可權將到期,是否進行續租申請。

自從使用了這些比較高效的管理和變更平臺,被投訴率急劇減少了,工作量大幅度提高了,都能及時處理完需求。同時,這還是一個簡單的安全告警系統,我們會在公司網路安全頁面上,定期推送一些白名單,進行全網掃描,一旦發現一些高危漏洞告警,也會在這個平臺專門頁面上展示出來。這時我們會通過網路審計人員查詢這些日誌,通過視覺化比較明顯知道網路拓撲在哪個地方有高危漏洞,及時發現並進行相應修改。

3.5 全網安全策略和安全邊界視覺化

ACL

  • 三層網路裝置邊界視覺化
  • 安全域視覺化
  • 訪問控制策略自定義視覺化
  • ACL實時分析優化
  • 違規流量實時監測
  • 使用者和許可權管理,安全審計管理,確保所有操作可追溯

我們有了網路安全邊界視覺化後,可以使運維人員瞭解網路拓撲狀態,包括哪些節點需要隔離,哪些節點可以連通都會非常簡單。

安全域視覺化,可以對網路有統籌瞭解,並且更加有利於安全矩陣劃分。

訪問控制策略視覺化,可以使安全審計人員能夠更加直觀和便捷進行網路審計。

ACL實時分析優化可以實現動態網路環境,機房裝置變化比較快,需要動態適應。我們整個機房每天或者每個季度都會不停上架下架上百臺裝置,包括IDC機房租賃退租,造成了我們整個網路環境一直是動態變化的。我們可以通過一些自動化平臺手段,動態的計算這些安全路徑,來確保整個網路開通,還有之前的安全鏈路,都在我們的掌控之中。還可以實時計算這些路徑,確保這些原來開通的路徑還有開通的許可權不會重新更改它的安全等級。比如我原來一些安全策略,因為整個機房業務更改,從一些非敏感等級提到敏感等級,這時候裡面的訪問許可權需要重新審計,進行review,查詢是否涉及一些高危風險,這個平臺都可以自動做到。

目前我們視覺化會把網路邊界裝置匯入到平臺,跟這些平臺進行計算。我們網路邊界會這樣劃分的辦公網、測試網、IDC機房。IDC機房還會劃分出每個片區IDC機房,因為IDC機房服務結構相對比較簡單,上面是伺服器,還有核心交換機,交換機我們會設立一些策略,跟其他交換機連起來。辦公網其實也是相對來說大的結構,上面是核心交換機,把整個辦公網都包含起來,辦公網可能會跟測試網也是用交換機隔離,這些交換機通過業務劃分。我們會匯出來,在整個平臺上做一個豎狀圖,可以知道安全邊界。這些安全邊界訪問許可權就是這些核心裝置上的相應訪問策略。

錄入的話我們有自動錄入程式,也支援手動錄入。網路變化比較頻繁的是IDC,辦公網相對說還比較穩定。IDC機房的變化是相對於伺服器上架下架,對網路裝置變化還是比較少的。因此網路邊界相對比較穩定。

3.6 按需訪問控制管理

全部實現訪問控制後,我們就會實現這樣的流程使用者申請、審批、開通、驗證、失效管理、審計。

在使用者申請流程中,我們會提供使用者申請比較良好的介面,可以實現全策略匹配,通過預登入確認這個人賬號是自己的,申請的許可權也是自己的。

審批、開通、驗證過程。審批首先會到自己上級那邊,上級會對網路服務需求業務進行確認,這裡引入上級這個概念,基於一部分分責的考慮,我們認為上級對業務安全負有一定責任的,只有把整個安全風險分攤到業務部門,他們才會認真審視自己的業務流程。如果所有業務都集中在安全部門的話,業務部門會有一些偷奸耍滑的動作,他們會絞盡腦汁規避集團的安全策略。一旦跟他們共同分擔安全風險的時候,業務部門是比較積極的跟你做一些安全方面的溝通。到管理員審批,他會根據集團的一些量化的安全訪問行為準則對工單進行審批。之後策略就會自動推送到網路裝置上,整個流程就會打通。

還有失效管理和審計,我們有流量管理平臺,對內網訪問流量進行實時審計。如果這項策略超過三個月或者六個月沒有流量,我們就會把它進行展示,跟安全運維部門同事進行溝通,進行相應刪除,這樣就會比較好的做到冗餘流量的管理。

3.7 流量分析

 流量分析

我們會把流量映象匯出,通過流量採集器,匯入資料叢集中。

對流量主要做兩件事情:第一,匹配流量,通過匹配流量,計算這些流量和ACL匹配,確保這些流量是否命中過或者ACL最近是否有流量經過。

怎麼判斷一個ACL是否還有效呢?我們當時想過多個方案,包括跟廠家溝通。在思科、華為裝置上開通訪問控制的技術功能,但是我們發現除了思科之外,其他廠商裝置開通該功能後,負載比較大。因為網路裝置很舊,很少更換,還不能重啟,一旦開啟,造成負載之後,網路是很危險的。後面我們找到一個比較好的方案,360集團有一個天眼系統,我們跟天眼部門合作,在集團內部部署天眼系統,通過天眼對網路進行分析,我們發現通過天眼得出來的資料可以對整個網路資料進行刪減,我們刪減了幾萬個訪問冗餘策略。

我們會把所有配置匯入管理伺服器中,管理伺服器就會由網路運維平臺提供資料支援,包括策略下發、回收等等。

四. 總結

總結一下,我們可以通過一些自動化運維平臺來實現一些安全上的網路風險管控,首先制定一個明晰網路安全邊界,通過白名單形式管理ACL,這樣的話,可以最小化我們的一些安全攻擊面。

按需開通和最小許可權,同時,要實現對整個訪問控制權限生命週期的管理,針對具體的業務制定具體的一些小的策略。

另外是安全域劃分,統一集中管理還有云端邊界開放埠和伺服器管理,以及策略路由。策略路由我們主要實現一些隔離網段的時候,一些隔離業務會通過策略路由的形式,把它直接跟我們其他網路進行相應隔離。

在實踐過程中我們還遇到了一些問題,第一個問題,資產劃分。最開始的是沒有所謂資產等級劃分的,這在我們做一些安全防護的時候遇到比較頭疼的,這個資產到底值不值得我們去花這麼大的工夫,建立一個流程保護起來。到後面我們花了大概半年時間,對整個集團所有資產進行一次梳理,梳理後跟每個業務部門leader進行確認,跟每個業務線的人確認,最後得出一批核心資產。這些資產一旦受到攻擊,將會影響整個集團正常業務的運轉。所以我們只需要確保核心資產不受到影響,其他一些保護我們會建一個相對安全低的等級。

安全定製和安全審計,我們最開始跟一些網路運維同事一樣,重運營不重審計。等我們跟集團內審部門有過一些合作之後,就會發現其實很多問題在我們開通的過程中並沒有發現,在後面的審計中才慢慢暴露出來。審計其實是安全運營比較重要的環節。

還有安全域,之前我們所有安全劃分多少圍繞集團執行聯絡起來的。

另外是基於人的管理,我們之前做的是將訪問策略跟管理域進行掛鉤,現在我們是基於每個人IP進行管理,這樣資料獲取比較容易。但是我們覺得跟IP相關的話,這個IP會給任何人,所以還是覺得最好的內網管理是基於人的管理。

原文來自微信公眾號:高效運維