ACL(訪問控制列表)原理及應用
一、ACL介紹
信息點間通信和內外網絡的通信都是企業網絡中必不可少的業務需求,但是為了保證內網的安全性,需要通過安全策略來保障非授權用戶只能訪問特定的網絡資源,從而達到對訪問進行控制的目的。
簡而言之,ACL(訪問控制列表)可以過濾網絡中的流量,控制訪問的一種網絡技術手段。
實際上,ACL的本質就是用于描述一個IP 數據包、以太網數據幀若干特征的集合。
然后根據這些集合去匹配網絡中的流量(由大量數據包組成),同時根據策略來“允許”或者“禁止”。
作用:
- ACL可以限制網絡流量、提高網絡性能。
- ACL提供對通信流量的控制手段。
- ACL是提供網絡安全訪問的基本手段。
- ACL 可以在路由器端口處決定哪種類型的通信流量被轉發或被阻塞。
二、ACL的分類(基于IP)
1. 標準 ACL
標準型 ACL只能匹配源IP 地址,在應用中有三種匹配的方式:
- any,指任意地址
,指定某個IP 網段 - src_range ,指定 IP 的地址范圍
配置命令:
- ip access-list standard <name> //標準 ACL,name為名字
- {permit | deny} any
- {permit | deny} <network> <net-mask>
- {permit | deny} src_range <start-ip> <end-ip>
2. 擴展型 ACL
擴展型 ACL可匹配多個條目,常用的項目有源、目的IP ,源、目的端口號,以及 ip協議號(種類)等,可以用來滿足絕大多數的應用。
在一個條件中,這些項目的前后順序如下:協議號,源ip地址,源端口號,目的ip地址,目的端 口號。
配置命令:
- ip access-list extended <name>
- {permit|deny} {ip|icmp |tcp| udp} {any |network |src_range} [src_port] {any | network | src_range} [dst_port]
三、ACL的匹配規則
一個端口執行哪條ACL,這需要按照列表中的條件語句執行順序來判斷。
如果一個數據包的報頭跟表中某個條件判斷語句相匹配,那么后面的語句就將被忽略,不再進行檢查。數據包只有在跟第一個判斷條件不匹配時,它才被交給ACL 中的下一個條件判斷語句進行比較。
如果匹配(假設為允許發送),則不管是第 一條還是最后一條語句,數據都會立即發送到目的接口。
如果所有的ACL判斷語句都檢測完畢,仍沒有匹配的語句出口,則該數據包將視為被拒絕而被丟棄(隱含拒絕:deny any )。
這里要注意,ACL不能對本身產生的數據包進行控制。
四、ACL的調用
不同的模塊來調用,將會起到不同的作用,這也是ACL應用廣泛的根本原因。常見的調用ACL的模塊有:
- 包過濾:ip access-group
- 網絡地址轉換:NAT
- 策略路由:PBR
- ip 服務質量:QoS
- 動態路由過濾:RIP/OSPF等
較為常用的是access-group ,其調用方法非常需要確定兩個因素:
- 具體配置接口選擇:一般的原則是離開要被控制的主機更近的那個 口。
- 方向選擇:方向有 in和 out 兩種,一個接口的一個方向上只能同時
調用一個 ACL條目。配置命令:
- interface fastethernet
- ip access-group <name> in|out
五、實驗
實驗一:
使用擴展型ACL,實現 PC ping 不通路由器,但路由器可以ping PC
- ip access-list extended test
- F0/0
- deny icmp 192.168.1.254 255.255.255.0 8
- interface fastethernet 0/0
- ip access-group test in
實驗二:
某網絡中,禁止所有用戶去ping 、telnet、http訪問某服務器(dns
服務器, ip為192.168.1.253),但要其正常提供服務
- ip access-list extended test
- deny icmp any 192.168.1.253 255.255.255.255
- deny tcp any 192.168.1.253 255.255.255.255 eq 23
- deny tcp any 192.168.1.253 255.255.255.255 eq 80
- permit ip any any
實驗三:
某網絡中除了正常的web訪問、郵件收發,其他所有的應用禁止
- ip access-list extended test
- permit tcp any any eq 80
- permit tcp any any eq 25
- permit tcp any any eq 110
- deny ip any any(隱含條目)