對于網絡管理員來說,關于路由器的安全可以做的事情很多。如堵住安全漏洞、避免身份危機、限制邏輯訪問等。我們也有可能為控制臺和虛擬終端連接配置了一個用戶名和密碼提示,這些措施固然重要。不過,我們還要注意實施其它方面的安全功能。
基礎知識
我們可以采取的一項重要的安全措施是實施訪問控制列表(ACL),它實現的是基本的安全。共有兩種類型的訪問控制列表:數字的和名稱的。這兩種類型中的每一種都可分為標準的和擴展的。
數字式的訪問列表:在操作系統中,數字1到99和1300到1999是為標準的訪問列表準備的,而數字100-199和數字2000-2699是為擴展訪問列表保留的。在本文中,我們僅僅使用一個基本的訪問控制列表來保護我們的虛擬終端連接端口即VTY端口。簡言之,我們僅允許某些IP地址或某些網絡地址能夠遠程登錄(telnet)到我們的路由器。
名稱式的訪問列表:一個名稱式訪問控制列表允許我們通過一個包括文字和數字的名稱來引用它。這也就意味著不再使用數字,我們的訪問列表可以具備一個有意義的名字,如“manage_telnet”,這個名字使得其意義和目的非常清楚。
標準的訪問列表:借助于標準的訪問列表,我們可以指定數據包的源地址。因此,我們可以檢查數據包來自哪里,并且根據數據包的源IP地址,我們可以或者允許,或者拒絕這種通信。
擴展的訪問列表:通過擴展的訪問列表,我們能夠更加精細地控制細節。除了可以控制源IP地址,我們還可以控制目的IP地址,我們還可以檢查源端口號和目的端口號,甚至可以檢查許多其它的高級參數,如TCP與UDP、ICMP的比較等。
實例
在本文的例子中,我們將使用數字式的標準訪問列表。我們將使用訪問列表號1,雖然可以從標準訪問列表范圍中選擇任意一個數字。也就是說我們能夠檢查這個數據包的源IP地址。
在這里,筆者只想允許一個人能夠登錄到路由器(您該不會希望有很多人可以登錄到您的路由器吧?)。只需先寫出訪問列表,然后將其應用于我們的VTY端口(用于遠程登錄)。我們將用“*”來控制特定的位模式,并只允許采用幾乎任何組合的特定的網絡/子網。
此外,在這里有一些免費的白皮書討論這些問題。您可以根據自己的路由器和網絡參考其中的配置。
下面具體看一個實例:
bbone_ok>enable
bbone_ok #config t
bbone_ok (config)#access-list 1 permit 130.107.12.114
在這幾行中,我們僅僅進入了全局配置模式,創建了一個訪問列表號1,并只允許源自130.107.12.114的數據包。那么,我們如何知道這是一個源地址而不是目標地址呢?很簡單,因為這是一個標準的訪問列表(1是標準訪問列表范圍中的第一個數字),而且此標準訪問列表所能做的唯一事情就是檢查源IP地址。
到目前為止,這個訪問列表還沒有做任何事情,因為我們并沒有將其運用到任何地方。為了便于理解,我們可以將這個訪問列表當作一個安全警衛。我們已經雇用了這個安全警衛,不過我們還沒有為他分配任務呢:該讓他警衛哪一個門?可以通過使用show startup-config命令查看其“門”的配置,這個列表應當可以被運用到我們希望控制的任何接口上。因為我們想控制VTY端口,所以先給出訪問VTY接口的命令:
bbone_ok(config)#line vty 0 4
bbone_ok(config-line)#access-class 1 in
一旦我們進入了行配置模式,就可以通過“access-class”命令應用前面所創建的訪問列表1。“access-class”命令將此訪問列表應用于行配置模式(即此處的VTY)。
如此一來,這就僅允許擁有IP地址130.107.12.114的用戶能夠登錄到我們的設備,其它的工作站都被禁止。