目錄
前言
一、ACL概述
1、ACL簡介
2、ACL分類
(1)基本ACL
(2)高級ACL
(3)二層ACL
(4)用戶自定義ACL
(5)用戶ACL
3、ACL組成
(1)ACL標識
(2)ACL規則
4、ACL匹配機制
5、ACL步長
6、ACL的匹配順序
(1)配置順序
(2)自動排序
7、ACL應用場景
(1)在NAT中使用ACL
(2)在防火墻中使用ACL
(3)在QoS中使用ACL
8、常見TCP/UDP埠號
(1)TCP
(2)UDP
二、ACL配置
1、案例
2、配置程序
(1)AR1
(2)AR2
(3)L2-SW1
3、測驗
(1)FTP
(2)客戶機1
(3)客戶機2
結語
前言
ACL本質上是一種報文過濾器,規則是過濾器的濾芯,設備基于這些規則進行報文匹配,可以過濾出特定的報文,并根據應用ACL的業務模塊的處理策略來允許或阻止該報文通過
一、ACL概述
1、ACL簡介
ACL是Access Control List的簡稱,中文是訪問控制串列,ACL表中包含了一系列的規則,所謂規則,是指描述報文匹配條件的判斷陳述句,這些條件可以是報文的源地址、目的地址、埠號等,簡單來說,ACL其實是人為定義的一組或幾組規則,以便設備判斷是否執行用戶指定的動作,抽象來說,通過ACL,可以對報文進行分類,將具有某類共同特征的報文劃分為一類,來為同一類報文提供相同的服務,也可以對不同類的報文提供不同的服務
2、ACL分類
(1)基本ACL
基本ACL編號范圍為2000~2999,規則中只包含源IP地址,對設備的CPU消耗較少,可用于簡單的部署,但是使用場景有限,不能提供強大的安全保障
(2)高級ACL
高級ACL編號范圍為3000~3999,相較于基本ACL,高級ACL提供更高的擴展性,可以對流量進行更精細的匹配,通過配置高級ACL,可以阻止特定主機或者整個網段的源或者目標,除此之外,還可以使用協議資訊(IP、ICMP、TCP、UDP)去過濾相應的流量
(3)二層ACL
二層ACL編號范圍為4000~4999,可根據報文的以太網幀頭資訊來定義規則,在公司的內部網路中,想對特定的終端進行訪問權限控制,這時就需要二層ACL,使用二層ACL,可以根據源MAC地址、目的MAC地址、802.1p優先級、二層協議型別等二層資訊對流量進行管控
(4)用戶自定義ACL
用戶自定義ACL編號范圍為5000~5999,可根據偏移位置和偏移量從報文中提取出一段內容進行匹配
(5)用戶ACL
用戶ACL編號范圍為6000~6031,由于企業內部同部門的作業人員的終端不在同一個網段難以管理,需要將其納入一個用戶組,并對其用戶組進行訪問權限管理,這時候就需要用戶ACL,用戶ACL在高級ACL的基礎上增加了用戶組的配置項,可以實作對不同用戶組的流量管控
3、ACL組成
(1)ACL標識
使用數字標識ACL:不同的型別的ACL使用不同的數字進行標識
使用名稱標識ACL:可以使用字符來標識ACL,就像用域名代替IP地址一樣,更加方便記憶
(2)ACL規則
規則編號:用于標識ACL規則,所有規則均按照規則編號從小到大進行排序
動作:包括permit/deny兩種動作,表示設備對所匹配的資料包接受或者丟棄
匹配項:ACL定義了極其豐富的匹配項,包括生效時間段、IP協議(ICMP、TCP、UDP等)、源/目的地址以及相應的埠號(21、23、80等)
4、ACL匹配機制
首先系統會查找設備上是否配置了ACL
- 如果ACL不存在,則回傳ACL匹配結果為:不匹配
- 如果ACL存在,則查找設備是否配置了ACL規則
- 如果規則不存在,則回傳ACL匹配結果為:不匹配
- 如果規則存在,則系統會從ACL中編號最小的規則開始查找
- 如果匹配上了permit規則,則停止查找規則,并回傳ACL匹配結果為:匹配(允許)
- 如果匹配上了deny規則,則停止查找規則,并回傳ACL匹配結果為:匹配(拒絕)
- 如果未匹配上規則,則繼續查找下一條規則,以此回圈,如果一直查到最后一條規則,報文仍未匹配上,則回傳ACL匹配結果為:不匹配
報文與ACL規則匹配后,會產生兩種匹配結果:“匹配”和“不匹配”
- 匹配(命中規則):指存在ACL,且在ACL中查找到了符合匹配條件的規則,不論匹配的動作是“permit”還是“deny”,都稱為“匹配”,而不是只是匹配上permit規則才算“匹配”
- 不匹配(未命中規則):指不存在ACL,或ACL中無規則,再或者在ACL中遍歷了所有規則都沒有找到符合匹配條件的規則
5、ACL步長
步長,是指系統自動為ACL規則分配編號時,每個相鄰規則編號之間的差值,ACL(特指基本ACL、高級ACL、二層ACL、用戶ACL)的預設步長為5,系統為ACL中首條未手工指定編號的規則分配編號時,使用步長值作為該規則的起始編號;為后續規則分配編號時,則使用大于當前ACL內最大規則編號且是步長整數倍的最小整數作為規則編號,如果重新調整了步長值(例如調整為2),系統則會自動從當前步長值開始重新排列規則編號,規則編號變成2、4、6…,恢復步長值為預設值后,系統則會立刻按照預設步長重新調整規則編號,規則編號變成5、10、15…
6、ACL的匹配順序
共有兩種ACL匹配順序:配置順序(config模式)和自動排序(auto模式),預設的ACL匹配順序是配置順序
(1)配置順序
系統按照ACL規則編號從小到大的順序進行報文匹配,規則編號越小越容易被匹配
- 如果配置規則時指定了規則編號,則規則編號越小,規則插入位置越靠前,該規則越先被匹配
- 如果配置規則時未指定規則編號,則由系統自動為其分配一個編號,該編號是一個大于當前ACL內最大規則編號且是步長整數倍的最小整數,因此該規則會被最后匹配
(2)自動排序
自動排序是指系統使用“深度優先”的原則,將規則按照精確度從高到低進行排序,并按照精確度從高到低的順序進行報文匹配,規則中定義的匹配項限制越嚴格,規則的精確度就越高,即優先級越高,系統越先匹配
7、ACL應用場景
(1)在NAT中使用ACL
通過NAT的埠映射可使得外網訪問內部網路,考慮到內部的網路安全,不可能允許所有的外部用戶訪問內部網路,這時可以設定ACL規則并應用在企業路由器上,使得特定的外網用戶可以訪問內部網路
(2)在防火墻中使用ACL
防火墻用在內外網路邊緣處,防止外部網路對內部網路的入侵,也可以用來保護網路內部大型服務器和重要的資源(如資料),由于ACL直接在設備的轉發硬體中配置,在防火墻中配置ACL在保護網路安全的同時不會影響服務器的性能
(3)在QoS中使用ACL
ACL應用在QoS的流策略中,可以實作不同網段用戶之間訪問權限的限制,從而避免用戶之間隨意訪問形成安全隱患
8、常見TCP/UDP埠號
(1)TCP
| 埠號 | 字串 | 協議 | 說明 |
| 7 | echo | Echo | 計算機命令 |
| 9 | discard | Discard | 用于連接測驗的空服務 |
| 13 | daytime | Daytime | 給請求主機發送日期和時間 |
| 19 | CHARgen | Character generator | 字符生成服務;發送無止境的字符流 |
| 20 | ftp-data | FTP data connections | FTP資料埠 |
| 21 | ftp | File Transfer Protocol(FTP) | 檔案傳輸協議(FTP)埠 |
| 23 | telnet | Telnet | Telnet服務 |
| 25 | smtp | Simple Mail Transport Protocol(SMTP) | 簡單郵件傳輸協議 |
| 37 | time | Time | 時間協議 |
| 43 | whois | Nickname(WHOIS) | 目錄服務 |
| 49 | tacacs | TAC Access Control System (TACACS) | 用于基于TCP/IP驗證和訪問的訪問控制系統(TACACS登錄主機協議) |
| 53 | domain | Domain Name Service(DNS) | 域名服務 |
| 70 | gopher | Gopher | 資訊檢索協議(互聯網檔案搜尋和檢索) |
| 79 | finger | Finger | 用于用戶聯系資訊的Finger服務,查詢遠程主機在線用戶等資訊 |
| 80 | www | World Wide Web(HTTP) | 用于萬維網(WWW)服務的超文本傳輸協議(HTTP),用于網頁瀏覽 |
| 101 | hostname | NIC hostname server | NIC機器上的主機名服務 |
| 109 | pop2 | Post Office Protocol v2 | 郵件協議-版本2 |
| 110 | pop3 | Post Office Protocol v3 | 郵件協議-版本3 |
| 111 | sunrpc | Sun Remote Procedure Call (RPC) | SUN公司的遠程程序呼叫(RPC)協議,用于遠程命令執行,被網路檔案系統(NFS)使用 |
| 119 | nntp | Network News Transport Protocol(NNTP) | 網路新聞傳輸協議,承載USENET通信 |
| 179 | bgp | Border Gateway Protocol (BGP) | 邊界網關協議 |
| 194 | irc | Internet Relay Chat(IRC) | 互聯網中繼聊天(多線交談協議) |
| 512 | exec | Exec (rsh) | 用于對遠程執行的行程進行驗證 |
| 513 | login | Login (rlogin) | 遠程登錄 |
| 514 | cmd | Remote commands | 遠程命令,不必登錄的遠程shell(rshell)和遠程復制(rcp) |
| 515 | lpd | Printer service | 列印機(lpr)假脫機 |
| 517 | talk | Talk | 遠程對話服務和客戶 |
| 540 | uucp | Unix-to-Unix Copy Program | Unix到Unix復制服務 |
| 543 | klogin | Kerberos login | Kerberos版本5 (v5)遠程登錄 |
| 544 | kshell | Kerberos shell | Kerberos版本5 (v5)遠程shell |
(2)UDP
| 埠號 | 字串 | 協議 | 說明 |
| 7 | echo | Echo | 計算機命令 |
| 9 | discard | Discard | 用于連接測驗的空服務 |
| 37 | time | Time | 時間協議 |
| 42 | nameserver | Host Name Server | 主機名服務 |
| 53 | dns | Domain Name Service (DNS) | 域名服務 |
| 65 | tacacs-ds | TACACS-Database Service | TACACS資料庫服務 |
| 67 | bootps | Bootstrap Protocol Server | 引導程式協議 (BOOTP)服務端, DHCP服務使用 |
| 68 | bootpc | Bootstrap Protocol Client | 引導程式協議 (BOOTP)客戶端, DHCP客戶使用 |
| 69 | tftp | Trivial File Transfer Protocol (TFTP) | 小檔案傳輸協議 |
| 90 | dnsix | DNSIX Security Attribute Token Map | DNSIX安全屬性標記圖 |
| 111 | sunrpc | SUN Remote Procedure Call (SUN RPC) | SUN公司的遠程程序呼叫(RPC)協議, 用于遠程命令執行, 被網路檔案系統(NFS)使用 |
| 123 | ntp | Network Time Protocol (NTP) | 網路時間協議,蠕蟲病毒會利用 |
| 137 | netbios-ns | NETBIOS Name Service | NETBIOS名稱服務 |
| 138 | netbios-dgm | NETBIOS Datagram Service | NETBIOS資料報服務 |
| 139 | netbios-ssn | NETBIOS Session Service | NETBIOS會話服務 |
| 161 | snmp | SNMP | 簡單網路管理協議 |
| 162 | snmptrap | SNMPTRAP | SNMP陷阱 |
| 177 | xdmcp | X Display Manager Control Protocol (XDMCP) | X顯示管理器控制協議 |
| 434 | mobilip-ag | MobileIP-Agent | 移動IP代理 |
| 435 | mobilip-mn | MobileIP-MN | 移動IP管理 |
| 512 | biff | Mail notify | 異步郵件,可用來通知用戶有郵件到達 |
| 513 | who | Who | 登錄的用戶串列 |
| 514 | syslog | Syslog | UNIX系統日志服務 |
| 517 | talk | Talk | 遠程對話服務器和客戶端 |
| 520 | rip | Routing Information Protocol | RIP路由協議 |
二、ACL配置
1、案例
通過配置ACL禁止客戶機1訪問FTP服務,允許客戶機2正常訪問

2、配置程序
(1)AR1



(2)AR2

(3)L2-SW1

3、測驗
(1)FTP

(2)客戶機1


(3)客戶機2


結語
ACL作為一個過濾器,設備通過應用ACL來阻止和允許特定流量的流入和流出,如果沒有它,任何流量都會自由流入和流出,使得網路容易受到攻擊
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/357076.html
標籤:其他
上一篇:適用于異構芯片(CPU,ASIC,DSP,FPGA,GPU)的軟體并行技術
下一篇:http協議詳解
