亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

利用CISCO路由器建立企業網絡的安全機制
2009-01-11   

近幾年來,計算機網絡,特別是互聯網的發展非常迅速,ATM以及IP OVER DWDM技術的發展使網絡傳輸的帶寬快速增加。而網絡安全和管理技術的發展卻相對滯后,網絡安全的呼聲雖高,但真正落到實際的確少之又少。人們往往認為增加企業網絡的安全機制需要增加防火墻、認證服務器等設備,但是價格不菲的安全設備,卻增加了許多小型企業的生產成本,而事實上,我國廣泛使用的CISCO路由器中內嵌IOS中的安全機制以足以滿足一般企業互聯的需求。

從傳統的觀點看,路由器的主要功能是將數據報文從一個網絡傳輸到另一個網絡。路由器在網絡層操作,對應于OSI參考模型的第三層,通過檢測報文的網絡地址,路由器做出轉發報文的決定和相應的動作,與報文一起存在的另一個功能是創建和維護路由表。在安全方面,路由器是保證網絡安全的第一關,其保護是以訪問控制列表(access-list)的形式進行的,被創建的訪問列表可以用來允許或拒絕報文通過路由器。

CISCO路由器的報文過濾可以讓用戶根據報文的源地址、目的地址以及應用類型控制流入網絡的數據流。訪問列表是基于將規則和報文進行匹配來允許或拒絕報文的排序表。路由器對報文的控制是按照訪問列表中語句創建的順序進行的,在列表的結尾處,有一句隱含的"deny all",表明沒有被此句前訪問列表通過的報文將被此句拒絕。

用來允許或拒絕報文的標準是基于報文自身所包含的信息。通常,這些信息只限于報文頭所包含的OSI參考模型的第三層的網絡地址(訪問列表)和第四層的端口(擴展訪問列表)信息。因此,訪問列表基本上不能使用第四層以上的信息過濾報文,比如,擴展訪問列表能夠控制ftp報文的訪問,但卻不能過濾特定的ftp命令如ls 或get等。

一、建立合理的訪問列表,必須了解企業的應用情況

訪問列表的建立是為了保護企業網絡的安全,因此,建立安全合理的訪問列表,首先需要對這個企業的應用進行深入細致的了解,有哪些應用、使用哪些端口,訪問哪些地址等等,使得訪問列表的建立,不會影響到企業正常的網絡運轉。

可以通過下列命令建立訪問列表日志文件來確立企業網絡所使用的端口號:

interface serial 0
ip access-group 101 in
ip access-group 102 out
access-list 101 permit tcp any any log
access-list 101 permit udp any any log
access-list 101 permit ip any any log
access-list 102 permit tcp any any log
access-list 102 permit udp any any log
access-list 102 permit ip any any log logging buffered

一段時間后,使用"show log"命令顯示匹配訪問列表的每個報文的細節信息。由于路由器的log buffer有限,為更徹底了解企業使用TCP/IP端口的詳細情況,可以使用"logging A.B.C.E"命令將路由器所搜集的log信息傳送到IP 地址為A.B.C.E的syslog server上,windows平臺上的免費syslog server 軟件可到http://support.3com.com/software/utilities_for_windows_32_bit.htm處下載。

二、根據具體應用,確立訪問列表的內容

1. 過濾TCP(Transmission Control Protocol)協議

例如:某個企業(如圖)總部在網絡上為其分支機構提供的應用主要有:⑴遠程登錄訪問(telnet: TCP port 23)⑵發送接收電子郵件(smtp:TCP port 25,pop3:TCP port 110)⑶WWW(http:TCP port 80),而總部可以任意訪問他的分支機構。

那么他的路由器的訪問列表定義如下:

access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 23
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 25
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 110
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 80
access-list 100 permit tcp any any established ……
interface serial 0
ip access-group 100 in

由于路由器對流經Serial 0 的TCP報文均按照access-list 訪問列表的內容順序進行檢測,這無疑將大大加重路由器CPU的負擔,因此,建立訪問列表一段時間后,可使用命令"show access-list 100"檢查每項access-list 后面括號中TCP報文的matched數,根據matched數由大到小的順序重新排列訪問列表每個access-list的順序,這樣可以減少報文在訪問列表中不必要的檢測,減少特定報文查找訪問列表的時間,降低路由器CPU的負擔。

一定注意到access-list 100 的最末尾使用了關鍵字"established",它被CISCO路由器訪問列表用來允許TCP返回的報文。它檢測TCP報文中ACK或RST標志位的存在,如果報文中的ACK或RST位被設置了,則通常表示報文是一個正在進行的會話的一部分,所以,使用關鍵字"established"是一種判斷報文是否為一個已知會話的一部分的簡單方法。但是,作為網絡黑客可以非常容易地寫出一段程序,用來生成這兩個標志,并將帶有ACK或RST標志位的報文發送出去,而這些報文卻并非正在進行的合法會話的一部分。在實踐中我們發現TCP返回的報文隨機選擇的端口號范圍為1024~65536(因為Well-Know port的端口范圍是1~1023),所以我們可以將含有關鍵字"established"的訪問控制語句改為:

access-list 100 permit tcp any 192.168.18.0 0.0.0.255 gt 1023 established

這就確保了進入企業內部網絡的報文,其目的端口號必須大于1023。那么,黑客的攻擊報文即使欺騙地使用了ACK和RST位,企圖逃脫訪問列表項的控制,但是它的端口號必須大于1023,這能使得欺騙性的報文不會對端口號低于1024的網絡設備如FTP、DNS、HTTP等服務器造成影響,在一定程度上提高了網絡的安全性。

2. 過濾UDP(User Datagram Protocol)協議

我們知道UDP協議和TCP協議的區別在于UDP是一種無連接的協議。因此,不會有SYN-ACK協商,因此,UDP報文頭也不存在類似TCP協議ACK位或RST位那種可以確定某個報文是否為一個已存在報文會話的一部分的位。

假設上一例子中企業網絡操作系統是基于Windows NT平臺的,使用WINS服務器解析計算機名,假設WINS Server 不在企業總部而在分支機構,它的IP地址為 192.168.2.245。由于互聯網上利用Windows 系統Netbios漏洞(UDP port 137~139)進行攻擊的程序(如winnuke)較多,因此,必須對這部分UDP協議進行過濾,以保證企業總部的計算機系統不受攻擊,同時也不能影響WINS的名字解析工作(UDP port:137,netbios-ns)。

我們根據客戶機的端口號是在1023以上隨機選擇的這樣一個規則,使用如下命令解決了這一難題:

access-list 100 permit udp 192.168.2.245 0.0.0.0 eq 137 any gt 1023

這條命令可以保證藏匿在分支機構的黑客可以欺騙性地使用源地址和源端口,并且報文類似WINS服務器的報文,但是他還是不能給企業總部的任何服務器端口發送報文,因為企業總部的服務器的端口通常小于1024。

3. 過濾ICMP(internet Control Message Protocol)協議

經常使用TCP/IP網絡的人,一定會用到ping和traceroute(Windows 系統為tracert)命令,這兩條命令是基于ICMP協議的。ICMP與其他協議一起為網絡發布錯誤報告,并提供使用其他協議時所發生的相關信息。

我們知道ICMP提供了其他網絡服務和應用程序的大量信息,而黑客也可以使用ICMP來獲取企業網絡上的信息,因此作為網絡管理者是不希望將這些信息泄漏出來的。但是,如果沒有ICMP,網絡管理程序就不能工作,至少不能正常工作。

過濾ICMP比過濾TCP、UDP都要難,因為ICMP信息多數是為了響應其他程序而產生的。因此,要過濾ICMP信息,需要從接口的進出兩個方向都進行報文過濾。

正常情況下,我們使用的ICMP報文有:

⑴echo request:為ping使用的環路測試請求;
⑵echo reply:為ping使用的環路測試回應;
⑶packettoo big:某些程序用來偵測目標地址路徑上的MTU;
⑷time to live (TTL):tracerouter 測試網絡報文生存周期;
⑸destination host unreachable:通知會話目標不可達。

上述報文都需要雙向通訊。回到我們前面的例子,企業總部的網管員可能希望能ping和tracerouter分支機構的網絡設備,而反之則不行。我們可以在路由器的配置中增加下列訪問表項:

interface serial 0
ip access-group 100 in
ip access-group 101 out
access-list 100 permit icmp any 192.168.18.0 0.0.0.255 echo-reply
access-list 100 permit icmp any 192.168.18.0 0.0.0.255 packet-too-big
access-list 100 permit icmp any 192.168.18.0 0.0.0.255 ttl-exceeded
access-list 101 permit icmp 192.168.18.0 0.0.0.255 any echo-reply
access-list 101 permit icmp 192.168.18.0 0.0.0.255 any packet-too-big
access-list 101 permit ip 192.168.18.0 0.0.0.255 any

由于訪問列表在最末隱含"deny all"表項,所以必須在訪問列表101的最后一項要加上"access-list 101 permit ip 192.168.18.0 0.0.0.255 any",否則總部的計算機就無法訪問分支機構的計算機。

4. FTP協議的過濾

之所以將FTP單獨拿出來討論,是因為在建立訪問列表時我們發現FTP是一個非常特殊而且復雜的多端口TCP操作。雖然FTP使用的是TCP端口21(ftp-control),但它還使用了TCP端口20(ftp-data)。端口21用來傳輸FTP命令,端口20用來傳輸數據。令人頭痛的是,客戶機并不是在通過端口21建立FTP連接后簡單地再建立一個到FTP服務器端口20的連接,相反是有FTP服務器從端口20建立與客戶機的連接,它選擇的客戶機端口是大于1023的隨機端口,客戶機然后將端口信息通過已建立的數據通道發往FTP服務器。換句話說,FTP服務器會發起一個到客戶機的返回連接。

回到前面的例子,如果位于企業總部的客戶機希望訪問分支機構的FTP服務器,那么FTP服務器將會發出一個新的連接至FTP的客戶機,雖然報文的目的端口號大于1023,但是它的ACK或RST位不會被設置,那么將會受到"access-list 100 permit tcp any 192.168.18.0 0.0.0.255 gt 1023 established"的阻攔,因此,為保證FTP的正常工作,我們還需在訪問列表中增加一項:

access-list 100 permit tcp any eq 20 192.168.18.0 0.0.0.255 gt 1023

這樣我們就可以保證企業總部的客戶機能夠順利訪問分支機構的FTP服務器了。

三、利用靜態ARP表保障路由器的安全運行

這一點和前面所談的訪問列表關系不大,但是,由于目前許多企業大量使用WINDOWS 平臺下的PC,而WINDOWS系統可以任由用戶自行定義IP地址,而許多用戶在不了解網絡的情況下,錯誤地將自己使用的PC的IP地址改為路由器以太網口的IP地址,這樣勢必造成網絡傳輸的異常。為防止這類情況出現時,嚴重影響企業網絡的正常運轉,可以采取在路由器內建立靜態ARP的辦法,保證除IP地址出現問題的PC外,其他PC的正常工作。我們可以在CISCO路由器上使用如下命令:

arp 192.168.18.200 aa00.0400.6318 arpa

其中aa00.0400.6318為路由器以太網口的MAC地址。


熱詞搜索:

上一篇:安裝配置—路由器的硬件連接二(組圖)
下一篇:交換機及路由器如何更加安全六大法則

分享到: 收藏