蔣君華
(宜興高等職業(yè)技術(shù)學(xué)校,江蘇 無錫 214200)
最近幾年,隨著計算機軟硬件技術(shù)的突飛猛進,網(wǎng)絡(luò)技術(shù)也有了迅速發(fā)展,而針對互聯(lián)網(wǎng)的攻擊手段也就越來越多。如何保障網(wǎng)絡(luò)安全也就成為嚴重困擾中小型網(wǎng)絡(luò)的網(wǎng)絡(luò)管理員(網(wǎng)管)的問題之一。由于鞏固和拓展業(yè)務(wù)的需要,網(wǎng)管必須開放足夠的權(quán)限,允許用戶對網(wǎng)絡(luò)資源的訪問;另外,網(wǎng)管又必須通過嚴格限制用戶的權(quán)限來確保數(shù)據(jù)和資源的安全。面對層出不窮各種類別的網(wǎng)絡(luò)攻擊,雖然網(wǎng)管可以采用的網(wǎng)絡(luò)安全技術(shù)很多,但由于條件的限制,中小型網(wǎng)絡(luò)可以使用的資金有限,我們可以轉(zhuǎn)換思路,考慮采用訪問控制列表(ACL)來替代昂貴的硬件防火墻實現(xiàn)對網(wǎng)絡(luò)數(shù)據(jù)流的管控、過濾,最終實現(xiàn)基本的、成本可控的網(wǎng)絡(luò)安全目標(biāo)。
訪問控制列表簡稱ACL(Access Control Lists),是一種基于包過濾機制的網(wǎng)絡(luò)安全技術(shù),它是根據(jù)預(yù)先設(shè)定的條件對通過接口的數(shù)據(jù)包進行過濾,判斷是否允許其通過。ACL可以廣泛應(yīng)用在路由器或三層交換機上,通過讀取第三層及第四層包頭中的信息如源地址、目的地址、源端口、目的端口等,結(jié)合預(yù)設(shè)的條件允許或拒絕特定的數(shù)據(jù)包進出網(wǎng)絡(luò),實現(xiàn)對網(wǎng)絡(luò)訪問的控制,從而有效保障網(wǎng)絡(luò)的安全運行。用戶可以有針對性地基于報文中的特定信息制定一系列訪問規(guī)則,每一條規(guī)則描述了對所匹配特定信息的數(shù)據(jù)包將采取的對應(yīng)動作:允許通過或拒絕通過,然后將這些用戶預(yù)設(shè)的規(guī)則應(yīng)用到對應(yīng)端口的入口或出口方向,這樣特定端口上特定方向的數(shù)據(jù)流就必須依照指定的ACL規(guī)則進出路由器或交換機。通過使用ACL技術(shù),網(wǎng)管就可以達到限制某個特定IP地址的PC或者某些特定網(wǎng)段的PC非法網(wǎng)絡(luò)活動的目的[1]。
ACL可以分為很多種,比較常用的主要還是兩大類
1.標(biāo)準ACL
標(biāo)準ACL最簡單,僅通過使用IP包中的源IP地址進行過濾,表號范圍1-99或1300-1999。
標(biāo)準ACL語句的語法結(jié)構(gòu):
router_config#ip access-list standard name
router_config_std_nacl#permit/deny 172.16.1.0 255.255.255.0
2.擴展ACL
擴展ACL相比標(biāo)準ACL提供更多的匹配項,因此功能更加細化和強大,可以針對包括源地址、目的地址、源端口、目的端口、TCP連接、協(xié)議類型等進行過濾,表號范圍為100-199或2000-2699。
擴展ACL語句的語法結(jié)構(gòu):
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地址中對應(yīng)位,而“0”則表示該位必須匹配。兩種特殊的通配符掩碼是“255.255.255.255”和“0.0.0.0”,前者等同關(guān)鍵字“any”,而后者等價于關(guān)鍵字“host”;(2)入站接口和出站接口,當(dāng)在對應(yīng)接口上應(yīng)用訪問控制列表時,用戶必須指明該訪問控制列表是應(yīng)用于數(shù)據(jù)流入方向還是流出方向;(3)盡量應(yīng)該考慮把擴展的ACL(訪問控制列表)放在靠近過濾源的位置,這樣創(chuàng)建的過濾規(guī)則就不會反過來影響到其他接口上的正常數(shù)據(jù)流;把標(biāo)準的ACL(訪問控制列表)放在靠近目的位置,因為標(biāo)準訪問控制列表僅能使用源地址,如果將其靠近過濾源就會阻止合法數(shù)據(jù)包流向其他端口;(4)ACL開啟后,無論配不配置,最后都有一條隱含的“deny”否定所有地址通過,所以在ACL里必須至少有一條“permit”的語句[2]。
ACL技術(shù)的應(yīng)用十分廣泛,我們以下圖所示某中小型網(wǎng)絡(luò)的拓撲結(jié)構(gòu)(路由器設(shè)備:神州數(shù)碼DCR-2655)為例,簡單分析ACL在此基礎(chǔ)上的基本應(yīng)用配置。
(1)要求拒絕PC2所在網(wǎng)段訪問路由器R2。創(chuàng)建符合要求的標(biāo)準ACL配置:
R2_config#ip access-list standard P2ToR2
R2_config_std_nacl#deny 172.16.1.0 255.255.255.0
……
(2)要求只允許PC2所在網(wǎng)段的主機訪問路由器R2的WWW服務(wù)。通過分析,創(chuàng)建符合要求的擴展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服務(wù)?;跁r間的訪問控制列表配置:
R3_config#time-range P3ToR2
R3_config_time_range#periodic daily 8:00 to 18:00
……
曾經(jīng),沖擊波、震蕩波等病毒給整個互聯(lián)網(wǎng)帶來了沉重的打擊,截至目前,我們所使用的互聯(lián)網(wǎng)中每天仍有大量這類病毒及其變種存在,它們無孔不入,伺機危害網(wǎng)絡(luò)的安全。因此網(wǎng)絡(luò)管理員在配置路由器或交換機等網(wǎng)絡(luò)設(shè)備的時候,可以考慮通過ACL(訪問控制列表)的簡單配置實現(xiàn)對這些病毒進行過濾,將它們拒之門外,保障網(wǎng)絡(luò)的穩(wěn)定運行。通過查詢相關(guān)公開資料,我們可以獲得常用的網(wǎng)絡(luò)端口號——沖擊波病毒及其變種:對應(yīng)的TCP端口號 135、139、445和593,UDP 端口號69、135、137和138;涉及遠程命令殼程序:對應(yīng)的TCP端口號 4444、135、139、445、4444,UDP 端口號69、135、137和138。震蕩波病毒及其變種:對應(yīng)的TCP端口5554、445、9996。SQL蠕蟲病毒:對應(yīng)的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
……
總體而言,如果能恰當(dāng)?shù)厥褂肁CL技術(shù),它將成為網(wǎng)管手中的一種功能強大的過濾工具,除了可以過濾通過網(wǎng)絡(luò)的流量,還可以通過防控病毒攻擊、限制Internet訪問等方法進一步提高網(wǎng)絡(luò)的安全性,但就像一把雙刃劍,設(shè)計欠佳的訪問控制列表配置反而會適得其反,給路由器、交換機帶來繁重的額外負擔(dān),最嚴重的時候可能導(dǎo)致整個網(wǎng)絡(luò)的中斷。因此,我們只有合理規(guī)劃和配置ACL才能充分發(fā)揮其能力,高效管理中小型網(wǎng)絡(luò)。