vivo 網路埠安全建設技術實踐

2023-11-03 12:01:02

作者:vivo 網際網路安全團隊 - Peng Qiankun

隨著網際網路業務的快速發展,網路攻擊的頻率和威脅性也在不斷增加,埠是應用通訊中的門戶,它是資料進出應用的必經之路,因此埠安全也逐漸成為了企業內網的重要防線之一,然而網路埠因其數量龐大、埠開放和關閉的影響評估難度大,業務影響程度高、以及異常識別技術複雜度高等特點給網路埠安全治理帶來了一定挑戰,如何對埠風險進行有效治理幾乎是每個企業安全團隊在攻擊面管理工作中持續探索的重點項。

一、網路埠簡介

在網路空間中,標記一個服務資源實體最基本的兩個要素就是IP和邏輯埠,二者構建服務資源實體的唯一標誌符。

1.  常見的埠分佈劃分:

(1)知名埠(Well-Known Ports)

知名埠即眾所周知的埠號,範圍從0到1023,這些埠號一般固定分配給一些服務。比如21埠分配給FTP服務,25埠分配給SMTP(簡單郵件傳輸協定)服務,80埠分配給HTTP服務,135埠分配給RPC(遠端過程呼叫)服務等等。

(2)動態埠(Dynamic Ports)

動態埠的範圍從1024到65535,這些埠號一般不固定分配給某個服務,也就是說許多服務都可以使用這些埠。只要執行的程式向系統提出存取網路的申請,那麼系統就可以從這些埠號中分配一個供該程式使用。比如1024埠就是分配給第一個向系統發出申請的程式。在關閉程式程序後,就會釋放所佔用的埠號。

2.  另外,埠還會按照協定型別劃分

(1)TCP埠

即傳輸控制協定埠,需要在使用者端和伺服器之間建立連線,這樣可以提供可靠的資料傳輸。常見的包括FTP服務的21埠,Telnet服務的23埠,SMTP服務的25埠,以及HTTP服務的80埠等等。

(2) UDP埠

即使用者封包協定埠,無需在使用者端和伺服器之間建立連線,安全性得不到保障。常見的有DNS服務的53埠,SNMP(簡單網路管理協定)服務的161埠,QQ使用的8000和4000埠等等。

3.  常用的網路埠對映表

圖片

圖1 常用網路埠對映表

PS:更多詳細埠規範可查閱:http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

二、埠利用方式

2.1 基於傳輸層的資源耗盡攻擊(DDoS)

該攻擊是非常有效的利用小流量衝擊大頻寬的攻擊手段,也是十分常見的攻擊方式。其本質還是利用TCP協定的連結建立(三次握手)及連結關閉(四次揮手)階段機制漏洞進行攻擊,連結資源耗盡攻擊方式主要分為以下幾個類別:

(1) SYN flood

SYN flood是基於TCP協定產生的,它利用三次握手機制,製造多個半連線,消耗伺服器的連線數。

圖片

圖2 SYN flood 示意圖

攻擊者偽造源IP地址向伺服器傳送大量的SYN報文,請求建立三次握手。由於傳送源IP是偽造的,所以伺服器迴應了SYN-ACK報文後,源IP並不會再繼續迴應ACK報文進行確認。這樣伺服器就會維持一個龐大的等待列表,不停地重試傳送SYN-ACK報文,同時佔用著大量的資源無法釋放。這就導致,被攻擊的伺服器被惡意半連線佔滿,不再接受新的SYN請求,而合法使用者無法完成三次握手建立TCP連線。另外,隨著對抗技術的持續演進,攻擊者通過肉雞或Ddos服務發起大規模分散式真實IP集中進行資源耗盡攻擊,此類攻擊成功率更高。

(2)SYN-ACK Flood

通訊雙方通過三次握手建立一個TCP連線的過程中,SYN-ACK報文出現在第二次握手中,是用來確認第一次握手的。一方收到SYN-ACK報文後,首先會判斷該報文是不是屬於三次握手範疇之內的報文。如果都沒有進行第一次握手就直接收到了第二次握手的報文,那麼就會向對方傳送RST報文,告知對方其發來報文有誤,不能建立連線。SYN-ACK Flood攻擊正是利用了這一點,攻擊者利用工具或者操縱殭屍主機,向目標伺服器傳送大量的SYN-ACK報文,這些報文都屬於憑空出現的第二次握手報文,伺服器忙於回覆RST報文,導致資源耗盡,無法響應正常的請求。

(3)ACK Flood

在TCP三次握手的過程中,ACK報文出現在第三次握手中,用來確認第二次握手中的SYN-ACK報文。ACK Flood攻擊指的是攻擊者利用工具或者操縱殭屍主機,向目標伺服器傳送大量的ACK報文,伺服器忙於回覆這些憑空出現的第三次握手報文,導致資源耗盡,無法響應正常的請求。

(4)FIN/RST Flood

TCP互動過程中還存在FIN和RST報文,FIN報文用來關閉TCP連線,RST報文用來斷開TCP連線。這兩種報文也可能會被攻擊者利用來發起DDoS攻擊,導致目標伺服器資源耗盡,無法響應正常的請求。

(5)TCP connection Flood

TCP是面向連線的協定,通訊雙方必須保持連線狀態,並且通過確認、重傳、滑動視窗等機制,保證資料傳輸的可靠性和穩定性。攻擊者利用TCP協定的上述特點,在TCP連線上做文章,利用TCP連線來消耗被攻擊目標的系統資源。例如,攻擊者與被攻擊目標完成三次握手後,立刻傳送FIN或RST報文,釋放本端連線,同時快速發起新的連線,以此來消耗被攻擊目標的系統資源,或者攻擊者與被攻擊目標完成三次握手後,傳送很少的報文來維持連線狀態,通過這種異常的TCP連線來消耗被攻擊目標的系統資源。

2.2 基於應用層的資源耗盡攻擊(cc)

CC攻擊的原理就是攻擊者控制某些主機不停地發大量封包給對方伺服器造成伺服器資源耗盡,一直到宕機崩潰。CC主要是用來消耗伺服器資源的,每個人都有這樣的體驗:當一個網頁存取的人數特別多的時候,開啟網頁就慢了,CC就是模擬多個使用者(多少執行緒就是多少使用者)不停地進行存取那些需要大量資料操作(就是需要大量CPU時間)的頁面,造成伺服器資源的浪費,CPU長時間處於100%,永遠都有處理不完的連線直至就網路擁塞,正常的存取被中止。以下介紹一些cc攻擊的常用變種。

(1)基於HTTP-header慢速cc攻擊

Web應用在處理HTTP請求之前都要先接收完所有的HTTP頭部,因為HTTP頭部中包含了一些Web應用可能用到的重要的資訊。攻擊者利用這點,發起一個HTTP請求,一直不停的傳送HTTP頭部,消耗伺服器的連線和記憶體資源。抓包資料可見,攻擊使用者端與伺服器建立TCP連線後,每30秒才向伺服器傳送一個HTTP頭部,而Web伺服器再沒接收到2個連續的\r\n時,會認為使用者端沒有傳送完頭部,而持續的等等使用者端傳送資料。

(2)基於HTTP-body慢速cc攻擊

攻擊者傳送一個HTTP POST請求,該請求的Content-Length頭部值很大,使得Web伺服器或代理認為使用者端要傳送很大的資料。伺服器會保持連線準備接收資料,但攻擊使用者端每次只傳送很少量的資料,使該連線一直保持存活,消耗伺服器的連線和記憶體資源。抓包資料可見,攻擊使用者端與伺服器建立TCP連線後,傳送了完整的HTTP頭部,POST方法帶有較大的Content-Length,然後每10s傳送一次隨機的引數。伺服器因為沒有接收到相應Content-Length的body,而持續的等待使用者端傳送資料。

(3)基於HTTP-read慢速cc攻擊

使用者端與伺服器建立連線並行送了一個HTTP請求,使用者端傳送完整的請求給伺服器端,然後一直保持這個連線,以很低的速度讀取Response,比如很長一段時間使用者端不讀取任何資料,通過傳送Zero Window到伺服器,讓伺服器誤以為使用者端很忙,直到連線快超時前才讀取一個位元組,以消耗伺服器的連線和記憶體資源。抓包資料可見,使用者端把資料發給伺服器後,伺服器傳送響應時,收到了使用者端的ZeroWindow提示(表示自己沒有緩衝區用於接收資料),伺服器不得不持續的向用戶端發出ZeroWindowProbe包,詢問使用者端是否可以接收資料。

剖析其原理,本質上還是對任何一個開放了HTTP存取的伺服器HTTP伺服器,先建立了一個連線,指定一個比較大的content-length,然後以非常低的速度發包,比如1-10s發一個位元組,然後維持住這個連線不斷開。如果使用者端持續建立這樣的連線,那麼伺服器上可用的連線將一點一點被佔滿,從而導致拒絕服務。

2.3 基於埠發起的滲透測試

IP和埠作為應用暴露在公網的唯一入口,攻擊者通常發起滲透測試的起點便是通過掃描目標IP上的開放埠來發現系統的漏洞、薄弱點或安全隱患。

往往伺服器系統本身或引入的應用服務就具備一定的脆弱性,攻擊者獲取到目標伺服器的埠列表後會逐一去比對自己的武器庫進行漏洞利用嘗試。

以下是整理的常見埠利用清單及攻擊利用方式:

圖片

圖3 常見的埠利用清單

三、基於埠利用的案例

Equifax資料洩露案落幕:七億賠款,索賠期限延長四年

圖片

圖4 EQUIFAX (圖片來源:globalnews.ca

2017年9月,Equifax系統遭到駭客攻擊,導致超過1.45億美國消費者的個人資訊,以及1520萬英國居民的記錄和8000名加拿大使用者的資料遭到洩露,其中包括姓名、地址、出生日期、身份證號、護照、駕照、信用卡等資訊。事件曝光後,Equifax股票暴跌30%,相當於蒸發掉50億美元市值,成為史上罕見大型資料洩露事件之一。2018年12月,美國國會眾議院的政府改革暨監督委員會發布報告指出,因Equifax公司組織架構的缺陷,導致公司部門間的溝通失效,從而致使大量的關鍵系統修補程式沒有被及時開發,其中包括一個超19個月未做更新的漏洞。最終,駭客對Equifax進行了長達76天的攻擊,先後265次從公司獲取未被加密的資料。該事件最初是由於Equifax未修補針對Apache Struts的漏洞而導致的,攻擊者利用該漏洞存取了Equifax的資料庫,這個漏洞是通過開放的80埠進行攻擊的。

愛爾蘭國家醫療保健局資料洩露事件

圖片

圖5 愛爾蘭衛生部 

(圖片來源:https://www.sohu.com/a/480716983_121123851

愛爾蘭國家醫療保健局(HSE)是負責為愛爾蘭居民提供醫療保健的機構。在2021年5月,該機構發生了一起資料洩露事件,影響到數百萬個患者的個人資訊。該事件起因於攻擊者通過暴露的VPN伺服器埠進行攻擊,成功登入了HSE的IT系統。接著,攻擊者開始利用系統漏洞,並最終獲取了HSE伺服器的管理員許可權。攻擊者隨後將一個WastedLocker勒索軟體的惡意程式碼安裝在伺服器上,並要求贖金以釋放資料。在攻擊過程中,攻擊者還利用了HSE的Exchange電子郵件系統,以及HSE員工用於管理患者資訊的軟體系統。這些系統中的漏洞使得攻擊者能夠存取和竊取大量患者的個人資訊,包括姓名、出生日期、地址、電話號碼、診斷資訊和病歷等。據稱,該事件涉及到的患者數量達到了數百萬。HSE在發現事件後,立即關閉了受影響的系統,並採取措施保護患者資料的安全。HSE還與執法部門和網路安全專家合作,以追查攻擊者的身份和追回資料。截至目前,尚未有人或組織宣稱對此次攻擊負責。

四、埠風險防護及治理實踐

4.1 埠風險防護

無論是Flood還是cc防護,一般都是藉助一些安全裝置及安全裝置提供的策略客製化能力,流量級的可以依靠運營商提供的抗D服務,如雲盾、雲堤,流量清洗服務等,面向應用層的攻擊可以藉助防火牆,WAF,NIDS等安全裝置/節點提供的能力。無論是藉助廠商還是自身建設抗D能力,都需要摸清企業所面臨的資源耗盡風險,一方面理清基礎架構的脆弱點,治理脆弱點;另一方面需要熟悉攻擊利用原理,制定針對性策略來進行異常檢測及攻擊緩解。

這裡簡述一些對抗思路,例如上文提到SYN Flood攻擊,其本質上是利用TCP建立連結的機制漏洞,只要持續傳送建立連結請求,伺服器端就會進行響應同時在連線池裡記錄一條連結,那麼依據該原理,防護思路就很明確了:

 

1. 對發起源進行主動認證

圖6 主動認證示意圖

  1. 當連續一段時間內去往目標伺服器的SYN報文超過告警閾值後,抗DDoS裝置啟動源認證機制。源認證機制啟動後,抗DDoS裝置將會代替伺服器向用戶端響應帶有正確確認序號的SYN-ACK報文;

  2. 如果這個源是虛假源,是一個不存在的地址或者是存在的地址但卻沒有傳送過SYN報文,不會做出任何響應;

  3. 如果這個源是真實使用者端,則會向伺服器傳送ACK報文,對收到的SYN-ACK報文進行確認。抗DDoS裝置收到ACK報文後,將該使用者端的源IP地址加入白名單。同時,抗DDoS裝置會向用戶端傳送RST報文,要求重新建立連線;

  4. 後續這個使用者端發出的SYN報文命中白名單直接通過。

2. 首包丟棄

圖片

圖7 首包丟棄示意圖

TCP的可靠性保證除了面向連線(三次/四次握手)之外,還體現在超時與重傳機制。TCP協定規範要求傳送端每傳送一個報文,就啟動一個定時器並等待確認資訊;如果在定時器超時前還沒有收到確認,就會重傳報文。

首包丟棄功能就是利用了TCP的超時重傳機制,Anti-DDoS系統對收到的第一個SYN報文直接丟棄,然後觀察使用者端是否重傳。如果使用者端重傳了SYN報文,再對重傳的SYN報文進行源認證,即反彈SYN-ACK報文,這樣就可以大大減少反彈報文的數量。

混合使用,效果更佳

實際部署時,一般將首包丟棄和源認證結合使用。防禦SYN Flood攻擊時,先通過首包丟棄功能來過濾掉一些攻擊報文,當重傳的SYN報文超過告警閾值後,再啟動源認證。這樣就能夠減少反彈的SYN-ACK報文的數量,緩解網路擁塞情況。對於虛假源攻擊,尤其是對於不斷變換源IP和源埠的虛假源攻擊,可以達到最佳防禦效果。

針對連線耗盡場景,其防禦思路可以總結為以下內容:

針對此攻擊會耗盡伺服器的TCP連線資源的特點,對目的IP地址的新建連線速率和並行連線數分佈進行統計,當新建連線速率或並行連線數大於閾值時,則觸發對源IP地址的相應檢查,當檢查發現異常時,將異常源IP地址加入黑名單,切斷其TCP流量。

  • 源IP地址新建連線速率檢查:啟動源IP地址新建連線速率檢查後,如果某個源IP地址在檢查週期內發起的TCP新建連線數大於閾值,則將該源IP地址判定為攻擊源。

  • 源IP地址並行連線數檢查:啟動源IP地址並行連線數檢查後,如果某個源IP地址的TCP並行連線數大於閾值,則將該源IP地址判定為攻擊源。

  • 慢速連線速率檢查:啟動慢速連線速率檢查後,統計同一源IP地址對同一目的IP地址的連線次數,在各統計時間間隔內,如果連續多次連線數相同並超過閾值,則判定為TCP慢速連線攻擊。

  • 異常對談檢查:如果在檢查週期內,某個源IP地址發起的TCP異常對談的連線數大於閾值時,則將該源IP地址判定為攻擊源。

判定TCP異常對談依據如下:

  • 【空連線檢查】:如果在檢查週期內,在某條TCP連線上通過的報文數小於閾值,則判定該連線為異常連線。

  • 【重傳對談檢查】:當某條TCP連線上重傳報文數量大於閾值時,則判定該連線為異常連線。

  • 【慢啟動連線檢查】:當某條TCP連線上通過的報文視窗小於閾值時,則判定該連線為異常連線。

  • 當異常對談數超過一定數量時,將此源加入黑名單。異常對談數量可設定。

同樣的,應用層CC攻擊,按照相對應的原理進行內容檢查,這也是一般WAF或NIDS裝置提供的基礎能力,這裡就不再累述。

4.2 埠風險治理實踐

上段內容有提到的防護思路,理解協定的脆弱性原理再依據攻擊者的視角進行防護措施的客製化,則會有比較清晰的防護思路和防護效果,因此在埠安全治理實踐上,我們通過建立常態化埠發現機制以及常態化的漏洞掃描機制,將網路埠及埠漏洞風險進行持續統一治理,同時建立基於流量的異常識別能力豐富基於行為的異常埠檢測能力,再輔以脆弱性管理以及埠生命週期管理(規範與流程)來形成整個埠安全治理體系。

1. 建立常態化的埠發現機制

使用網路發現工具進行異常埠識別,設計思路是首先通過vscheduler中介軟體觸發掃描(支援兩種模式:一網段設定表全表網段掃描、二是:指定網段掃描。),呼叫掃描工具(以nmap為例)進行掃描,通過增加兩個非同步執行緒去讀取緩衝區內容以解決緩衝區擁塞問題,通過非同步執行緒進行緩衝區內容讀取以及清理的同時通過錯誤緩衝區內容判斷是否掃描失敗。掃描結果輸出xml後通過dom4j進行解析,再進行分批儲存,避免大事務以及減少jvm記憶體佔用。最後把檔案刪除,釋放儲存空間。

圖8 埠掃描架構圖

2. 建立常態化漏洞掃描機制

結合漏洞掃描工具及埠掃描工具構建自動化漏洞掃描平臺,漏掃平臺架構設計思路如下圖:

圖片

圖9 漏掃平臺架構圖

該系統架構的核心功能點包括:資產收集、Web漏洞掃描、依賴包掃描、埠掃描,輔助功能包括:掃描任務管理、風險管理等。

  1. 【資產收集】:掃描的目標是公司的網路資產,沒有資產無法進行掃描,資產不全面掃描的效果也會打折扣,所以平臺採集了多種途徑進行資產的採集,力求做到無遺漏,持續豐富採集的手段。

  2. 【Web漏洞掃描】:用於發現暴露在公網的站點、URL等Web資源是否存在漏洞。

  3. 【依賴包掃描】:用於發現線上業務是否使用了高危的Java依賴包。

  4. 【埠掃描】:用於發現公司伺服器是否對公網開放了高危埠。

  5. 【掃描任務管理】:無論是依賴包掃描、埠掃描,都是通過建立掃描任務的形式來發起的,掃描任務分為立即掃描任務和定時掃描任務兩種型別,使用者可以建立立即掃描任務來一次性執行掃描,也可以建立定時任務來週期性執行掃描。

  6. 【風險管理】:對於掃描出來的Web、依賴包和埠風險,系統能夠對其處理狀態進行管理,以便安全工程師對風險狀態進行跟蹤和處理。

  7. 【工單管理】:對於掃描出來的Web、依賴包和埠風險,運營人員可對其建立工單,工單會對接到漏洞管理系統,通過漏洞管理系統的工單體系來對跟蹤風險的處理程序。

常用的漏掃工具:

  • 【Nmap】:Nmap是一款常用的網路發現和安全審計工具,支援多種掃描技術和掃描選項,可以快速掃描本地或遠端計算機上的開放埠和服務。

  • 【Masscan】:Masscan是一款高速的埠掃描工具,可以在短時間內掃描數百萬個埠,支援TCP和UDP掃描,適用於大規模網路掃描。

  • 【Zenmap】:Zenmap是Nmap的圖形化使用者介面(GUI)版本,可以方便地進行掃描選項設定和結果分析。

  • 【Angry IP Scanner】:Angry IP Scanner是一款輕量級的埠掃描工具,支援多執行緒掃描和快速掃描本地網路和遠端主機。

  • 【SuperScan】:SuperScan是一款Windows平臺上的埠掃描工具,支援TCP和UDP掃描、多執行緒掃描、服務版本識別等功能。

  • 【Unicornscan】:Unicornscan是一款高速的網路掃描工具,支援TCP、UDP、ICMP等多種掃描方式和掃描選項。

  • 【Netcat】:Netcat是一款多功能的網路工具,其中包括埠掃描功能,支援TCP和UDP掃描,可以快速掃描本地或遠端計算機上的開放埠和服務。

3. 建立基於流量的異常識別能力

(1)流量基線學習

流量基線一般對五元組進行設定學習,通過對比應用流量基線,發現孤立的埠流量,對比埠開放庫以發現異常開放的埠,另外,可以同步建設告警能力與處置能力,在發現異常的第一時間切斷風險源頭。

圖片

圖10 基線學習

流量基線學習的核心表:

  1. 【策略快照表】:從離線同步過來的每個小時的服務維度的多種策略計算結果

  2. 【學習設定表】:用於存放學習設定,包括各種策略的加解鎖條件(偏離閾值+次數)、偏離告警條件(偏離閾值+次數,可以預留出來,告警下迭代做)

  3. 【當前策略集】:服務維度自定義的的策略集

  4. 【策略狀態表】:記錄各個服務節點的鎖狀態,偏離情況,策略生效時間等

  5. 【策略目標集】:部分策略擁有自己的目標機器/服務結算邏輯,該表用於存放目標範圍,用於定時清理不在目標集的策略

(2)異常檢測

通過對上節提到的流量基線結果的資料分析來識別網路個體或群體的異常行為,一方面建立行為偏離預警機制,另一方面需要引入一些統計分析模型幫助建立閾值點,在偏離預警機制這塊我們做了一些架構實踐,其邏輯簡單描述如下:

圖片

行為偏離比對邏輯:

圖片

總結四個關鍵點分別為:

  • 組態檔,用於描述對應服務的流量特徵

  • 上鎖,引數或組態檔在滿足預設規則條件下或人工干預下停止動態學習行為

  • 解鎖,引數或組態檔在滿足預設規則條件下或人工干預下重新開始動態學習行為

  • 偏離,指同一服務下某一時間切片的組態檔與已上鎖的組態檔的引數值對比,發生超過閾值的變化

此外便是閾值的設定問題,通過引入統計模型的使用來幫助我們制定閾值,常用的入侵檢測統計模型有以下幾類:

  • 操作模型:該模型假設異常可通過測量結果與一些固定指標相比較得到,固定指標可以根據經驗值或一段時間內的統計平均得到,舉例來說,在短時間內多次針對某一埠嘗試建立連線失敗,則可能是針對埠的拒絕服務

  • 方差:這也是常用的模型,通過計算引數的方差,設定置信區間,當測量值超過置信區間的範圍時表明可能存在異常

  • 多元模型:操作模型的擴充套件,通過同時分析多個引數實現異常檢測

  • 馬爾柯夫過程模型:將每種型別的事件定義為系統狀態,用狀態轉移矩陣來表示狀態的變化,當一個事件發生時,如果狀態矩陣中該轉移的概率較小則可能是異常事件

  • 時間序列分析:將流量切片特徵提取出來按照時間排成序列,如果一個新的請求或一個新的請求集合在該時間發生的概率較低,則該事件可能是異常

在異常識別這塊通常也會引入基於圖的資料分析方法,針對網路個體和網路群體進行流量行為分析來發現異常行為,但應用起來相對較為複雜,也需要較高學習與實踐成本,這塊更多在NIDS的應用範疇,在此模組不再贅述。

需要提醒的是以上這種方法還是存在一些侷限,如爬蟲類服務,商業廣告類服務因為其服務的特殊性,以上機制比較難進行準確的基線生成,雖說無法解決100%的問題,但也能cover住大部分的服務型別,同樣的,在這個領域還需要持續探索來提升服務型別的覆蓋率以及異常檢測精度。

4. 健全脆弱性管理能力實現風險追蹤與閉環

埠暴露的最核心問題就是脆弱性利用,因此健全基礎架構的脆弱性管理能力是阻斷外部威脅,有效控制風險的重要手段,我們通過建立統一的脆弱性管理平臺來建立業務關係流,脆弱性庫,資產三者的關聯關係,針對脆弱性做到持續發現,持續修復並將脆弱性作為安全告警關聯分析中的重要評價維度。脆弱性管理系統因其安全管理戰略特殊性,此處只能簡單介紹給讀者一些建設思路:

脆弱性管理系統核心功能模組結構

圖片

另外脆弱性關聯分析AVC是脆弱性管理系統的核心功能,讀者可以從以下評價維度進行建設實踐:

圖片

5. 完善埠生命週期管理(規範與流程)

(1)制定埠管理規範

規範原則

  • 最小許可權原則:埠開放遵循最小許可權原則,只允許開放執行http和https的80/443埠,其他對外開放的埠必須有合理的業務理由,並且應該只開放業務需要的最小埠集合,由埠使用者提出工作聯絡單進行申請經審批同意後方可開放。

  • 可審計原則:所有埠開放都必須有可追溯的對應申請依據、安全性評估依據、審批依據,不允許私自開放埠。

  • 閉環原則:埠開放應實施閉環管理,在業務不再需要時,應及時關閉埠。

對埠進行明確定義

圖片

圖11 埠定義範例

規範內容可包含埠申請規範,埠使用規範,埠關閉規範以及明確的處罰規定。

(2)埠生命週期管理

實現從埠申請到埠關閉全流程管理:應用申請 → 埠記錄→ 開牆(對映)→ 安全節點納管 → 流量反饋 → 主動關閉 → 埠對映記錄清除→ 安全節點解除安裝→ 埠資源池回收

(3)持續評估

結合異常埠發現機制和埠開放庫以及相關流程建立起持續埠風險評估機制,用以保障規範以及風險處置有效性的落地。

五、總結

埠作為應用對外暴露的主要入口,是應用暴露在公網上的標識,因此埠安全建設是企業資訊保安防護體系中的重要一環,安全團隊需要詳細瞭解其內部網路中使用的所有埠,以及開放和關閉的埠數量和情況,在理解協定的脆弱性原理基礎上制定合適的安全策略和措施。同時再安全策略和措施制定的過程中,通過對各類埠掃描工具的使用,安全團隊可以快速獲取目標網路中的埠開放情況。然後根據掃描結果,採取合適的安全策略和措施,禁止不必要埠的開放或者採取過濾、加密等方式對埠進行保護。在技術實踐上,建設常態化埠發現機制以及常態化的漏洞掃描機制,將網路埠及埠漏洞風險進行持續統一治理,同時建立基於流量的異常識別能力豐富基於行為的異常埠檢測能力,再輔以脆弱性管理以及埠生命週期管理(規範與流程)來形成整個埠安全治理體系。另外值得強調的是,全員網路安全意識的水位決定整體安全態勢的下限,個人行為和錯誤設定通常是網路漏洞的一大原因,因此安全管理團隊需要持續加強內部員工的網路安全教育和培訓,提高其網路安全意識和知識水平,建立全員參與的安全意識文化。總的來說,可以通過規範,流程,技術和人員意識培訓來構建全面的網路埠風險治理體系。

 

參考文獻:

  1. 《網路埠安全治理的研究與實踐》(姜雲飛,高國權,張全超,2019)

  2. 《基於漏洞掃描的網路埠安全治理研究》(黃珂,楊明,張鵬飛,2017)

  3. 《基於流量監測的網路埠安全治理技術研究》(胡彩玲,申偉,周婷婷,2016)

  4. 《網路埠安全治理技術研究》(程顯霞,鄭曉寧,2014)

  5. 《網路埠安全治理策略研究》(朱紹軍,李彥霞,陳琳琳,2013)

  6. vivo網際網路埠開放管理規範

  7. 什麼是網路埠?

  8. 【漏洞分析】DDOS攻防分析(四)——TCP篇

  9. CC攻擊原理及防範方法和如何防範CC攻擊 

  10. 常用的埠攻擊

  11. TCP連線耗盡攻擊與防禦原理

  12. DDOS之TCP連線耗盡攻擊與防禦