一,拓撲圖(適用於自反ACL,動態ACL和基於時間的ACL)數據庫
二,地址表 (適用於自反ACL,動態ACL和基於時間的ACL)(學號尾數爲59)安全
R1服務器 |
F0/0網絡 |
10.59.1.1/24session |
F0/1tcp |
10.59.2.1/24測試 |
|
R2this |
F0/0lua |
10.59.1.2/24spa |
R3 |
F0/0 |
10.59.1.3/24 |
R4 |
F0/0 |
10.59.2.4/24 |
三,配置類容
1.自反ACL
用靜態路由配通網絡(以R4爲列,R2,R3省略)
R4(config-if)#ip address 10.59.2.4 255.255.255.0
( 配置容許ICMP能夠不用標記就進入內網,其它的必須被標記才返回。)
r1(config)#ip access-list extended come
r1(config-ext-nacl)#permit icmp any any 被容許的ICMP是不用標記便可進入內網的
r1(config-ext-nacl)#evaluate abc 其它要進入內網的,必須是標記爲abc的
應用ACL
r1(config)#int f0/1
r1(config-if)#ip access-group come in
配置內網出去時,telnet被記錄爲abc,將會被容許返回
r1(config)#ip access-list extended goto
r1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60 telnet已記爲abc
r1(config-ext-nacl)#permit ip any any
應用ACL
r1(config)#int f0/1
r1(config-if)#ip access-group goto out
查看內網向外網發起telnet
r2#telnet 10.59.2.4
(能夠看出,此時內網發向外網的telnet由於被標記爲abc,因此在回來時,開了缺口,也就能夠容許返回了。)
查看ACL
r1#sh ip access-lists
(能夠看到,有一條爲abc的ACL爲容許外網到內網的telnet,正是因爲內網發到外網的telnet被標記了,因此也自動產生了容許其返回的ACL,而且後面跟有剩餘時間。)
2,動態ACL
配置默認不須要認證就能夠經過的數據,如telnet
r1(config)#access-list 100 permit tcp an an eq telnet
配置認證以後才能經過的數據,如ICMP,絕對時間爲2分鐘。
r1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any
應用ACL
r1(config)#int f0/0
r1(config-if)#ip access-group 100 in
測試內網R2 telnet外網R4
r2#telnet 10.59.2.4
(從結果中看出,telnet不受限制。)
測試測試內網R2 ping外網R4
r2#ping 10.59.2.4
(內網在沒有認證以前,ICMP是沒法經過的。)
配置本地用戶數據庫
r1(config)#username ccie password cisco
配置全部人的用戶名具備訪問功能
r1(config)#line vty 0 181
r1(config-line)#login local
r1(config-line)#autocommand access-enable
內網R2作認證
r2#telnet 10.59.1.1
(當telnet路由器認證成功後,是會被關閉會話的。)
測試內網到外網的ICMP通訊功能
r2#ping 10.59.2.4
(認證經過以後,ICMP被放行。)
查看ACL狀態
r1#sh ip access-lists
(能夠看到動態容許的流量已放行。)
3,基於時間的ACL
查看路由當前的時間,並改成當前時間
R1#clock set 17:10:00 April 27 2019
.配置time-range
r1(config)#time-range TELNET
r1(config-time-range)#periodic weekdays 9:00 to 15:00
說明:定義的時間範圍爲每週一到週五的9:00 to 15:00
配置ACL
說明:配置R1在上面的時間範圍內拒絕R2到R4的telnet,其它流量所有經過。
r1(config)#access-list 150 deny tcp host 10.1.1.2 any eq 23 time-range TELNET
r1(config)#access-list 150 permit ip any any
應用ACL
r1(config)#int f0/0
r1(config-if)#ip access-group 150 in
查看當前R1的時間
r1#sh clock
(當前時間爲週六17點,即不在所配置的時間範圍內。)
測試R2向R4發起telnet會話
r2#telnet 10.59.2.4
能夠看到,在規定的時間範圍外,R2向R4發起telnet會話是沒有被拒絕的。
測試除telnet外的其它流量
r2#ping 10.59.2.4
(能夠看到,在規定的時間範圍內,除了telnet以外,其它流量不受限制。)
測試除R2以外的設備telnet狀況
r3#telnet 10.59.2.4
(能夠看到,除R2以外,其它設備telnet並不受限制。)
測試R2向R4發起telnet會話
r2#telnet 10.59.2.4
(在時間範圍以外,所限制的流量被放開。)
4,擴展ACL
拓撲圖
地址表(學號尾數爲59)
R1 |
F0/0 |
172.59.1.1/24 |
F0/1 |
172.59.2.1/24 |
|
S0/0/0 |
172.59.12.1/24 |
|
R2 |
S0/0/0 |
172.59.12.2/24 |
S0/0/1 |
172.59.23.2/24 |
|
R3 |
S0/0/1 |
172.59.23.3/24 |
F0/0 |
172.59.3.3/24 |
|
PC1 |
F0 |
172.59,1,100 |
PC2 |
F0 |
172.59.2.100 |
SERVER |
F0 |
172.59.3.100 |
配置路由器
R1(config)#access-list 110 remark this is an example for extended acl
//添加備註,增長可讀性
R1(config)#access-list 110 deny tcp 172.59.1.0 0.0.0.255 host 172.59.3.100 eq 80
//拒絕PC1 所在網段訪問Server 172.59.3.100 的Web 服務
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.3.100 eq 21
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.3.100 eq 20
//拒絕PC2 所在網段訪問Server 172.59.3.100 的Ftp 服務
R1(config)#access-list 110 deny tcp 172.16.1.0 0.0.0.255 host 172.59.3.100 eq
1433//拒絕PC1 所在網段訪問Server 172.59.3.100 的SQL 服務
R1(config)#access-list 110 deny tcp 172.59.1.0 0.0.0.255 host 172.59.23.3 eq 23
R1(config)#access-list 110 deny tcp 172.59.1.0 0.0.0.255 host 172.59.3.3 eq 23
//拒絕PC1 所在網段訪問路由器R3 的Telnet 服務
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.12.2 eq 80
R1(config)#access-list 110 deny tcp 172.59.2.0 0.0.0.255 host 172.59.23.2 eq 80
//拒絕PC2 所在網段訪問路由器R2 的Web 服務
R1(config)#access-list 110 deny icmp 172.59.1.0 0.0.0.255 host 172.59.3.100
R1(config)#access-list 110 deny icmp 172.59.2.0 0.0.0.255 host 172.59.3.100
//拒絕PC1 和PC2 所在網段ping Server 服務器
R1(config)#access-list 110 permit ip any any
R1(config)#int s0/0/0
R1(config-if)#ip access-group 110 out //接口下應用ACL
配置路由器R3
R3(config)#access-list 120 deny icmp host 172.59.23.2 host 172.59.23.3 echo
R3(config)#access-list 120 permit ip any any
R3(config)#int s0/0/1
R3(config-if)#ip access-group 120 in
實驗調試
路由器R1 上查看ACL110
R1#show ip access-lists 110
路由器R3 和路由器R2 互相ping
R3#ping 172.16.23.2
R2#ping 172.16.23.3
路由器R3 查看ACL 120
R3#show ip access-lists 120
配置命令擴展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 172.16.23.2 host 172.16.23.3 echo
R3(config-ext-nacl)#permit ip any any
R3(config-ext-nacl)#int s0/0/1
R3(config-if)#ip access-group acl120 in
R3#show ip access-lists
5,基於時間上下文的控制訪問
拓撲圖
地址表(學號尾數是59)
R1 |
F0/1 |
192.59.1.1/24 |
S0/0/0 |
10.59.1.1/30 |
|
R2 |
S0/0/0 |
10.59.1.2/30 |
S0/0/1 |
10.59.2.2/30 |
|
R3 |
S0/0/1 |
10.59.2.1/30 |
F0/1 |
192.59.3.1/24 |
|
PC-A |
/ |
192.59.1.3/24 |
PC-C |
/ |
192.59.3.3/24 |
配置靜態路由,使其能互相ping通
R2(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
R2(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R3(config)#ip route 10.59.1.0 255.255.255.252 10.59.2.2
R3(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R1(config)#ip route 10.59.2.0 255.255.255.252 10.59.1.2
R1(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
PC-ApingPC-C
R2pingR1的端口地址
AAA認證:
R1(config)#username admin1 password admin1
R1(config)# aaa new-model
R1(config)#aaa authentication login default local
R1(config)#line console 0
R1(config-line)#login authentication default
VTY鏈接認證:
R1(config)# aaa authentication login telnet-login local
R1(config)# line vty 0 4
R1(config-line)# login authentication telnet-login
在路由器R2上配置基於TACACS+服務器上的AAA認證
R2(config)#username admin2 password admin2
R2(config)#tacacs-server host 192.168.2.2
R2(config)#tacacs-server key admin2
R2(config)#aaa new-model
R2(config)#aaa authentication login default group tacacs+ local
R2(config)#line console 0
R2(config-line)#login authentication default
在路由器R3配置基於RADIUS服務器的AAA認證
R3(config)#username admin3 password admin3
R3(config)#tacacs-server host 192.168.3.2
R3(config)#tacacs-server key admin3
R3(config)#aaa new-model
R3(config)#aaa authentication login default group radius local
R3(config)#line console 0
R3(config-line)#login authentication default
(至此,用戶和密碼已配置完成)
在R3配置一個命名IP ACl阻隔全部外網產生的流量。
R3(config)#ip access-list extendedOUT-IN
R3(config-ext-nacl)# deny ip any any R3(config-ext-nacl)# exit
R3(config)# interface s0/0/1
R3(config-if)# ip access-group OUT-IN in
建立一個CBAC檢測規則
R3(config)# ip inspect name IN-OUT-IN icmp
R3(config)# ip inspect name IN-OUT-INtelnet
R3(config)# ip inspect name IN-OUT-INhttp
R3(config)# ip inspect audit-trail
R3(config)# service timestamps debug datetime msec
R3(config)# logging host 192.168.1.3
R3(config-if)# ip inspect IN-OUT-IN out
R3# show ip inspect interfaces
驗證(R3從新ping其它端口地址)
(能夠看出,其它端口地址已被阻攔,不能ping通)
PC-C ping PC-A, PC-C ping PC-A
(能夠看出,PC-C能ping通PC-A,但不能TELNET,實驗完成)
6,區域策略防火牆
拓撲圖
地址表(學號尾數爲59)
R1 |
F0/1 |
192.59.1.1/24 |
S0/0/0 |
10.59.1.1/30 |
|
R2 |
S0/0/0 |
10.59.1.2/30 |
S0/0/1 |
10.59.2.2/30 |
|
R3 |
S0/0/1 |
10.59.2.1/30 |
F0/1 |
192.59.3.1/24 |
|
PC-A |
/ |
192.59.1.3/24 |
PC-C |
/ |
192.59.3.3/24 |
配置靜態路由,使其能互相ping通
R2(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
R2(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R3(config)#ip route 10.59.1.0 255.255.255.252 10.59.2.2
R3(config)#ip route 192.59.1.0 255.255.255.0 10.59.1.1
R1(config)#ip route 10.59.2.0 255.255.255.252 10.59.1.2
R1(config)#ip route 192.59.3.0 255.255.255.0 10.59.2.1
PC-CpingPC-A
R3ping各個端口地址
在R3建立區域防火牆
R3(config)#zone security IN-ZONE
R3(config-sec-zone)#zone secur
R3(config-sec-zone)#zone security OUT-ZONE
R3(config-sec-zone)#exit
R3(config)#access-list 101 permit ip 192.59.3.0 0.0.0.255 any
R3(config)#class-map type inspect match-all IN-NET-CLASS-MAP
R3(config-cmap)#match access-group 101
R3(config-cmap)#exit
R3(config)#policy-map type ins
R3(config)#policy-map type inspect IN-2-OUT-PMAP
R3(config)#policy-map type inspect IN-2-OUT-PMAP
R3(config-pmap)#class type inspect IN-NET-CLASS-MAP
R3(config-pmap-c)#inspect
%No specific protocol configured in class IN-NET-CLASS-MAP for inspection. All protocols will be inspected
R3(config-pmap-c)#exit
R3(config-pmap)#exit
R3(config)#zone-pair security IN-2-OUT-ZPATR source IN-ZONE destination OUT-ZONE
R3(config-sec-zone-pair)#service-policy type inspect IN-2-OUT-PMAP
R3(config-sec-zone-pair)#exit
R3(config)#int f0/1
R3(config-if)#zone-member security IN-ZONE
R3(config-if)#exit
R3(config)#int s0/0/1
R3(config-if)#zone-member security OUT-ZONE
R3(config-if)#exit
R3(config)#end
測試從IN-ZONE到OUT-ZONE的防火牆功能
R3#show policy-map type inspect zone-pair sessions
測試外部區域到內部區域的防火牆功能
PC-A telnet PC-C
(PC-A不能遠程登陸PC-C)
PC-C ping PC-A
R2 ping PC-C
(R2ping不通PC-C)
四,實驗總結:
經過此次做業,我瞭解了更多關於網絡安全的知識,還有各類acl的用處及不一樣之處,不一樣的acl用於不一樣的環境下。雖然實驗類容數量多,且基於上下文的訪問控制和區域策略防火牆類容難且多,但經過看回老師以前發的文檔和上網搜索,能作出一點,但沒能完整作出來。
如下是我從百度百科中,查詢的2種acl的特色及用法。
自反 ACL 幫助保護您的網絡免遭網絡黑客攻擊,並可內嵌在防火牆防禦中。提供必定級別的安全性,防護欺騙攻擊和某些 DoS 攻擊。自反 ACL 方式較難以欺騙,由於容許經過的數據包須要知足更多的過濾條件。例如,源和目的地址及端口號都會檢查到,而不僅是 ACK 和 RST 位。此類 ACL 使用簡單。與基本 ACL 相比,它可對進入網絡的數據包實施更強的控制。
動態ACL(Access Control List)是對傳統訪問表的一種重要功能加強。動態ACL是可以自動建立動態訪問表項的訪問列表。傳統的標準訪問列表和擴展的訪問列表不能建立動態訪問表項。一旦在傳統訪問列表中加入了一個表項,除非手工刪除,該表項將一直產生做用。而在動態訪問表中,讀者能夠根據用戶認證過程來建立特定的、臨時的訪問表項,一旦某個表項超時,就會自動從路由器中刪除。