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