夏凌云
(中國石油大學(華東)信息化建設處, 青島 266580)
在“互聯網+”建設和信息化建設高速發展的今天,對網絡安全管理的要求越來越高, 一方面, 國家層面日趨重視網絡安全, 逐步認識到安全治理重要性, 加強了網絡安全空間治理部署, 發布了《中華人民共和國網絡安全法》, 并于2017年6月1日正式執行.《中華人民共和國網絡安全法》中對網絡信息運行安全規范,安全事件應急處理和相應法律責任做出了明確規定.另一方面, 網絡安全局勢嚴峻, 全球化、信息化趨勢下,網絡攻擊事件層出不窮, 影響惡劣.因此在網絡安全事件響應機制的建立和實施方面, 為了適應新的法律要求和管理需求, 高校校園網的安全管理方面也面臨著新的挑戰.
在高效的校園網絡和信息安全管理機制中, 除了利用網絡防火墻、入侵防御系統、應用防火墻等等主動防御技術外, 對安全事件的快速應急響應也是重要一環[1].雖然在技術上對信息系統做了重重防護, 但是還是有可能因為一些未發現的漏洞或者社會工程學等等原因造成網絡或信息系統攻破并被惡意篡改, 此時如何第一時間隔離攻擊源和封鎖被篡改信息系統就成了安全響應的第一要務.這種需求以往普通情況下是由網絡管理員對網絡防火墻進行操作來實現, 在響應要求越來越高的今天, 這種方式存在著一些問題:
1)對管理員要求高:一個是技術要求, 管理員需要對網絡技術和當前網絡架構有深入了解才能進行操作;另外一個是崗位數量要求, 技術的高要求導致能執行響應任務的人員較少, 其他管理人員不能勝任響應任務需要;
2)及時性難以滿足:安全事件要求7×24小時全天候響應, 而由于網絡管理的安全性要求, 對網絡的進行重新配置一般要求在網管機或者要經過多重安全機制后才能執行, 因此網絡管理員接入網管系統面臨著時間和空間的限制, 往往達不到快速響應的時間需求, 因此不得不隨時隨地現場值班, 大大加重工作負擔.s
因此, 如何以最少的人員配置, 最低的技術要求達到快速安全響應的要求, 是我們一直面對和尚待解決的問題.前期我們研究了利用路由協議和黑洞路由原理來實現快速響應安全事件, 隔離問題IP地址, 現在我們在此基礎上, 搭建后臺自動化管理系統, 解決了上述兩個問題, 實現了一個簡單化和快速化的安全響應方法.
本方案的核心是, 通過身份認證確認管理員身份后, 系統通過交互頁面接收管理員命令, 并將其轉換為黑洞路由條目, 下發至網絡設備的路由表中實現流量管控的目的.所謂靜態黑洞路由, 是將該路由條目的下一條地址指向一個空接口, 由此將匹配這條路由條目的網絡流量導向一個類似黑洞的接口, 使它們有來無回的, 達到阻止網絡訪問的目的[2].為了避免在核心生產設備上直接操作帶來的風險, 我們選擇利用前一個建設周期更換下來的舊路由器作為黑洞路由器, 通過在黑洞路由器上配置相關路由和OSPF協議[3], 以動態路由的方式將黑洞路由發布到出口路由器或核心交換機上, 以實現黑洞路由條目在校園網絡生產設備上的配置生效, 實現在校園網內部或出口上對特定IP地址進行訪問控制的目的.總體方案設計如圖1.

圖1 系統部署示意圖
如圖所示, 出口路由器為校園網絡邊緣路由器, 負責校園網內部和外部的路由交換, 在其上生效的黑洞路由條目可以阻止校園網絡內外之間的通訊, 核心交換機為校園網內部三層交換機, 所有網絡的網關可視為都在其內部, 在核心交換機上生效的黑洞路由條目可以阻斷目標地址流量在企業網內部的通訊.總體方案主要有以下特點:
1)為了網絡設施安全隔離考慮, 將整個系統分為3個OSPF區域, OSPF 0.0.0.0區域為日常正常網絡業務區, 區域內部為校園網絡實際運行的正式路由表信息;
2)出口黑洞路由器和出口路由器組成OSPF 0.0.0.10區域, 在出口黑洞路由器上配置的黑洞路由條目, 會被OSPF協議自動發布到同區域的正式出口路由器上生效, 將從外網訪問目標IP的方位流量, 匹配發往出口黑洞路由器, 以實現隔離外網與目標地址的通訊連接;
3)同理, OSPF 0.0.0.11區域用于在校園網內部核心交換機的黑洞路由發布, 將所有對目標IP的訪問流量導向校內黑洞路由器, 在核心交換機上實現對校內外所有地址對目標IP地址的通訊阻斷.
4)后臺服務器負責下發黑洞路由配置到黑洞路由器, 并與微信企業號后臺[4]對接, 實現身份認證和頁面交互等等系統功能.
5)由于黑洞路由的操作會影響整個校園網內部,安全級別要求高, 因此兩臺黑洞路由器的Telnet服務,均作基于源地址的ACL訪問控制策略, 只允許后臺服務器的IP地址登錄, 以提高系統安全性, 防止非授權用戶試探登錄.
如整體設計所示, 除了正常校園網環境的OSPF 0.0.0.0區域外, 還需要分別加上 OSPF 0.0.0.10 和0.0.0.11區域作為黑洞路由自動分發域.因此需要分別需要在上述四臺路由器上分別配置接口地址和OSPF相關信息, 這里以H3C SR6602路由器為例介紹配置過程和命令.
1)出口路由器相關配置如下:

2)出口黑洞路由器相關配置如下:

3)核心交換機相關配置如下:

4)校內黑洞路由器相關配置如下:


按上述流程配置好各臺路由器后, 在鏈路聯通后OSPF區域會自動相互發現并組網, 此時可測試并發現, 在任意一臺黑洞路由器配置的黑洞路由命令, “ip route-static 1.1.1.1 255.255.255.255 NULL0”, 會以OSPF路由的方式同步到對應的正常業務路由器的路由表中去, 在校園網運行環境中實現對某個IP的流量控制.
在此方案中, 為在實現用戶準入控制的同時提高安全性和便捷性, 我們將整個系統的認證和交互頁面嵌入到微信企業號中實現, 通過在微信企業號中創建的獨立子應用來自動確認用戶合法性, 并讓用戶在微信企業號的Html5頁面中實現交互功能.認證和交互流程如圖2所示.

圖2 認證和交互流程
微信端交互設計主要包含以下內容和步驟:
1)用戶打開頁面時, 在 Page_Load()方法中, 自動通過調用OAuth2.0認證方法, 從微信企業號后臺獲取進入系統用戶的學工號, 實現用戶免密碼的統一身份認證登錄;
2)根據學工號判斷用戶是否在已提前設置好的授權用戶表中, 對非授權用戶進行提示并強制退出頁面等操作;
3)授權用戶在操作頁面輸入待控制的IP地址或域名, 選擇封鎖范圍, 并進行二次確認, 以防止誤操作;
4)對用戶輸入進行分析、整理和判斷, 并轉化為需要下發的黑洞路由配置命令腳本, 下發到對應的黑洞路由器中;
5)在日志數據庫中, 對操作命令和結果進行記錄,同時通過微信企業號的群發消息功能, 實現與其它網絡管理人員的消息交互;
關于后臺服務器如何連接路由器, 并下發配置命令的方式, 在java開發環境下[5,6], 我們選用了apache commons-net開源包, 使用其提供的telnet連接的工具類來實現腳本化的路由命令下發和保存.同時利用java.io.Input Stream Reader和java.io.Print Stream來發送腳本和接收路由器回復.關鍵部分的初始化代碼如下所示.


初始化上述關鍵對象后, 即可通過print Stream.println()方法向路由器逐行輸出預訂腳本, 通過bufferedreader.read()方法讀取路由器返回信息, 用于判斷腳本是否運行成功.已我校現有的H3C6602路由器為例, 一般來說, 需要發送的路由器命令腳本如下:

需要注意的是, 為了保證命令順利執行, 避免意外情況發生, 系統應該在每條命令腳本執行后調用bufferedreader.read()方法來檢查路由器回復是否與預期返回符合, 并做出相應的錯誤判斷和重試.成功執行完所有腳本后, 還需調用telnet Client.disconnect()方法斷開服務器與黑洞路由器之間的連接.
按以上設計方案部署的系統已正式上線運行一段時間, 具有以下的優點:1)安全性高, 通過源地址訪問限制、OAuth2.0統一身份認證和企業號權限控制功能, 多層次保障了系統安全性;2)使用方便, 原來手工封鎖IP的方式, 操作復雜, 僅熟悉路由器配置的專業網絡管理員才具備操作能力, 而現在的系統提供了一種簡便的交互方式, 使普通的值班人員也能進行有效操作;3)反應迅速, 以往的手工方式需要在網管機上登陸路由器, 再手動輸入多條配置命令, 需要較長的響應時間, 現在的系統對人員所在位置沒有要求, 只需使用進入微信, 點擊進入我校的企業號應用, 設置好封鎖IP地址, 確定運行即可, 大部分操作有后臺自動完成,使響應人員擺脫了時間和空間的束縛, 能夠快速響應網絡威脅.下一步可以考慮將Telnet協議升級為SSH 協議, 實現加密連接, 提高安全性, 并優化后臺管理和日志記錄功能, 并在使用中不斷總結經驗, 改善系統細節.