蔣君華
(宜興高等職業技術學校,江蘇 無錫 214200)
最近幾年,隨著計算機軟硬件技術的突飛猛進,網絡技術也有了迅速發展,而針對互聯網的攻擊手段也就越來越多。如何保障網絡安全也就成為嚴重困擾中小型網絡的網絡管理員(網管)的問題之一。由于鞏固和拓展業務的需要,網管必須開放足夠的權限,允許用戶對網絡資源的訪問;另外,網管又必須通過嚴格限制用戶的權限來確保數據和資源的安全。面對層出不窮各種類別的網絡攻擊,雖然網管可以采用的網絡安全技術很多,但由于條件的限制,中小型網絡可以使用的資金有限,我們可以轉換思路,考慮采用訪問控制列表(ACL)來替代昂貴的硬件防火墻實現對網絡數據流的管控、過濾,最終實現基本的、成本可控的網絡安全目標。
訪問控制列表簡稱ACL(Access Control Lists),是一種基于包過濾機制的網絡安全技術,它是根據預先設定的條件對通過接口的數據包進行過濾,判斷是否允許其通過。ACL可以廣泛應用在路由器或三層交換機上,通過讀取第三層及第四層包頭中的信息如源地址、目的地址、源端口、目的端口等,結合預設的條件允許或拒絕特定的數據包進出網絡,實現對網絡訪問的控制,從而有效保障網絡的安全運行。用戶可以有針對性地基于報文中的特定信息制定一系列訪問規則,每一條規則描述了對所匹配特定信息的數據包將采取的對應動作:允許通過或拒絕通過,然后將這些用戶預設的規則應用到對應端口的入口或出口方向,這樣特定端口上特定方向的數據流就必須依照指定的ACL規則進出路由器或交換機。通過使用ACL技術,網管就可以達到限制某個特定IP地址的PC或者某些特定網段的PC非法網絡活動的目的[1]。
ACL可以分為很多種,比較常用的主要還是兩大類
1.標準ACL
標準ACL最簡單,僅通過使用IP包中的源IP地址進行過濾,表號范圍1-99或1300-1999。
標準ACL語句的語法結構:
router_config#ip access-list standard name
router_config_std_nacl#permit/deny 172.16.1.0 255.255.255.0
2.擴展ACL
擴展ACL相比標準ACL提供更多的匹配項,因此功能更加細化和強大,可以針對包括源地址、目的地址、源端口、目的端口、TCP連接、協議類型等進行過濾,表號范圍為100-199或2000-2699。
擴展ACL語句的語法結構:
router_config#ip access-list extended name
router_config_ext_nacl#permit/deny tcp 172.16.1.0 255.255.255.0 2.2.2.2 255.255.255.255 eq port
同時在訪問控制列表的使用中,要特別注意以下幾點:(1)通配符掩碼中的“1”表示忽略IP地址中對應位,而“0”則表示該位必須匹配。兩種特殊的通配符掩碼是“255.255.255.255”和“0.0.0.0”,前者等同關鍵字“any”,而后者等價于關鍵字“host”;(2)入站接口和出站接口,當在對應接口上應用訪問控制列表時,用戶必須指明該訪問控制列表是應用于數據流入方向還是流出方向;(3)盡量應該考慮把擴展的ACL(訪問控制列表)放在靠近過濾源的位置,這樣創建的過濾規則就不會反過來影響到其他接口上的正常數據流;把標準的ACL(訪問控制列表)放在靠近目的位置,因為標準訪問控制列表僅能使用源地址,如果將其靠近過濾源就會阻止合法數據包流向其他端口;(4)ACL開啟后,無論配不配置,最后都有一條隱含的“deny”否定所有地址通過,所以在ACL里必須至少有一條“permit”的語句[2]。
ACL技術的應用十分廣泛,我們以下圖所示某中小型網絡的拓撲結構(路由器設備:神州數碼DCR-2655)為例,簡單分析ACL在此基礎上的基本應用配置。

(1)要求拒絕PC2所在網段訪問路由器R2。創建符合要求的標準ACL配置:
R2_config#ip access-list standard P2ToR2
R2_config_std_nacl#deny 172.16.1.0 255.255.255.0
……
(2)要求只允許PC2所在網段的主機訪問路由器R2的WWW服務。通過分析,創建符合要求的擴展ACL配置:
R1_config#ip access-list extended P2ToR2
R1_config_ext_nacl#permit tcp 172.16.1.0 255.255.255.0 2.2.2.2
……
(3)只允許PC3主機在每天的8:00-18:00訪問路由器R2的WWW服務。基于時間的訪問控制列表配置:
R3_config#time-range P3ToR2
R3_config_time_range#periodic daily 8:00 to 18:00
……
曾經,沖擊波、震蕩波等病毒給整個互聯網帶來了沉重的打擊,截至目前,我們所使用的互聯網中每天仍有大量這類病毒及其變種存在,它們無孔不入,伺機危害網絡的安全。因此網絡管理員在配置路由器或交換機等網絡設備的時候,可以考慮通過ACL(訪問控制列表)的簡單配置實現對這些病毒進行過濾,將它們拒之門外,保障網絡的穩定運行。通過查詢相關公開資料,我們可以獲得常用的網絡端口號——沖擊波病毒及其變種:對應的TCP端口號 135、139、445和593,UDP 端口號69、135、137和138;涉及遠程命令殼程序:對應的TCP端口號 4444、135、139、445、4444,UDP 端口號69、135、137和138。震蕩波病毒及其變種:對應的TCP端口5554、445、9996。SQL蠕蟲病毒:對應的TCP端口號1433,UDP端口號1434[3]。
ACL過濾特定病毒的配置:
switch(config)#ip access-list extended acl
switch(Config-IP-Ext-Nacl-acl)#deny tcp hostsource 192.168.1.1 s-port
445 any-destination
……
總體而言,如果能恰當地使用ACL技術,它將成為網管手中的一種功能強大的過濾工具,除了可以過濾通過網絡的流量,還可以通過防控病毒攻擊、限制Internet訪問等方法進一步提高網絡的安全性,但就像一把雙刃劍,設計欠佳的訪問控制列表配置反而會適得其反,給路由器、交換機帶來繁重的額外負擔,最嚴重的時候可能導致整個網絡的中斷。因此,我們只有合理規劃和配置ACL才能充分發揮其能力,高效管理中小型網絡。