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