訪問控制列表-細說ACL那些事兒(ACL應用篇)

1、 ACL應用範圍

ACL應用的業務模塊非常多,但主要分為以下四類:

登錄控制

對交換機的登錄權限進行控制,允許合法用戶登錄,拒絕非法用戶登錄,從而有效防止未經授權用戶的非法接入,保證網絡安全性。

涉及的業務模塊:Telnet、SNMP、FTP、TFTP、SFTP、HTTP

對轉發的報文進行過濾

對轉發的報文進行過濾,從而使交換機能夠進一步對過濾出的報文進行丟棄、修改優先級、重定向、IPSEC保護等處理。

涉及的業務模塊: QoS流策略、NAT、IPSEC

對上送CPU處理的報文進行過濾

對上送CPU的報文進行必要的限制,可以避免CPU處理過多的協議報文造成佔用率過高、性能下降。

涉及的業務模塊:

黑名單、白名單、用戶自定義流

路由過濾

ACL可以應用在各種動態路由協議中,對路由協議發佈和接收的路由信息進行過濾。

涉及的業務模塊:BGP、IS-IS、OSPF、OSPFv3、RIP、RIPng、組播協議

2、ACL業務模塊的處理機制

各類ACL應用的業務模塊對命中/未命中ACL的處理機制是各不相同的。

例如,在流策略中應用ACL時,如果ACL中存在規則但報文未匹配上,該報文仍可以正常通過;但在Telnet中應用ACL,這種情況下,該報文就無法正常通過了。

再如,在黑名單中應用ACL時,無論ACL規則配置成permit還是deny,只要報文命中了規則,該報文都會被系統丟棄,其他模塊卻不存在這種情況。

所以,大家在配置ACL規則並應用到業務模塊中時,一定要格外小心。

3、ACL應用方式

Telnet

方式一:

系統視圖下執行命令telnet [ ipv6 ] server acl acl-number

方式二:

  1. 執行命令user-interface vty first-ui-number [ last-ui-number ],進入VTY用戶界面視圖
  2. 執行命令acl [ ipv6 ] acl-number { inbound | outbound }

HTTP

系統視圖下執行命令http acl acl-number

SNMP

SNMPv1和SNMPv2c:

系統視圖下執行命令snmp-agent acl acl-number
或snmp-agent community { read | write } { community-name | cipher community-name } [ mib-view view-name | acl acl-number ] *

SNMPv3:

系統視圖下執行命令snmp-agent acl acl-number、snmp-agent group v3 group-name { authentication | privacy | noauthentication } [ read-view read-view | write-view write-view | notify-view notify-view ]* [ acl acl-number ]或snmp-agent usm-user v3 user-name [ group group-name | acl acl- number ] *

FTP

系統視圖下執行命令ftp [ ipv6 ] acl acl-number

TFTP

系統視圖下執行命令tftp-server

[ ipv6 ] acl acl-number

SFTP

方式一:

系統視圖下執行命令ssh [ ipv6 ] server acl acl-number

方式二:

  1. 執行命令user-interface vty first-ui-number [ last-ui-number ],進入VTY用戶界面視圖
  2. 執行命令acl [ ipv6 ] acl-number { inbound
    | outbound }

流策略

  1. 系統視圖下執行命令traffic classifier classifier-name [ operator { and | or } ] [ precedence precedence-value ],進入流分類視圖。
  2. 執行命令if-match acl { acl-number | acl-name },配置ACL應用於流分類。
  3. 系統視圖下執行命令traffic behavior behavior–name,定義流行為並進入流行為視圖。
  4. 配置流動作。報文過濾有兩種流動作:deny 或permit。
  5. 系統視圖下執行命令
    traffic policy policy-name [ match-order { auto | config } ],定義流策略並進入流策略視圖。
  6. 執行命令classifier classifier-name behavior behavior-name,在流策略中為指定的流分類配置所需流行為,即綁定流分類和流行為。在系統視圖、接口視圖或VLAN視圖下,執行命令traffic-policy policy-name { inbound | outbound },應用流策略。

NAT

方式一:

  1. 系統視圖下執行命令nat address-group group-index
    start-address end-address,配置公網地址池。
  2. 執行命令interface interface-type interface-number.subnumber,進入子接口視圖。
  3. 執行命令nat outbound acl-number address-group group-index [ no-pat ],,配置帶地址池的NAT Outbound。

方式二:

  1. 系統視圖下執行命令interface interface-type interface-number.subnumber,進入子接口視圖。
  2. 執行命令nat outbound acl-number,配置Easy IP。

IPSEC

方式一:

  1. 系統視圖下執行命令ipsec policy policy-name seq-number manual,創建手工方式安全策略,並進入手工方式安全策略視圖。
  2. 執行命令security acl acl-number,在安全策略中引用ACL。

方式二:

  1. 系統視圖下執行命令ipsec policy policy-name seq-number isakmp,創建IKE動態協商方式安全策略,並進入IKE動態協商方式安全策略視圖。
  2. 執行命令security acl
    acl-number,在安全策略中引用ACL。

方式三:

  1. 系統視圖下執行命令ipsec policy-template template-name seq-number,創建策略模板,並進入策略模板視圖。
  2. 執行命令security acl acl-number,在安全策略中引用ACL。
  3. 系統視圖下執行命令ipsec policy policy-name seq-number isakmp template template-name,在安全策略中引用策略模板。

白名單

  1. 系統視圖下執行命令cpu-defend policy policy-name,創建防攻擊策略並進入防攻擊策略視圖。
  2. 執行命令whitelist whitelist-id acl acl-number,創建自定義白名單。
  3. 系統視圖下執行命令cpu-defend-policy policy-name [ global ],或槽位視圖下執行命令cpu-defend-policy policy-name,應用防攻擊策略。

黑名單

  1. 系統視圖下執行命令cpu-defend policy policy-name,創建防攻擊策略並進入防攻擊策略視圖。
  2. 執行命令blacklist blacklist-id acl acl-number,創建黑名單。
  3. 系統視圖下執行命令cpu-defend-policy policy-name [ global ],或槽位視圖下執行命令cpu-defend-policy policy-name,應用防攻擊策略。

Route Policy

  1. 系統視圖下執行命令route-policy route-policy-name { permit | deny } node node,創建Route-Policy,並進入Route-Policy視圖。
  2. 執行命令if-match acl
    { acl-number | acl-name },配置基於ACL的匹配規則;或者配置apply子句為路由策略指定動作,如執行命令apply cost [ + | - ] cost,設置路由的開銷值等。
  3. 應用路由策略。路由協議不同,命令行不同。例如針對OSPF協議,可以在OSPF視圖下,執行命令import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static | isis [ process-id-isis ]| ospf
    [ process-id-ospf ] } [ cost cost | type type | tag tag | route-policy route-policy-name ]* },引入其他路由協議學習到的路由信息;針對RIP協議,可以在RIP視圖下,執行命令import-route { { static | direct | unr } | { { rip | ospf | isis } [ process-id ] } } [ cost cost | route-policy route-policy-name ] *

Filter Policy

路由協議不同,過濾方向不同,命令行不同。例如針對RIP協議,對引入的路由進行過濾,可以在RIP視圖下執行命令filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name ] } import [ interface-type interface-number ];對發佈的路由進行過濾,可以在RIP視圖下執行命令filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name } export [

protocol [ process-id ] | interface-type interface-number ] 。

4、ACL應用案例

使用ACL限制Telnet訪問權限

為了保障遠程維護網絡設備的安全性,現要求只有管理員(源地址是10.1.1.1/32)才能telnet登錄交換機,其他人不允許登錄。

訪問控制列表-細說ACL那些事兒(ACL應用篇)

要實現這個需求,一定是在Telnet模塊中應用ACL。那麼該如何配置ACL規則呢?大家是不是認為應該先配置一條permit規則允許10.1.1.1/32登錄,然後再配置多條deny規則拒絕其他地址登錄呢?其實大可不必。

telnet server port 1025
#
acl number 2001 //創建基本ACL,編號為2001
rule 5 permit source 10.1.1.1 0 //僅允許10.1.1.1/32登錄
#
aaa
local-user admin1234 password irreversible-cipher ****** //登錄密碼用******代替,請根據實際情況配置
local-user admin1234 privilege level 3
local-user admin1234 service-type telnet
#
user-interface maximum-vty 8
user-interface vty 0 7
acl 2001 inbound //對通過用戶界面的登錄進行限制


分享到:


相關文章: