隨著Internet/Intranet的飛速發(fā)展,全國各企事業(yè)單位都在建設(shè)局域網(wǎng)并連入互聯(lián)網(wǎng),但信息網(wǎng)絡(luò)安全一直是我們關(guān)心的問題,所以本文提出了在路由器下通過訪問控制列表(ACL)來構(gòu)建計算機網(wǎng)絡(luò)的防火墻體系結(jié)構(gòu)。
一個組織全局的安全策略應(yīng)根據(jù)安全分析和業(yè)務(wù)需求分析來決定,因為網(wǎng)絡(luò)安全與防火墻關(guān)系緊密,所以我們要正確設(shè)置網(wǎng)絡(luò)的安全策略,使防火墻發(fā)揮最大的作用。
網(wǎng)絡(luò)防火墻安全策略是指要明確定義哪些數(shù)據(jù)包允許或禁止通過并使用網(wǎng)絡(luò)服務(wù),以及這些服務(wù)的使用規(guī)則。而且,網(wǎng)絡(luò)防火墻安全策略中的每一條規(guī)定都應(yīng)該在實際應(yīng)用時得到實現(xiàn)。下面我們就路由器下通過訪問控制列表實現(xiàn)安全策略,以達到防火墻的功能,并對其實現(xiàn)及應(yīng)用進行詳細的敘述。
訪問控制列表的作用
訪問控制列表是應(yīng)用在路由器接口的指令列表,這些指令列表用來告訴路由器哪些數(shù)據(jù)包可以接收、哪些數(shù)據(jù)包需要拒絕。至于數(shù)據(jù)包是被接收還是被拒絕,可以由類似于源地址、目的地址、端口號、協(xié)議等特定指示條件來決定。通過靈活地增加訪問控制列表,ACL可以當作一種網(wǎng)絡(luò)控制的有力工具,用來過濾流入和流出路由器接口的數(shù)據(jù)包。
建立訪問控制列表后,可以限制網(wǎng)絡(luò)流量,提高網(wǎng)絡(luò)性能,對通信流量起到控制的手段,這也是對網(wǎng)絡(luò)訪問的基本安全手段。在路由器的接口上配置訪問控制列表后,可以對入站接口、出站接口及通過路由器中繼的數(shù)據(jù)包進行安全檢測。
IP訪問控制列表的分類
標準IP訪問控制列表
當我們要想阻止來自某一網(wǎng)絡(luò)的所有通信流量,或者充許來自某一特定網(wǎng)絡(luò)的所有通信流量,或者想要拒絕某一協(xié)議簇的所有通信流量時,可以使用標準訪問控制列表來實現(xiàn)這一目標。標準訪問控制列表檢查路由的數(shù)據(jù)包的源地址,從而允許或拒絕基于網(wǎng)絡(luò)、子網(wǎng)或主機的IP地址的所有通信流量通過路由器的出口。
擴展IP訪問控制列表
擴展訪問控制列表既檢查數(shù)據(jù)包的源地址,也檢查數(shù)據(jù)包的目的地址,還檢查數(shù)據(jù)包的特定協(xié)議類型、端口號等。擴展訪問控制列表更具有靈活性和可擴充性,即可以對同一地址允許使用某些協(xié)議通信流量通過,而拒絕使用其他協(xié)議的流量通過。
命名訪問控制列表
在標準與擴展訪問控制列表中均要使用表號,而在命名訪問控制列表中使用一個字母或數(shù)字組合的字符串來代替前面所使用的數(shù)字。使用命名訪問控制列表可以用來刪除某一條特定的控制條目,這樣可以讓我們在使用過程中方便地進行修改。 在使用命名訪問控制列表時,要求路由器的IOS在11.2以上的版本,并且不能以同一名字命名多個ACL,不同類型的ACL也不能使用相同的名字。
通配符掩碼
通配符掩碼是一個32比特位的數(shù)字字符串,它被用點號分成4個8位組,每組包含8比特位。在通配符掩碼位中,0表示“檢查相應(yīng)的位”,1表示“不檢查相應(yīng)的位”。通配符掩碼與IP地址是成對出現(xiàn)的,通配符掩碼與子網(wǎng)掩碼工作原理是不同的。在IP子網(wǎng)掩碼中,數(shù)字1和0用來決定是網(wǎng)絡(luò)、子網(wǎng),還是相應(yīng)的主機的IP地址。如表示172.16.0.0這個網(wǎng)段,使用通配符掩碼應(yīng)為0.0.255.255。
在通配符掩碼中,可以用255.255.255.255表示所有IP地址,因為全為1說明所有32位都不檢查相應(yīng)的位,這是可以用any來取代。而0.0.0.0的通配符掩碼則表示所有32位都要進行匹配,這樣只表示一個IP地址,可以用host表示。所以在訪問控制列表中,可以選擇其中一種表示方法來說明網(wǎng)絡(luò)、子網(wǎng)或主機。
實現(xiàn)方法
首先在全局配置模式下定義訪問列表,然后將其應(yīng)用到接口中,使通過該接口的數(shù)據(jù)包需要進行相應(yīng)的匹配,然后決定被通過還是拒絕。并且訪問列表語句按順序、邏輯地處理,它們在列表中自上向下開始匹配數(shù)據(jù)包。如果一個數(shù)據(jù)包頭與訪問權(quán)限表的某一語句不匹配,則繼續(xù)檢測列表中的下一個語句。在執(zhí)行到訪問列表的最后,還沒有與其相匹配的語句,數(shù)據(jù)包將被隱含的“拒絕”語句所拒絕。
標準IP訪問控制列表:
在實現(xiàn)過程中應(yīng)給每一條訪問控制列表加上相應(yīng)的編號。標準IP訪問控制列表的編號為1至99,作用是阻止某一網(wǎng)絡(luò)的所有通信流量,或允許某一網(wǎng)絡(luò)的所有通信流量。語法為:
Router(config)#access-list access-list-number(1~99)
{deny|permit} source [source-wildcard]
如果沒有寫通配符掩碼,則默認值會根據(jù)源地址自動進行匹配。下面舉例來說明:要阻止源主機為192.168.0.45的一臺主機通過E0,而允許其他的通訊流量通過E0端口。
Router(config)#access-list 1 deny 192.168.0.45 0.0.0.0
或Router(config)#access-list 1 deny host 192.168.0.45
或Router(config)#access-list 1 deny 192.168.0.45
Router(config)#access-list 1 permit any
Router(config)#interface ethernet 0
Router(config-if)#ip access-group 1 in
首先我們在全局配置模式下定義一條拒絕192.168.0.45主機通過的語句,通配符掩碼可以使用0.0.0.0或host,或使用缺省值來表示一臺主機,然后將其訪問列表應(yīng)用到接口中。如果現(xiàn)在又修改了計算機的IP地址,那么這條訪問控制列表將對您不起作用。
擴展IP訪問控制列表:
擴展IP訪問控制列表的編號為100至199,并且功能更加靈活。例如,要阻止192.168.0.45主機Telnet流量,而允許Ping流量。
Router(config)#access-list 101 permit icmp 192.168.0.45 0.0.0.0 any
Router(config)#access-list 101 deny tcp 192.168.0.45 0.0.0.0 any eq 23
Router(config)#access-list 101 permit ip any any
Router(config)#interface ethernet 0
Router(config-if)#ip access-group 101 in
因為Ping命令使用網(wǎng)絡(luò)層的ICMP協(xié)議,所以讓ICMP協(xié)議通過。而Telnet使用端口23,所以將端口號為23的數(shù)據(jù)包拒絕了,最終應(yīng)用到某一接口,這樣就可以達到目的。
命名訪問控制列表:
對于某一給定的協(xié)議,在同一路由器上有超過99條的標準ACL,或有超過100條的擴展ACL。想要通過一個字母數(shù)字串組成的名字來直觀地表示特定的ACL時,并且路由器的IOS版本在11.2及以上時,可以使用命名訪問控制列表,也就是用某些字符串來取代標準與擴展ACL的訪問列表號。命名訪問控制列表的語法格式為:
Router(config)#ip access-list {standard|extended} name
在ACL配置模式下,通過指定一個或多個允許或拒絕條件,來決定一個數(shù)據(jù)包是允許通過還是被丟棄。語法格式如下:
Router(config{std-|ext-}nacl)#{permit|deny}
{source [source-wildcad]|any}
下面是一個配置實例:
ip access-list extended nyist
permit tcp 172.16.0.0 0.0.255.255 any eq 23
deny tcp any any
deny udp 172.16.0.0 0.0.255.255 any lt 1024
interface Ethernet 0
ip access-group nyist in
基于時間訪問列表的應(yīng)用:
隨著網(wǎng)絡(luò)的發(fā)展和用戶要求的變化,從IOS 12.0開始,思科(CISCO)路由器新增加了一種基于時間的訪問列表。通過它,可以根據(jù)一天中的不同時間,或者根據(jù)一星期中的不同日期,或二者相結(jié)合來控制網(wǎng)絡(luò)數(shù)據(jù)包的轉(zhuǎn)發(fā)。這種基于時間的訪問列表,就是在原來的標準訪問列表和擴展訪問列表中,加入有效的時間范圍來更合理有效地控制網(wǎng)絡(luò)。首先定義一個時間范圍,然后在原來的各種訪問列表的基礎(chǔ)上應(yīng)用它。
基于時間訪問列表的設(shè)計中,用time-range 命令來指定時間范圍的名稱,然后用absolute命令,或者一個或多個periodic命令來具體定義時間范圍。IOS命令格式為:
time-range time-range-name absolute
[start time date] [end time date]
periodic days-of-the week hh:mm to
[days-of-the week] hh:mm
下面分別來介紹一下每個命令和參數(shù)的詳細情況:
time-range 用來定義時間范圍的命令。
time-range-name 時間范圍名稱,用來標識時間范圍,以便于在后面的訪問列表中引用。
absolute 該命令用來指定絕對時間范圍。它后面緊跟著start和end兩個關(guān)鍵字。在這兩個關(guān)鍵字后面的時間要以24小時制hh:mm表示,日期要按照日/月/年來表示。如果省略start及其后面的時間,則表示與之相聯(lián)系的permit 或deny語句立即生效,并一直作用到end處的時間為止。如果省略end及其后面的時間,則表示與之相聯(lián)系的permit 或deny語句在start處表示的時間開始生效,并且一直進行下去。
periodic 主要是以星期為參數(shù)來定義時間范圍的一個命令。它的參數(shù)主要有Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday中的一個或者幾個的組合,也可以是daily(每天)、weekday(周一至周五),或者weekend(周末)。
下面我們來看一個實例:在一個網(wǎng)絡(luò)中,路由器的以太網(wǎng)接口E0連接著202.102.240.0網(wǎng)絡(luò),還有一個串口S0連入Internet。為了讓202.102.240.0網(wǎng)絡(luò)內(nèi)的公司員工在工作時間內(nèi)不能進行WEB瀏覽,從2003年5月1日1時到2003年5月31日晚24時這一個月中,只有在周六早7時到周日晚10時才可以通過公司的網(wǎng)絡(luò)訪問Internet。
我們通過基于時間的擴展訪問控制列表來實現(xiàn)這一功能:
Router# config t
Router(config)# interface Ethernet 0
Router(config-if)#ip access-group 101 in
Router(config-if)#time-range http
Router(config-if)#absolute start 1:00 1
may 2003 end 24:00 31 may 2003 periodic Saturday 7:00 to Sunday 22:00
Router(config-if)#ip access-list 101 permit tcp any any eq 80 http
我們是在一個擴展訪問列表的基礎(chǔ)上,再加上時間控制就達到了目的。因為是控制WEB訪問的協(xié)議,所以必須要用擴展列表,那么編號需在100至199之間。我們定義了這個時間范圍的名稱是http,這樣,我們就在列表中的最后一句方便地引用了。
合理有效地利用基于時間的訪問控制列表,可以更有效、更安全、更方便地保護我們的內(nèi)部網(wǎng)絡(luò),這樣您的網(wǎng)絡(luò)才會更安全,網(wǎng)絡(luò)管理人員也會更加輕松。
檢驗
在路由器中用show running-config命令檢查當前正在運行的配置文件,用show ip access-list命令來查看訪問控制列表,并在計算機的命令提示符下用Ping/Telnet命令進行測試。
總結(jié)
在網(wǎng)絡(luò)安全體系中,最重要的安全要素—訪問控制的控制點在網(wǎng)絡(luò)通信通道的出入口上。內(nèi)部網(wǎng)絡(luò)通過路由器的廣域網(wǎng)接口與Internet相連,再通過此路由器的局域網(wǎng)接口接入內(nèi)部網(wǎng)絡(luò),而正確地放置ACL訪問控制列表將起到防火墻的作用。為了滿足與Internet間的訪問控制,以及滿足內(nèi)部網(wǎng)絡(luò)不同安全屬性網(wǎng)絡(luò)間的訪問控制要求,在路由器上配置防火墻,讓網(wǎng)絡(luò)通信均通過它,以此控制網(wǎng)絡(luò)通信及網(wǎng)絡(luò)應(yīng)用的訪問權(quán)限。