ACL訪問控制列表


ACL概述

  • 訪問控制列表ACL(Access Control List)是由一系列permit或deny語句組成的、有序規則的列表,它通過匹配報文的相關信息實現對報文的分類;
  • ACL本身只能夠用於報文的匹配和區分,而無法實現對報文的過濾功能,針對ACL所匹配的報文的過濾功能,需要特定的機制來實現(例如在交換機的接口上使用traffic-filter命令調用ACL來進行報文過濾),ACL只是一個匹配用的工具;
  • ACL除了能夠對報文進行匹配,還能夠用於匹配路由;
  • ACL是一個使用非常廣泛的基礎性工具,能夠被各種應用或命令所調用。

一、ACL技術背景

二、ACL的應用

  • 匹配IP流量(可基於源、目IP地址、協議類型、端口號等元素)
  • 在Traffic-filter中被調用
  • 在NAT中被調用
  • 在路由路由策略中被調用
  • 在IPSec VPN中被調用
  • 在防火牆的策略部署中被調用
  • 在QoS中被調用
  • 其他……

三、ACL包過濾原理

1)基於ACL的包過濾技術

 

 

  • 對進出的數據包逐個過濾,丟棄或允許通過
  • ACL應用於接口上,每個接口的出入雙向分別過濾
  • 僅當數據包經過一個接口時,才能被此接口的此方向的ACL過濾

2)入站包過濾工作流程

 

 

3)出站包過濾工作流程

 

 

四、通配符掩碼

1)概述

  • 通配符掩碼(wildcard-mask)俗稱 反掩碼
  • 通配符掩碼和IP地址結合使用,以描述一個地址范圍

  • 通配符掩碼和子網掩碼相似,但含義不同
    • 0表示對應位須比較
    • 1表示對應位不比較

 

2)特殊的通配符掩碼

192.168.1.1 0.0.0.0    =    192.168.1.1 0

精確匹配192.168.1.1這個IP

 

0.0.0.0 255.255.255.255    =    any

匹配所有IP

 

3)應用示例

示例:匹配192.168.1.0/24這個子網中最后一個8位組為基數的IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等。

 

 

五、ACL分類

1)ACL的標識

  • 可以給訪問控制列表指定名稱,便於維護
  • 利用數字序號標識訪問控制列表

2)基本ACL

  • 基本訪問控制列表只根據報文的源IP地址信息制定規則

3)高級ACL

  • 高級訪問控制列表根據報文的源IP地址、目的IP地址、IP承載的協議類型、協議特性等三、四層信息制定規則

4)二層ACL

  • 二層ACL根據報文的源MAC地址、目的MAC地址、802.1p優先級、二層協議類型等二層信息制定匹配規則

5)ACL的步長

  • ACL 中的每條規則都有自己的編號,這個編號在該ACL中是唯一的。在創建規則時,可以手工為其指定一個編號,如未手工指定編號,則由系統為其自動分配一個編號。
  •  由於規則的編號可能影響規則匹配的順序,因此當由系統自動分配編號時,為了方便后續在已有規則之前插入新的規則,系統通常會在相鄰編號之間留下一定的空間,這個空間的大小(即相鄰編號之間的差值)就稱為ACL的步長。
  • 譬如,當步長為5 時,系統會將編號0、5、10、15……依次分配給新創建的規則。

 六、配置ACL包過濾

1)ACL包過濾配置任務

  • 根據需要選擇合適的ACL分類
  • 創建正確的規則
    • 設置匹配條件
    • 設置合適的動作(Permit/Deny)
  • 在路由器的接口上應用ACL,並指明過濾報文的方向(入站/出站)

2)設置包過濾規則

  • 包過濾功能默認開啟
  • 設置包過濾的默認過濾方式
    • 系統默認的過濾方式是permit,即允許未匹配上ACL規則的報文通過
    • 可以配置包過濾的缺省動作為deny

[H3C] packet-filter default deny

3)配置基本ACL

  • 配置基本ACL,並指定ACL序號
    • 基本IPv4 ACL的序號取值范圍為2000~2999

[H3C] acl basic acl-number

  • 定義規則
    • 制定要匹配的源IP地址范圍
    • 指定動作是permit或deny

[H3C-acl-basic-2000] rule [ rule-id ]{ deny | permit } [ counting | fragment | logging | source{ sour-addrsour-wildcard| any }|time-range time-range-name]

4)配置高級ACL

  • 配置高級IPv4 ACL,並指定ACL序號
    • 高級IPv4 ACL的序號取值范圍為3000~3999

[H3C] acl advanced acl-number

  • 定義規則
    • 需要配置規則來匹配源IP地址、目的IP地址、IP承載的協議類型、協議端口號等信息
    • 指定動作是permit或deny

[H3C-acl-adv-3000]rule [ rule-id ] { deny | permit } protocol [ destination { dest-addr dest-wildcard| any } | destination-port operator port1[ port2 ] established | fragment | source { sour-addr sour-wildcard | any } | source-port operator port1[ port2 ] |time-range time-range-name

5)配置二層ACL

  • 配置二層ACL,並指定ACL序號
    • 二層ACL的序號取值范圍為4000~4999

[H3C] acl mac acl-number

  • 定義規則
    • 需要配置規則來匹配源MAC地址、目的MAC地址、802.1p優先級、二層協議類型等二層信息
    • 指定動作是permit或拒絕deny

[H3C-acl-ethernetframe-4000]rule [ rule-id ] { deny| permit } [ cos vlan-pri | dest-mac dest-addr dest-mask| lsap lsap-type lsap-type-mask | source-mac sour-addr source-mask| time-range time-range-name

6)在接口上應用ACL

  • 將ACL應用到接口上,配置的ACL包過濾才能生效
  • 指明在接口上應用的方向是Outbound(數據離開路由器的方向)還是Inbound(數據進入路由器的方向)

[H3C-Serial2/0 ] packet-filter { acl-number |name acl-name } { inbound| outbound}

7)ACL包過濾顯示與調試

 

七、ACL包過濾的注意事項

1)ACL規則的匹配順序

  • 匹配順序指ACL中規則的優先級
  • ACL支持兩種匹配順序:
    • 配置順序(config):按照用戶配置規則的先后順序進行規則匹配

 

    • 自動排序(auto):按照“深度優先”的順序進行規則匹配,即地址范圍小的規則被優先進行匹配
  • 配置ACL的匹配順序:

[H3C] acl number acl-number[match-order {auto | config}]

2)不同匹配順序導致結果不同

 

3)在網絡中的正確位置配置ACL包過濾

  • 盡可能在靠近數據源的路由器接口上配置ACL,以減少不必要的流量轉發
  • 高級ACL
    • 應該在靠近被過濾源的接口上應用ACL,以盡早阻止不必要的流量進入網絡
  • 基本ACL
    • 過於靠近被過濾源的基本ACL可能阻止該源訪問合法目的
    • 應在不影響其他合法訪問的前提下,盡可能使ACL靠近被過濾的源

 

4)ACL部署位置示例

  • 基本ACL部署位置示例

 

  • 高級ACL部署位置示例

 

 

 

5)ACL包過濾的局限性

  • ACL包過濾是根據數據包頭中的二、三、四層信息來進行報文過濾的,對應用層的信息無法識別
    • 無法根據用戶名來決定數據是否通過
    • 無法給不同的用戶授予不同的權限級別
  • ACL包過濾防火牆是靜態防火牆,無法對應用層的協議進行動態檢測


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM