目前的路由器一般都支持兩種類(lèi)型的訪問(wèn)表:基本訪問(wèn)表和擴(kuò)展訪問(wèn)表。 基本訪問(wèn)表控制基于網(wǎng)絡(luò)地址的信息流,且只允許過(guò)濾源地址。 擴(kuò)展訪問(wèn)表通過(guò)網(wǎng)絡(luò)地址和傳輸中的數(shù)據(jù)類(lèi)型進(jìn)行信息流控制,允許過(guò)濾源地址、目的地址和上層應(yīng)用數(shù)據(jù)。 表1列出了路由器所支持的不同訪問(wèn)表的號(hào)碼范圍。 ![]() 由于篇幅所限,本文只對(duì)標(biāo)準(zhǔn)訪問(wèn)列表和擴(kuò)展訪問(wèn)列表進(jìn)行討論。 標(biāo)準(zhǔn)IP訪問(wèn)表的基本格式為: access-list [list number][permit|deny][host/any][sourceaddress][wildcard-mask][log] 下面對(duì)標(biāo)準(zhǔn)IP訪問(wèn)表基本格式中的各項(xiàng)參數(shù)進(jìn)行解釋?zhuān)?br> 1.list number---表號(hào)范圍 標(biāo)準(zhǔn)IP訪問(wèn)表的表號(hào)標(biāo)識(shí)是從1到99。 2.permit/deny----允許或拒絕 關(guān)鍵字permit和deny用來(lái)表示滿(mǎn)足訪問(wèn)表項(xiàng)的報(bào)文是允許通過(guò)接口,還是要過(guò)濾掉。permit表示允許報(bào)文通過(guò)接口,而deny表示匹配標(biāo)準(zhǔn)IP訪問(wèn)表源地址的報(bào)文要被丟棄掉。 3.source address----源地址 對(duì)于標(biāo)準(zhǔn)的IP訪問(wèn)表,源地址是主機(jī)或一組主機(jī)的點(diǎn)分十進(jìn)制表示,如:198.78.46.8。 4.host/any----主機(jī)匹配 host和any分別用于指定單個(gè)主機(jī)和所有主機(jī)。host表示一種精確的匹配,其屏蔽碼為0.0.0.0。例如,假定我們希望允許從198.78.46.8來(lái)的報(bào)文,則使用標(biāo)準(zhǔn)的訪問(wèn)控制列表語(yǔ)句如下: access-list 1 permit 198.78.46.8 0.0.0.0 如果采用關(guān)鍵字host,則也可以用下面的語(yǔ)句來(lái)代替: access-list 1 permit host 198.78.46.8 也就是說(shuō),host是0.0.0.O通配符屏蔽碼的簡(jiǎn)寫(xiě)。 與此相對(duì)照,any是源地證/目標(biāo)地址0.O.O.O/255.255.255.255的簡(jiǎn)寫(xiě)。假定我們要拒絕從源地址198.78.46.8來(lái)的報(bào)文,并且要允許從其他源地址來(lái)的報(bào)文,標(biāo)準(zhǔn)的IP訪問(wèn)表可以使用下面的語(yǔ)句達(dá)到這個(gè)目的: access-list 1 deny host 198.78.46.8 access-list 1 permit any 注意,這兩條語(yǔ)句的順序;訪問(wèn)表語(yǔ)句的處理順序是由上到下的。如果我們將兩個(gè)語(yǔ)句順序顛倒,將permit語(yǔ)句放在deny語(yǔ)句的前面,則我們將不能過(guò)濾來(lái)自主機(jī)地址198.78.46.8的報(bào)文,因?yàn)閜ermit語(yǔ)句將允許所有的報(bào)文通過(guò)。所以說(shuō)訪問(wèn)表中的語(yǔ)句順序是很重要的,因?yàn)椴缓侠碚Z(yǔ)句順序?qū)?huì)在網(wǎng)絡(luò)中產(chǎn)生安全漏洞,或者使得用戶(hù)不能很好地利用公司的網(wǎng)絡(luò)策略。 5.wi1dcardmask------通配符屏蔽碼 Cisco訪問(wèn)表功能所支持的通配符屏蔽碼與子網(wǎng)屏蔽碼的方式是剛好相反的,也就是說(shuō),二進(jìn)制的O表示一個(gè)"匹配"條件,二進(jìn)制的1表示一個(gè)"不關(guān)心"條件。假設(shè)組織機(jī)構(gòu)擁有一個(gè)C類(lèi)網(wǎng)絡(luò)198.78.46.0,若不使用子網(wǎng),則當(dāng)配置網(wǎng)絡(luò)中的每一個(gè)工作站時(shí),使用于網(wǎng)屏蔽碼255.255.255.O。在這種情況下,1表示一個(gè) "匹配",而0表示一個(gè)"不關(guān)心"的條件。因?yàn)镃isco通配符屏蔽碼與子網(wǎng)屏蔽碼是相反的,所以匹配源網(wǎng)絡(luò)地址198.78.46.0中的所有報(bào)文的通配符屏蔽碼為:0.0.O.255。 6.Log----日志記錄 log關(guān)鍵字只在IOS版本11.3中存在。如果該關(guān)鍵字用于訪問(wèn)表中,則對(duì)那些能夠匹配訪問(wèn)表中的permit和deny語(yǔ)句的報(bào)文進(jìn)行日志記錄。日志信息包含訪問(wèn)表號(hào)、報(bào)文的允許或拒絕、源IP地址以及在顯示了第一個(gè)匹配以來(lái)每5分鐘間隔內(nèi)的報(bào)文數(shù)目。使用log關(guān)鍵字,會(huì)使控制臺(tái)日志提供測(cè)試和報(bào)警兩種功能。系統(tǒng)管理員可以使用日志來(lái)觀察不同活動(dòng)下的報(bào)文匹配情況,從而可以測(cè)試不同訪問(wèn)表的設(shè)計(jì)情況。當(dāng)其用于報(bào)警時(shí),管理員可以察看顯示結(jié)果,以定位那些多次嘗試活動(dòng)被拒絕的訪問(wèn)表語(yǔ)句。執(zhí)行一個(gè)訪問(wèn)表語(yǔ)句的多次嘗試活動(dòng)被拒絕,很可能表明有潛在的黑客攻擊活動(dòng)。 顧名思義,擴(kuò)展的IP訪問(wèn)表用于擴(kuò)展報(bào)文過(guò)濾能力。一個(gè)擴(kuò)展的IP訪問(wèn)表允許用戶(hù)根據(jù)如下內(nèi)容過(guò)濾報(bào)文:源和目的地址、協(xié)議、源和目的端口以及在特定報(bào)文字段中允許進(jìn)行特殊位比較等等。一個(gè)擴(kuò)展的IP訪問(wèn)表的一般語(yǔ)法格或如下所示: ![]() 下面簡(jiǎn)要介紹各個(gè)關(guān)鍵字的功能: 1.list number----表號(hào)范圍 擴(kuò)展IP訪問(wèn)表的表號(hào)標(biāo)識(shí)從l00到199。 2.protocol-----協(xié)議 協(xié)議項(xiàng)定義了需要被過(guò)濾的協(xié)議,例如IP、TCP、UDP、1CMP等等。協(xié)議選項(xiàng)是很重要的,因?yàn)樵?a href="http://www./z/protocol/tcp-ip.html" target=_blank>TCP/IP協(xié)議棧中的各種協(xié)議之間有很密切的關(guān)系,如果管理員希望根據(jù)特殊協(xié)議進(jìn)行報(bào)文過(guò)濾,就要指定該協(xié)議。 另外,管理員應(yīng)該注意將相對(duì)重要的過(guò)濾項(xiàng)放在靠前的位置。如果管理員設(shè)置的命令中,允許IP地址的語(yǔ)句放在拒絕TCP地址的語(yǔ)句前面,則后一個(gè)語(yǔ)句根本不起作用。但是如果將這兩條語(yǔ)句換一下位置,則在允許該地址上的其他協(xié)議的同時(shí),拒絕了TCP協(xié)議。 3.源端口號(hào)和目的端口號(hào) 源端口號(hào)可以用幾種不同的方法來(lái)指定。它可以顯式地指定,使用一個(gè)數(shù)字或者使用一個(gè)可識(shí)別的助記符。例如,我們可以使用80或者h(yuǎn)ttp來(lái)指定Web的超文本傳輸協(xié)議。對(duì)于TCP和UDP,讀者可以使用操作符 "<"(小于)、">"(大于)"="(等于)以及""(不等于)來(lái)進(jìn)行設(shè)置。 目的端口號(hào)的指定方法與源端口號(hào)的指定方法相同。讀者可以使用數(shù)字、助記符或者使用操作符與數(shù)字或助記符相結(jié)合的格式來(lái)指定一個(gè)端口范圍。 下面的實(shí)例說(shuō)明了擴(kuò)展IP訪問(wèn)表中部分關(guān)鍵字使用方法: access-list 101 permit tcp any host 198.78.46.8 eq smtp access-list 101 permit tcp any host 198.78.46.3 eq www 第一個(gè)語(yǔ)句允許來(lái)自任何主機(jī)的TCP報(bào)文到達(dá)特定主機(jī)198.78.46.8的smtp服務(wù)端口(25);第二個(gè)語(yǔ)句允許任何來(lái)自任何主機(jī)的TCP報(bào)文到達(dá)指定的主機(jī)198.78.46.3的www或http服務(wù)端口(80)。 4.選項(xiàng) 擴(kuò)展的IP訪問(wèn)表支持很多選項(xiàng)。其中一個(gè)常用的選項(xiàng)有l(wèi)og,它已在前面討論標(biāo)準(zhǔn)訪問(wèn)表時(shí)介紹過(guò)了。另一個(gè)常用的選項(xiàng)是fistahlishfid,該選項(xiàng)只用于TCP協(xié)議并且只在TCP通信流的一個(gè)方向上來(lái)響應(yīng)由另一端發(fā)起的會(huì)話。為了實(shí)現(xiàn)該功能,使用estab1ished選項(xiàng)的訪問(wèn)表語(yǔ)句檢查每個(gè) TCP報(bào)文,以確定報(bào)文的ACK或RST位是否已設(shè)置。 例如,考慮如下擴(kuò)展的IP訪問(wèn)表語(yǔ)句: access-list 101 permit tcp any host 198.78.46.8 established 該語(yǔ)句的作用是:只要報(bào)文的ACK和RST位被設(shè)置,該訪問(wèn)表語(yǔ)句就允許來(lái)自任何源地址的TCP報(bào)文流到指定的主機(jī)198.78.46.8。這意味著主機(jī)198.78.46.8此前必須發(fā)起TCP會(huì)話。 5.其他關(guān)鍵字 deny/permit、源地址和通配符屏蔽碼、目的地址和通配符屏蔽碼以及host/any的使用均與標(biāo)準(zhǔn)IP訪問(wèn)表中的相同。 表2是對(duì)部分關(guān)鍵字的具體解釋。 表 2: ![]() 在一個(gè)接口上配置訪問(wèn)表需要三個(gè)步驟: (1)定義訪問(wèn)表; (2)指定訪問(wèn)表所應(yīng)用的接口; (3)定義訪問(wèn)表作用于接口上的方向。 我們已經(jīng)討論了如何定義標(biāo)準(zhǔn)的和擴(kuò)展的IP訪問(wèn)表,下面將討論如何指定訪問(wèn)表所用的接口以及接口應(yīng)用的方向。 一般地,采用interface命令指定一個(gè)接口。例如,為了將訪問(wèn)表應(yīng)用于串口0,應(yīng)使用如下命令指定此端口: interface serial0 類(lèi)似地,為將訪問(wèn)表應(yīng)用于路由器的以太網(wǎng)端口上時(shí),假定端口為Ethernet0,則應(yīng)使用如下命令來(lái)指定此端口: interface ethernet0 在上述三個(gè)步驟中的第三步是定義訪問(wèn)表所應(yīng)用的接口方向,通常使用ip access-group命令來(lái)指定。其中,列表號(hào)標(biāo)識(shí)訪問(wèn)表,而關(guān)鍵字in或out則指明訪問(wèn)表所使用的方向。方向用于指出是在報(bào)文進(jìn)入或離開(kāi)路由器接口時(shí)對(duì)其進(jìn)行過(guò)濾。如下的實(shí)例將這三個(gè)步驟綜合在一起: intface serial0 ip access-group 107 in access-list 107 remark allow traffic to tom‘s pc access-list 107 ip any host 198.78.46.8 access-list 107 remark allow only web traffic to webserver access-list 107 tcp any host 198.78.46.12 eq 80 access-list 107 remark block everything else access-list 107 deny any any 在本例中,先使用interface命令指定串行端口0,并使用ipaccess-group命令來(lái)將訪問(wèn)表l07中的語(yǔ)句應(yīng)用于串行接口的向內(nèi)方向上。最后,輸入6個(gè)訪問(wèn)表語(yǔ)句,其中三條訪問(wèn)表語(yǔ)句使用關(guān)鍵字remark,以提供關(guān)于列表中后繼語(yǔ)句的注解說(shuō)明。注意訪問(wèn)表中的最后一條語(yǔ)句,它表示了每個(gè)訪問(wèn)表相關(guān)的隱含denyall設(shè)置,并且如果不顯式地列出是不會(huì)看到該語(yǔ)句的。如果讀者希望從路由器的控制臺(tái)端口相連的終端上直接輸入這些命令和語(yǔ)句,則應(yīng)該先使用EXEC特權(quán)命令。這個(gè)終端會(huì)話過(guò)程的實(shí)例如下圖所示: ![]() 此外,當(dāng)讀者配置訪問(wèn)表后使用IOS的show命令查看列表時(shí),有時(shí)很容易被顯示出來(lái)的內(nèi)容所迷惑,這是由于當(dāng)通配符屏蔽碼位被置為1(無(wú)關(guān))時(shí),1OS將該訪問(wèn)表表項(xiàng)的IP地址部分的該位設(shè)置為二進(jìn)制0。 例如,輸入如下的配置命令,用于創(chuàng)建一個(gè)擴(kuò)展的IP訪問(wèn)表,并將其列表內(nèi)容顯示出來(lái): ![]() 在本例中,由于C類(lèi)地址的通配符屏蔽碼的主機(jī)子段被設(shè)置為全1(255),所以網(wǎng)絡(luò)198.78.46.0上的主機(jī)地址198.78.46.20被自動(dòng)轉(zhuǎn)換為網(wǎng)段地址。 |
|
來(lái)自: liunffy > 《網(wǎng)絡(luò)技術(shù)》