基本介紹
- 中文名:動態ACL
- 外文名:Access Control List
- 自動創建:訪問列表
- 類型:功能增強
動態ACL工作原理,動態ACL帶來的好處,配置動態ACL,動態ACL案例研究,
動態ACL工作原理
用戶一般通過提供用戶名和口令,就能夠開啟一個到路由器的telnet會話。也可以配置路由器,讓其只需要口令,而不需要用戶名;但並不推薦這樣做。在用戶被認證之後,路由器會自動關閉telnet會話,並將一個動態訪問表項置於某個訪問表中,以允許源地址為認證用戶工作站地址的報文通過。這樣,我們可以在安全邊界上配置訪問表,只允許那些能夠通過用戶認證的工作站才能傳送向內的報文。
動態訪問表項是傳統訪問表項的一部分。動態訪問表項被添加到訪問表的適當位置上,我們還指定了其餘的傳統訪問表項。然後將訪問表套用到某個接口上。我們至少應該允許到達路由器的telnet通信報文,這樣才能進行用戶認證過程。如果不允許telnet連線,用戶就不能在訪問表中創建動態的訪問表項。並一定要將telnet表項放置在動態表項的前面。只要準確地允許了去往路由器的向內的telnet連線,動態的訪問表項就會根據需要被創建。
動態ACL帶來的好處
在傳統的訪問表中,如果處於路由器不可信任端的用戶需要訪問內部的資源,就必須永久性地在訪問表中開啟一個突破口,以允許這些用戶的工作站下的報文進入可信任網路。這些在訪問表中的永久性的突破口給黑客傳送報文進入安全邊界,並達到內部網路提供了機會。這種情況可以通過只允許特定的可信IP源地址的報文進入內部,解決部分問題。但是,假設用戶不是使用靜態的IP位址呢?則上述的方法就不起作用了。
例如,用戶可以通過Internet服務提供者(Internet Service Provider,ISP)撥號進入Internet。一般情況下,家庭用戶每次撥入ISP時,其IP位址都是不同的,所以,如果不在安全邊界上開啟一個很大的突破口的話,就不能夠允許來自這些用戶的報文通過,而如果這樣做,又給黑客們提供了可乘之機。在這種情況下使用動態訪問表,能夠比使用傳統I P訪問表提供更高的安全級別。
配置動態ACL
Router(config)# access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny |permit} protocol anydestination ip destination mask dynamic-name/指定動態ACL的名稱,timeout指定絕對逾時時間,單位是分鐘
Router(config)# line vty line-number [ending-line-number] /進入允許telnet的vty進程下
Router(config-line)# login local /基於本地定義的用戶名和密碼進行認證
Router(config-line)# login tacacs /基於tacacs伺服器進行認證
Router(config-line)# rotary 1 /如果一旦開啟動態ACL,那么所有發起的telnet會話都會觸發一個動態ACL表項,但是telnet會馬上關閉,如果我們想要管理一台設備的話,就需要在另外一個vtp進程下面輸入該命令,然後在telnet的時候地址後面打上3001。
例如:telnet:192.168.1.1 3001
Router(config-line)# password password /只進行密碼認證
Router(config-line)# autocommand access-enable [host] [timeout minutes] /關鍵命令,輸入該命令就是允許自動建立一個動態ACL,如果不加host,一旦一台主機認證成功以後,那么其他主機就不需要認證了,這樣是不好的。timeout指定空閒逾時時間,單位是分鐘
Router(config)# username name password secret/指定認證時需要輸入的用戶名和密碼
注意1:第一個timeout和第二個timeout的區別,第一個timeout是絕對逾時時間,一般該時間需要大於第二個timeout——也就是空閒逾時時 間,因為該時間是全局的。空閒逾時時間是針對單獨的一個表項的時間,如果該表現在指定的時間內沒有流量通過,那么它就會逾時,並且自動從ACL中刪除。而一旦絕對逾時時間是針對所有表項的,一旦它逾時,所有會話都會被切斷,及時有流量正在傳輸,如果還需要通信,就需要重新建立連線。
注意2:autocommand access-enable既可以在vty進程下面打,也可以在特權模式下打,所不同是是,特權模式下可以打?看到命令的詳細解釋,而vty下面看不到的。
動態ACL案例研究
案例1需求:為192.168.1.0網段上通過認證的用戶提供上網服務,但只允許進行Web瀏覽和FTP訪問。
username internet password cisco
interface ethernet 1
ip address 192.168.1.1 255.255.255.0
ip access-group 100 in
access-list 100 permit tcp any host 192.168.1.1 eq telnet
access-list 100 permit udp any any eq 53
access-list 100 permit tcp any any eq www established
access-list 100 permit tcp any any eq 21 established
access-list 100 dynamic internet timeout 180 permit ip any any log
line vty 0 2
login local
autocommand access-enable host timeout 10
line vty 3 4
login local
rotary 1
案例2需求:允許合法的外部用戶連到198.78.46.12伺服器,以進行telnet和FTP訪問。阻塞從E0到E1的訪問,以防止IP位址為198.78.46.12的伺服器被擊破而影響到內部主機。
username server password cisco
interface ethernet 0
ip address 198.78.46.1 255.255.255.0
ip access-group 101 in
interface serial 0
ip address 202.10.10.1 255.255.255.0
ip access-group 100 in!
access-list 100 permit tcp any host 202.10.10.1 eq telnet
access-list 100 permit tcp any host 198.78.46.12 eq gt 1023 -established
access-list 100 dynamic wolf timeout 180 permit ip any host 198.78.46.12 time-range my-time log
access-list 101 permit tcp any any established
access-list 101 deny ip any 198.78.46.0 0.0.0.255a
time-range my-timer
periodic weekdays 8:00 to 18:00
line vty 0 2
login local
autocommand access-enable host timeout 10
line vty 3 4
login local
rotary 1
案例3需求:為了統一管理用戶,使用TACACS伺服器進行認證,當認證伺服器不可用時,使用本地用戶資料庫進行備份認證。
aaa new-model
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+
username internet password cisco
interface ethernet 17
ip address 192.168.1.1 255.255.255.0
ip access-group 100 in
access-list 100 permit tcp any host 192.168.1.1 eq telnet
access-list 100 permit udp any any eq 53
access-list 100 permit tcp any any eq www established
access-list 100 permit tcp any any eq 21 established
access-list 100 dynamic internet timeout 180 permit ip any any log
tacacs-server host 198.78.46.13
tacacs-server key mykey
line vty 0 2
login authentication default
line vty 3 4
login local
rotary 1