劉 梅,蘇賜錠,謝婉娟
(1.華南理工大學信息網絡工程研究中心,廣東 廣州 510640;2.廣發證券股份有限公司信息技術部,廣東 廣州 510627)
當前互聯網規模日益龐大,互聯網安全問題日益復雜,非法攻擊行為日益頻繁,中大規模企事業單位通常都規劃部署多數據中心,因此存在眾多的互聯網邊界出入口提供對客服務。
為了快速截斷非法攻擊對網絡產生的影響,需要及時禁止非法用戶或非法攻擊源頭對網絡的訪問,其中顯著有效的方法則是通過IP 地址封堵,使得特定IP 地址喪失與其他IP 的通信功能,對互聯網來說也就是阻止特定來源IP 訪問系統或者訪問互聯網的特定風險IP。
在重保場景下或安全事件頻發期,通常會有頻繁且大批量的IP 封堵需求,人工為主的策略封禁方式在時效性上存在較大滯后,而且可能因為操作錯誤或失誤造成網絡中斷,甚至引起次生的網絡事故,同時也為惡意IP 入侵留出了更多時間,大幅增加了安全風險。
目前企事業單位中比較關注如何快速有效地阻斷互聯網的惡意IP 攻擊,減少不良影響具有很深的實際應用價值。目前,基于遠程觸發黑洞(Remotely-Triggered Black Hole, RTBH)[1-4]的路由機制依賴于邊界路由器,而且邊界路由器性能有限,在封堵大量IP 時,顯得更加掣肘。實際網絡部署中,通常邊界未必部署有邊界路由器,而基于自動化策略下發模式[5-10]防火墻封堵方案,常常由于策略條目數有限(65 536 條),大規模、不間斷的大量IP 封堵任務瞬間消耗殆盡,無法滿足要求。因此,本文提出一種行之有效的異構防火墻IP 封堵解決方案,該方案主要有三個優點:不依賴于邊界路由器,支持一鍵式多品牌防火墻的封堵;采用訂閱、Restful API 或者SSH自動化模式,時效性強;在互聯網邊界網絡安全設備上完成封堵,避免攻擊流量進入內部網絡。
整體系統主要包括以下4 個模塊:Threat Center 應急威脅情報以及處置中心、Flask API 一鍵調度模塊、邊界安全防火墻設備庫以及企微通知模塊。自動封堵系統架構如圖1 所示。

圖1 自動封堵系統架構
設計思路:IP 黑名單來源于威脅情報中心,由安全人員研判維護,IP 黑名單[11-13]封堵由安全處置人員下發命令,通過SOC 安全處置中心驅動一鍵IP 黑名單封堵模塊,調度不同類型的防火墻,完成IP 黑名單腳本生成并下發生效。防火墻設備信息則通過數據庫進行維護。
現行防火墻的IP 封堵方式主要有策略配置下發和IP 黑名單兩種。
不同類型的防火墻,其策略配置下發模式大同小異,主要區別在于IP 地址對象/對象組的定義,策略配置的即時生效或提交驗證后生效,而其IP 黑名單實現模式則各不相同。
1.2.1 Checkpoint 防火墻
Checkpoint 防火墻管理平臺策略配置下發模式存在時間消耗長,多套邊界防火墻為串行方式,時間復雜度為O(n),時效性差。
威脅情報訂閱模式通過管理平臺初始化,啟用防火墻的ACL 規則的定時刷新,防火墻通過HTTP 協議自動定時向威脅情報中心加載IP黑名單。本文對該模式進行優化,通過ParamikoSSH 遠程調度,按需啟停腳本,一次觸發所有防火墻重新刷新訂閱威脅情報的功能,從而完成IP 黑名單的ACL 自動化實時刷新封堵。
1.2.2 華為防火墻
華為防火墻安全防護功能中的IP 黑名單模塊容量受限,雖然也提供netconf xml 的Restful API 接口,但配置復雜。本文結合華為防火墻IP 對象,對對象組的配置機制提出了一種更加靈活的方案。
首先對防火墻設備進行初始化封堵策略配置,再通過Paramiko SSH 遠程對IP 黑名單組對象更新的模式實現IP 黑名單封堵。大體思路為在防火墻生成IP 地址集合對象,再將集合對象加入預設的IP 黑名單組對象中,無需對策略進行復雜的邏輯操作。
該方式有效解決了華為防火墻IP 黑名單模塊的容量限制問題,巧妙運用華為防火墻的IP 對象的對象組特點,僅使用一條初始化的防火墻策略即可實現對大規模IP 黑名單的策略模式封堵,同時也規避了策略條目數對設備的性能消耗。
1.2.3 Fortigate 防火墻
Fortigate 防火墻為IP 黑名單封堵提供了Restful API 接口的隔離方案,可增量模式一次性下發所有的IPv4/IPv6 地址封堵,且不影響已有的隔離IP。
接口URL 為/api/v2/monitor/user/banned/add_users/,本文方案通過python request 模塊對接上游的威脅情報中心以及Fortigate 防火墻,腳本調度靈活方便,滿足實時性要求。
1.2.4 山石防火墻
山石防火墻IP 黑名單封堵有靜態IP 黑名單、動態IP 黑名單以及IP 黑名單庫策略(perimeter-trafficfiltering)三種模式。
受限于靜態模式不支持永久IP 黑名單,靜態以及動態的容量受限,本文采取IP 黑名單庫策略方案,可支持達6 萬條IP 記錄。
IP 黑名單庫策略僅支持按照配置時間每天刷新一次,無法有效實現IP 黑名單的實時封堵。
借鑒Checkpoint 的優化方案,運用Paramiko SSH 按需修改庫策略的更新時間來觸發實時更新,解決刷新機制的問題,最終整體思路如下:
1)初始化啟用黑名單庫策略更新源FTP 以及對應的IP 黑名單文件;
2)應急處置中心下發IP 封堵命令后,獲取威脅情報中心的全量IP 黑名單,并更新上傳至FTP;
3)Paramiko SSH 遠程登錄防火墻,獲取當前防火墻的時間,并適時修改黑名單庫策略的更新時間至下一分鐘;
4)下一分鐘到來,IP 黑名單庫策略更新被觸發,防火墻拉取FTP 上最新的全量IP 黑名單并覆蓋刷新,從而實現IP 黑名單封堵。
1.2.5 華三防火墻
華三防火墻Restful API 下發IP 黑名單方式僅支持逐個IP 調度下發配置,如涉及大量的IP 黑名單,時間復雜度為O(n),時效性差,無法滿足實時性要求。而Paramiko SSH 遠程命令的實現邏輯簡單,命令執行效率高,滿足實時性要求,具體思路如下:
1)system-view 編輯模式下執行blacklist IP *或者blacklist IPv6 *即可實現對單個IP 的封堵;
2)如需封堵多個IP,則可使用命令拼湊方式一次性下發執行,命令執行次數從O(n)降為O(1),減少SSH命令交互次數的同時也規避了SSH 通道的異常發生。
該模塊主要負責IP 黑名單地址的維護,結合不同類型防火墻封堵的設計原理,需要同時設計增量IP、全量IP 黑名單的維護模式,并提供途徑給安全研判人員進行IP 黑名單的增刪維護。
提供接口給安全應急處置人員下發IP 黑名單封堵命令,對接一鍵調度模塊執行IP 封堵任務。
提供接口給一鍵調度模塊讀取增量、全量IP,其中增量IP 供華為/Fortigate/華三防火墻攔截,全量IP 供Checkpoint 以及山石防火墻訂閱。
該模塊為核心模塊,采用Flask 輕量級的Python Web 微型框架,可使用Flask-SQLAlchemy 便捷對接數據庫,向外提供Restful 接口,具有靈活性和可擴展性。
該模塊通過Paramiko SSH 以及Restful 接口,完成所有邊界防火墻設備的統一對接以及納管,實現安全策略的集中管理以及一鍵下發功能。
提供Restful 接口給安全處置中心進行調度,并生成相應的處置任務腳本后調度下發至邊界防火墻設備中,從而實現IP 黑名單的快速應急封堵處置,有效遏制大規模網絡攻擊,保障數據中心基礎設施安全。
上述模塊均采用Docker 容器方式部署,方便快速迭代,同時啟用restart=always 參數,自動啟動相關容器以提升保障平臺的健壯性。
程序優化前發現,對多臺防火墻進行封堵的場景,程序以串行方式執行,消耗時間為O(n),影響實時效率。
通過多線程方式可對程序代碼進行優化,將防火墻的串行封堵變為并行方式執行,實踐證明,程序的執行消耗時間為O(1),執行效率以及實時IP 封堵時效性顯著提升。防火墻并行封堵代碼模塊如圖2 所示。

圖2 防火墻并行封堵代碼模塊
Paramiko SSH 交互式模式的引入有效優化解決了各類防火墻的IP 封堵機制限制問題。但實踐過程中網絡傳輸狀況不可預知,為增強程序的健壯性,代碼引入了func_timeout 函數超時模塊,并對SSH 交互的發送、接收方法進行了相應的約束,防止超時、假死、SSH Error等各類異常的發生。SSH遠程超時代碼模塊如圖3所示。

圖3 SSH 遠程超時代碼模塊
封堵執行結果通過企業微信機器人[14]推送通知,即時掌握IP 封堵情況。封堵執行結果推送代碼模塊如圖4所示。

圖4 封堵執行結果推送代碼模塊
使用Postman工具測試,同時下發IPv4以及IPv6兩個黑名單IP 2a02:6ea0:c859:3::a03e 以及79.124.59.86,下發后,執行結果通過企業微信通知,如圖5、圖6 所示,從日志上可見,1 min 內便完成了所有邊界防火墻的封堵任務。

圖5 Postman 測試下發封堵請求

圖6 封堵執行結果企微推送結果
登錄防火墻驗證新增IP 黑名單是否生效,具體結果如圖7~圖11 所示。

圖7 華為防火墻IP 黑名單

圖8 Fortigate 防火墻隔離監視器

圖9 Checkpoint 防火墻ACL

圖11 華三防火墻黑名單
由圖7~圖11可見,一鍵IP封堵對IPv4/IPv6均生效。
本文基于現有的各主流防火墻的IP 黑名單封堵機制,對多數據中心邊界、應急處置自動化程度低、策略封禁時效性差等問題進行了相應的設計優化,提出了一種可行并快速有效的防火墻IP 黑名單自動封堵方案。無論相對RTBH 的路由機制封堵,還是常見的防火墻自動化策略下發方式,該方案優勢明顯,滿足大量IP 封堵的需求,已在企業護網演練、重保場景下以及日常網絡安全攻擊防護實踐中得到運用,對惡意攻擊IP 實現秒級封堵,提升了總體安全應急響應效率,具有可借鑒價值。