本文由vivo互聯網技術Peng Qiankun分享,原題“vivo 網絡端口安全建設技術實踐”,本文進行了排版和內容優化等。
1、引言
隨著互聯網業務的快速發展,網絡攻擊的頻率和威脅性也在不斷增加,端口是互聯網絡通信中的門戶,它是數據進出的必經之路,因此端口安全也逐漸成為了企業內網的重要防線之一。
然而網絡端口因其數量龐大、端口開放和關閉的影響評估難度大,業務影響程度高、以及異常識別技術復雜度高等特點給網絡端口安全防護帶來了一定的挑戰,如何對端口風險進行有效治理幾乎是每個企業安全團隊在攻擊面管理工作中持續探索的重點項。
技術交流:
2、系列文章
本文是IM通訊安全知識系列文章中的第14篇,此系列總目錄如下:
《即時通訊安全篇(一):正確地理解和使用Android端加密算法》
《即時通訊安全篇(二):探討組合加密算法在IM中的應用》
《即時通訊安全篇(三):常用加解密算法與通訊安全講解》
《即時通訊安全篇(四):實例分析Android中密鑰硬編碼的風險》
《即時通訊安全篇(五):對稱加密技術在Android平臺上的應用實踐》
《即時通訊安全篇(六):非對稱加密技術的原理與應用實踐》
《即時通訊安全篇(七):用JWT技術解決IM系統Socket長連接的身份認證痛點》
《即時通訊安全篇(八):如果這樣來理解HTTPS原理,一篇就夠了》
《即時通訊安全篇(九):你知道,HTTPS用的是對稱加密還是非對稱加密?》
《即時通訊安全篇(十):為什么要用HTTPS?深入淺出,探密短連接的安全性》
《即時通訊安全篇(十一):IM聊天系統安全手段之通信連接層加密技術》
《即時通訊安全篇(十二):IM聊天系統安全手段之傳輸內容端到端加密技術》
《即時通訊安全篇(十三):信創必學,一文讀懂什么是國密算法》
《即時通訊安全篇(十四):網絡端口的安全防護技術實踐》(* 本文)
3、認識網絡端口
在網絡空間中,標記一個服務資源實體最基本的兩個要素就是IP和邏輯端口,二者構建服務資源實體的唯一標志符。
3.1常見的端口分布劃分
1)知名端口(Well-Known Ports):知名端口即眾所周知的端口號,范圍從0到1023,這些端口號一般固定分配給一些服務。比如21端口分配給FTP服務,25端口分配給SMTP(簡單郵件傳輸協議)服務,80端口分配給HTTP服務,135端口分配給RPC(遠程過程調用)服務等等。
2)動態端口:動態端口的范圍從1024到65535,這些端口號一般不固定分配給某個服務,也就是說許多服務都可以使用這些端口。只要運行的程序向系統提出訪問網絡的申請,那么系統就可以從這些端口號中分配一個供該程序使用。比如1024端口就是分配給第一個向系統發出申請的程序。在關閉程序進程后,就會釋放所占用的端口號。
3.2另外,端口還會按照協議類型劃分
1)TCP端口:即傳輸控制協議端口,需要在客戶端和服務器之間建立連接,這樣可以提供可靠的數據傳輸。常見的包括FTP服務的21端口,Telnet服務的23端口,SMTP服務的25端口,以及HTTP服務的80端口等等。
2)UDP端口:即用戶數據包協議端口,無需在客戶端和服務器之間建立連接,安全性得不到保障。常見的有DNS服務的53端口,SNMP(簡單網絡管理協議)服務的161端口,QQ使用的8000和4000端口等等。
3)常用的網絡端口映射表:

▲ 常用網絡端口映射表
PS:更多常見端口請見《常見TCP/UDP端口號大全》。
4、端口被攻擊方式1:基于傳輸層的資源耗盡攻擊(DDoS)
該攻擊是非常有效的利用小流量沖擊大帶寬的攻擊手段,也是十分常見的攻擊方式。其本質還是利用TCP協議的鏈接建立(三次握手)及鏈接關閉(四次揮手)階段機制漏洞進行攻擊,鏈接資源耗盡攻擊方式主要分為以下幾個類。
1) SYN flood:
SYN flood是基于TCP協議產生的,它利用三次握手機制,制造多個半連接,消耗服務器的連接數。

▲ 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連接來消耗被攻擊目標的系統資源。
5、端口被攻擊方式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發一個字節,然后維持住這個連接不斷開。如果客戶端持續建立這樣的連接,那么服務器上可用的連接將一點一點被占滿,從而導致拒絕服務。
6、端口被攻擊方式3:基于端口發起的滲透測試
IP和端口作為應用暴露在公網的唯一入口,攻擊者通常發起滲透測試的起點便是通過掃描目標IP上的開放端口來發現系統的漏洞、薄弱點或安全隱患。
往往服務器系統本身或引入的應用服務就具備一定的脆弱性,攻擊者獲取到目標服務器的端口列表后會逐一去比對自己的武器庫進行漏洞利用嘗試。
以下是整理的常見端口利用清單及攻擊利用方式:
7、端口被攻擊的現實案例
7.1Equifax數據泄露案
Equifax數據泄露案落幕:七億賠款,索賠期限延長四年。

▲ 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端口進行攻擊的。
7.2愛爾蘭國家醫療保健局數據泄露事件

▲ 愛爾蘭衛生部
愛爾蘭國家醫療保健局(HSE)是負責為愛爾蘭居民提供醫療保健的機構。在2021年5月,該機構發生了一起數據泄露事件,影響到數百萬個患者的個人信息。
該事件起因于攻擊者通過暴露的VPN服務端口進行攻擊,成功登錄了HSE的IT系統。接著,攻擊者開始利用系統漏洞,并最終獲取了HSE服務器的管理員權限。
攻擊者隨后將一個WastedLocker勒索軟件的惡意代碼安裝在服務器上,并要求贖金以釋放數據。
在攻擊過程中,攻擊者還利用了HSE的Exchange電子郵件系統,以及HSE員工用于管理患者信息的軟件系統。這些系統中的漏洞使得攻擊者能夠訪問和竊取大量患者的個人信息,包括姓名、出生日期、地址、電話號碼、診斷信息和病歷等。
據稱,該事件涉及到的患者數量達到了數百萬。HSE在發現事件后,立即關閉了受影響的系統,并采取措施保護患者數據的安全。HSE還與執法部門和網絡安全專家合作,以追查攻擊者的身份和追回數據。截至目前,尚未有人或組織宣稱對此次攻擊負責。
8、端口風險安全防護思路
無論是Flood還是cc防護,一般都是借助一些安全設備及安全設備提供的策略定制能力,流量級的可以依靠運營商提供的抗D服務,如云盾、云堤,流量清洗服務等,面向應用層的攻擊可以借助防火墻,WAF,NIDS等安全設備/節點提供的能力。
無論是借助廠商還是自身建設抗D能力,都需要摸清企業所面臨的資源耗盡風險,一方面理清基礎架構的脆弱點,治理脆弱點。另一方面需要熟悉攻擊利用原理,制定針對性策略來進行異常檢測及攻擊緩解。
這里簡述一些對抗思路:例如上文提到SYN Flood攻擊,其本質上是利用TCP建立鏈接的機制漏洞,只要持續發送建立鏈接請求,服務端就會進行響應同時在連接池里記錄一條鏈接,那么依據該原理,防護思路就很明確了。
1)對發起源進行主動認證:

▲ 主動認證示意圖
如上圖所示:
- 1)當連續一段時間內去往目標服務器的SYN報文超過告警閾值后,抗DDoS設備啟動源認證機制。源認證機制啟動后,抗DDoS設備將會代替服務器向客戶端響應帶有正確確認序號的SYN-ACK報文;
- 2)如果這個源是虛假源,是一個不存在的地址或者是存在的地址但卻沒有發送過SYN報文,不會做出任何響應;
- 3)如果這個源是真實客戶端,則會向服務器發送ACK報文,對收到的SYN-ACK報文進行確認。抗DDoS設備收到ACK報文后,將該客戶端的源IP地址加入白名單。同時,抗DDoS設備會向客戶端發送RST報文,要求重新建立連接;
- 4)后續這個客戶端發出的SYN報文命中白名單直接通過。
2)首包丟棄:

▲ 首包丟棄示意圖
TCP的可靠性保證除了面向連接(三次/四次握手)之外,還體現在超時與重傳機制。TCP協議規范要求發送端每發送一個報文,就啟動一個定時器并等待確認信息;如果在定時器超時前還沒有收到確認,就會重傳報文。
首包丟棄功能就是利用了TCP的超時重傳機制,Anti-DDoS系統對收到的第一個SYN報文直接丟棄,然后觀察客戶端是否重傳。如果客戶端重傳了SYN報文,再對重傳的SYN報文進行源認證,即反彈SYN-ACK報文,這樣就可以大大減少反彈報文的數量。
3)混合使用,效果更佳:
實際部署時,一般將首包丟棄和源認證結合使用。防御SYN Flood攻擊時,先通過首包丟棄功能來過濾掉一些攻擊報文,當重傳的SYN報文超過告警閾值后,再啟動源認證。這樣就能夠減少反彈的SYN-ACK報文的數量,緩解網絡擁塞情況。對于虛假源攻擊,尤其是對于不斷變換源IP和源端口的虛假源攻擊,可以達到最佳防御效果。
4)針對連接耗盡場景,其防御思路可以總結為以下內容:
針對此攻擊會耗盡服務器的TCP連接資源的特點,對目的IP地址的新建連接速率和并發連接數分布進行統計,當新建連接速率或并發連接數大于閾值時,則觸發對源IP地址的相應檢查,當檢查發現異常時,將異常源IP地址加入黑名單,切斷其TCP流量。
具體是:
- 1)源IP地址新建連接速率檢查:啟動源IP地址新建連接速率檢查后,如果某個源IP地址在檢查周期內發起的TCP新建連接數大于閾值,則將該源IP地址判定為攻擊源;
- 2)源IP地址并發連接數檢查:啟動源IP地址并發連接數檢查后,如果某個源IP地址的TCP并發連接數大于閾值,則將該源IP地址判定為攻擊源;
- 3)慢速連接速率檢查:啟動慢速連接速率檢查后,統計同一源IP地址對同一目的IP地址的連接次數,在各統計時間間隔內,如果連續多次連接數相同并超過閾值,則判定為TCP慢速連接攻擊;
- 4)異常會話檢查:如果在檢查周期內,某個源IP地址發起的TCP異常會話的連接數大于閾值時,則將該源IP地址判定為攻擊源。
判定TCP異常會話依據如下:
- 1)空連接檢查:如果在檢查周期內,在某條TCP連接上通過的報文數小于閾值,則判定該連接為異常連接;
- 2)重傳會話檢查:當某條TCP連接上重傳報文數量大于閾值時,則判定該連接為異常連接;
- 3)慢啟動連接檢查:當某條TCP連接上通過的報文窗口小于閾值時,則判定該連接為異常連接;
- 4)當異常會話數超過一定數量時,將此源加入黑名單。異常會話數量可配置。
同樣的,應用層CC攻擊,按照相對應的原理進行內容檢查,這也是一般WAF或NIDS設備提供的基礎能力,這里就不再累述。
9、端口風險安全防護實踐
9.1概述
上段內容有提到的防護思路,理解協議的脆弱性原理再依據攻擊者的視角進行防護措施的定制,則會有比較清晰的防護思路和防護效果。
因此在端口安全治理實踐上,我們通過建立常態化端口發現機制以及常態化的漏洞掃描機制,將網絡端口及端口漏洞風險進行持續統一治理,同時建立基于流量的異常識別能力豐富基于行為的異常端口檢測能力,再輔以脆弱性管理以及端口生命周期管理(規范與流程)來形成整個端口安全治理體系。
9.2建立常態化的端口發現機制
使用網絡發現工具進行異常端口識別,設計思路是首先通過vscheduler中間件觸發掃描(支持兩種模式:一網段配置表全表網段掃描、二是:指定網段掃描),調用掃描工具(以nmap為例)進行掃描,通過增加兩個異步線程去讀取緩沖區內容以解決緩沖區擁塞問題,通過異步線程進行緩沖區內容讀取以及清理的同時通過錯誤緩沖區內容判斷是否掃描失敗。掃描結果輸出xml后通過dom4j進行解析,再進行分批保存,避免大事務以及減少jvm內存占用。最后把文件刪除,釋放存儲空間。

▲ 端口掃描架構圖
9.3建立常態化漏洞掃描機制
結合漏洞掃描工具及端口掃描工具構建自動化漏洞掃描平臺,漏掃平臺架構設計思路如下圖。

▲ 漏掃平臺架構圖
該系統架構的核心功能點包括:資產收集、Web漏洞掃描、依賴包掃描、端口掃描,輔助功能包括:掃描任務管理、風險管理等。
具體是:
- 1)資產收集:掃描的目標是公司的網絡資產,沒有資產無法進行掃描,資產不全面掃描的效果也會打折扣,所以平臺采集了多種途徑進行資產的采集,力求做到無遺漏,持續豐富采集的手段;
- 2)Web漏洞掃描:用于發現暴露在公網的站點、URL等Web資源是否存在漏洞;
- 3)依賴包掃描:用于發現線上業務是否使用了高危的Java依賴包;
- 4)端口掃描:用于發現公司服務器是否對公網開放了高危端口;
- 5)掃描任務管理:無論是依賴包掃描、端口掃描,都是通過創建掃描任務的形式來發起的,掃描任務分為立即掃描任務和定時掃描任務兩種類型,用戶可以創建立即掃描任務來一次性執行掃描,也可以創建定時任務來周期性執行掃描;
- 6)風險管理:對于掃描出來的Web、依賴包和端口風險,系統能夠對其處理狀態進行管理,以便安全工程師對風險狀態進行跟蹤和處理;
- 7)工單管理:對于掃描出來的Web、依賴包和端口風險,運營人員可對其創建工單,工單會對接到漏洞管理系統,通過漏洞管理系統的工單體系來對跟蹤風險的處理進程。
常用的漏掃工具:
- 1)Nmap:Nmap是一款常用的網絡發現和安全審計工具,支持多種掃描技術和掃描選項,可以快速掃描本地或遠程計算機上的開放端口和服務;
- 2)Masscan:Masscan是一款高速的端口掃描工具,可以在短時間內掃描數百萬個端口,支持TCP和UDP掃描,適用于大規模網絡掃描;
- 3)Zenmap:Zenmap是Nmap的圖形用戶界面(GUI)版本,可以方便地進行掃描選項配置和結果分析;
- 4)Angry IP Scanner:Angry IP Scanner是一款輕量級的端口掃描工具,支持多線程掃描和快速掃描本地網絡和遠程主機;
- 5)SuperScan:SuperScan是一款Windows平臺上的端口掃描工具,支持TCP和UDP掃描、多線程掃描、服務版本識別等功能;
- 6)Unicornscan:Unicornscan是一款高速的網絡掃描工具,支持TCP、UDP、ICMP等多種掃描方式和掃描選項;
- 7)Netcat:Netcat是一款多功能的網絡工具,其中包括端口掃描功能,支持TCP和UDP掃描,可以快速掃描本地或遠程計算機上的開放端口和服務。
9.4建立基于流量的異常識別能力
1)流量基線學習:
流量基線一般對五元組進行配置學習,通過對比應用流量基線,發現孤立的端口流量,對比端口開放庫以發現異常開放的端口,另外,可以同步建設告警能力與處置能力,在發現異常的第一時間切斷風險源頭。
▲ 基線學習
流量基線學習的核心表:
- 1)策略快照表:從離線同步過來的每個小時的服務維度的多種策略計算結果;
- 2)學習配置表:用于存放學習配置,包括各種策略的加解鎖條件(偏離閾值+次數)、偏離告警條件(偏離閾值+次數,可以預留出來,告警下迭代做);
- 3)當前策略集:服務維度自定義的的策略集;
- 4)策略狀態表:記錄各個服務節點的鎖狀態,偏離情況,策略生效時間等;
- 5)策略目標集:部分策略擁有自己的目標機器/服務結算邏輯,該表用于存放目標范圍,用于定時清理不在目標集的策略。
2)異常檢測:
通過對上節提到的流量基線結果的數據分析來識別網絡個體或群體的異常行為,一方面建立行為偏離預警機制,另一方面需要引入一些統計分析模型幫助建立閾值點,在偏離預警機制這塊我們做了一些架構實踐。
其邏輯簡單描述如下:
行為偏離比對邏輯:
總結四個關鍵點分別為:
- 1)配置文件:用于描述對應服務的流量特征;
- 2)上鎖:參數或配置文件在滿足預設規則條件下或人工干預下停止動態學習行為;
- 3)解鎖:參數或配置文件在滿足預設規則條件下或人工干預下重新開始動態學習行為;
- 4)偏離:指同一服務下某一時間切片的配置文件與已上鎖的配置文件的參數值對比,發生超過閾值的變化。
此外便是閾值的設定問題,通過引入統計模型的使用來幫助我們制定閾值。
常用的入侵檢測統計模型有以下幾類:
- 1)操作模型:該模型假設異常可通過測量結果與一些固定指標相比較得到,固定指標可以根據經驗值或一段時間內的統計平均得到,舉例來說,在短時間內多次針對某一端口嘗試建立連接失敗,則可能是針對端口的拒絕服務;
- 2)方差:這也是常用的模型,通過計算參數的方差,設定置信區間,當測量值超過置信區間的范圍時表明可能存在異常;
- 3)多元模型:操作模型的擴展,通過同時分析多個參數實現異常檢測;
- 4)馬爾柯夫過程模型:將每種類型的事件定義為系統狀態,用狀態轉移矩陣來表示狀態的變化,當一個事件發生時,如果狀態矩陣中該轉移的概率較小則可能是異常事件;
- 5)時間序列分析:將流量切片特征提取出來按照時間排成序列,如果一個新的請求或一個新的請求集合在該時間發生的概率較低,則該事件可能是異常。
在異常識別這塊通常也會引入基于圖的數據分析方法,針對網絡個體和網絡群體進行流量行為分析來發現異常行為,但應用起來相對較為復雜,也需要較高學習與實踐成本,這塊更多在NIDS的應用范疇,在此模塊不再贅述。
需要提醒的是以上這種方法還是存在一些局限,如爬蟲類服務,商業廣告類服務因為其服務的特殊性,以上機制比較難進行準確的基線生成,雖說無法解決100%的問題,但也能cover住大部分的服務類型。同樣的,在這個領域還需要持續探索來提升服務類型的覆蓋率以及異常檢測精度。
通過對上節提到的流量基線結果的數據分析來識別網絡個體或群體的異常行為,一方面建立行為偏離預警機制,另一方面需要引入一些統計分析模型幫助建立閾值點,在偏離預警機制這塊我們做了一些架構實踐。
9.5健全脆弱性管理能力實現風險追蹤與閉環
端口暴露的最核心問題就是脆弱性利用,因此健全基礎架構的脆弱性管理能力是阻斷外部威脅,有效控制風險的重要手段,我們通過建立統一的脆弱性管理平臺來建立業務關系流,脆弱性庫,資產三者的關聯關系,針對脆弱性做到持續發現,持續修復并將脆弱性作為安全告警關聯分析中的重要評價維度。脆弱性管理系統因其安全管理戰略特殊性,此處只能簡單介紹給讀者一些建設思路。
脆弱性管理系統核心功能模塊結構:
另外脆弱性關聯分析AVC是脆弱性管理系統的核心功能。
讀者可以從以下評價維度進行建設實踐:

9.6完善端口生命周期管理(規范與流程)
1)制定端口管理規范:
規范原則:
- 1)最小權限原則:端口開放遵循最小權限原則,只允許開放運行http和https的80/443端口,其他對外開放的端口必須有合理的業務理由,并且應該只開放業務需要的最小端口集合,由端口使用者提出工作聯絡單進行申請經審批同意后方可開放;
- 2)可審計原則:所有端口開放都必須有可追溯的對應申請依據、安全性評估依據、審批依據,不允許私自開放端口;
- 3)閉環原則:端口開放應實施閉環管理,在業務不再需要時,應及時關閉端口。
對端口進行明確定義:

規范內容可包含端口申請規范,端口使用規范,端口關閉規范以及明確的處罰規定。
2)端口生命周期管理:
實現從端口申請到端口關閉全流程管理:應用申請 → 端口記錄 → 開墻(映射)→ 安全節點納管 → 流量反饋 → 主動關閉 → 端口映射記錄清除 → 安全節點卸載 → 端口資源池回收。
3)持續評估:
結合異常端口發現機制和端口開放庫以及相關流程建立起持續端口風險評估機制,用以保障規范以及風險處置有效性的落地。
10、本文小結
端口作為應用對外暴露的主要入口,是應用暴露在公網上的標識,因此端口安全建設是企業信息安全防護體系中的重要一環,安全團隊需要詳細了解其內部網絡中使用的所有端口,以及開放和關閉的端口數量和情況,在理解協議的脆弱性原理基礎上制定合適的安全策略和措施。
同時再安全策略和措施制定的過程中,通過對各類端口掃描工具的使用,安全團隊可以快速獲取目標網絡中的端口開放情況。
然后根據掃描結果,采取合適的安全策略和措施,禁止不必要端口的開放或者采取過濾、加密等方式對端口進行保護。
在技術實踐上:建設常態化端口發現機制以及常態化的漏洞掃描機制,將網絡端口及端口漏洞風險進行持續統一治理,同時建立基于流量的異常識別能力豐富基于行為的異常端口檢測能力,再輔以脆弱性管理以及端口生命周期管理(規范與流程)來形成整個端口安全治理體系。
另外值得強調的是:全員網絡安全意識的水位決定整體安全態勢的下限,個人行為和錯誤配置通常是網絡漏洞的一大原因,因此安全管理團隊需要持續加強內部員工的網絡安全教育和培訓,提高其網絡安全意識和知識水平,建立全員參與的安全意識文化。
總的來說:可以通過規范,流程,技術和人員意識培訓來構建全面的網絡端口風險治理體系。
11、參考資料
[1] 什么是網絡端口?
[2] 常用的端口攻擊
[3] 常見TCP/UDP端口號大全
[4] 跟著動畫來學TCP三次握手和四次揮手
[5] CC攻擊原理及防范方法和如何防范CC攻擊
[6] 如果這樣來理解HTTPS原理,一篇就夠了
[7] 探討組合加密算法在IM中的應用
[8] 通俗易懂:一篇掌握即時通訊的消息傳輸安全原理
[9] IM聊天系統安全手段之通信連接層加密技術
[10] IM聊天系統安全手段之傳輸內容端到端加密技術
[11] 微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解
(本文已同步發布于:http://www.52im.net/thread-4644-1-1.html)