ACL:是什麼?目的?使用場景?

ACL簡介

定義

訪問控制列表ACL(Access Control List)是由一條或多條規則組成的集合。所謂規則,是指描述報文匹配條件的判斷語句,這些條件可以是報文的源地址、目的地址、端口號等。

ACL本質上是一種報文過濾器,規則是過濾器的濾芯。設備基於這些規則進行報文匹配,可以過濾出特定的報文,並根據應用ACL的業務模塊的處理策略來允許或阻止該報文通過。

ACL結構圖

ACL匹配機制

ACL在匹配報文時遵循“一旦命中即停止匹配”的原則。其實,這句話就是對ACL匹配機制的一個高度的概括。

當然,ACL匹配過程中,還存在很多細節。比如,ACL不存在系統會怎麼處理?ACL存在但規則不存在系統會怎麼處理?爲了對整個ACL匹配過程展開詳細的介紹,小編畫了一張ACL匹配流程圖,相信對大家理解ACL匹配機制能有所幫助。

ACL匹配機制

從整個ACL匹配流程可以看出,報文與ACL規則匹配後,會產生兩種匹配結果:匹配”和“不匹配”

  • 匹配(命中規則):指存在ACL,且在ACL中查找到了符合匹配條件的規則。不論匹配的動作是“permit”還是“deny”,都稱爲“匹配”,而不是隻是匹配上permit規則纔算“匹配”。
  • 不匹配(未命中規則):指不存在ACL,或ACL中無規則,再或者在ACL中遍歷了所有規則都沒有找到符合匹配條件的規則。切記以上三種情況,都叫做“不匹配”。

無論報文匹配ACL的結果是“不匹配”、“允許”還是“拒絕”,該報文最終是被允許通過還是拒絕通過,實際是由應用ACL的各個業務模塊來決定的。

不同的業務模塊,對命中和未命中規則報文的處理方式也各不相同。例如,在Telnet模塊中應用ACL,只要報文命中了permit規則,就允許通過;而在流策略中應用ACL,如果報文命中了permit規則,但流行爲動作配置的是deny,該報文會被拒絕通過。

ACL目的

隨着網絡的飛速發展,網絡安全和網絡服務質量QoS(Quality of Service)問題日益突出。

  • 企業重要服務器資源被隨意訪問,企業機密信息容易泄露,造成安全隱患。

  • Internet病毒肆意侵略企業內網,內網環境的安全性堪憂。

  • 網絡帶寬被各類業務隨意擠佔,服務質量要求最高的語音、視頻業務的帶寬得不到保障,造成用戶體驗差。

以上種種問題,都對正常的網絡通信造成了很大的影響。因此,提高網絡安全性服務質量迫在眉睫。ACL就在這種情況下應運而生了。

通過ACL可以實現對網絡中報文流的精確識別和控制,達到控制網絡訪問行爲、防止網絡攻擊和提高網絡帶寬利用率的目的,從而切實保障網絡環境的安全性和網絡服務質量的可靠性。

ACL的使用場景 

ACL可以應用於諸多業務模塊,其中最基本的ACL應用,就是在簡化流策略/流策略中應用ACL,使設備能夠基於全局、VLAN或接口下發ACL,實現對轉發報文的過濾。

此外,ACL還可以應用在Telnet、FTP、路由等模塊。

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

業務分類

                                                               應用場景

涉及業務模塊

登錄控制

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

例如,一般情況下交換機只允許管理員登錄,非管理員用戶不允許隨意登錄。這時就可以在Telnet中應用ACL,並在ACL中定義哪些主機可以登錄,哪些主機不能。

Telnet、SNMP、FTP、TFTP、SFTP、HTTP

對轉發的報文進行過濾

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

例如,可以利用ACL,降低P2P下載、網絡視頻等消耗大量帶寬的數據流的服務等級,在網絡擁塞時優先丟棄這類流量,減少它們對其他重要流量的影響。

QoS流策略、NAT、IPSEC

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

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

 

例如,發現某用戶向交換機發送大量的ARP攻擊報文,造成交換機CPU繁忙,引發系統中斷。這時就可以在本機防攻擊策略的黑名單中應用ACL,將該用戶加入黑名單,使CPU丟棄該用戶發送的報文。

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

路由過濾

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

例如,可以將ACL和路由策略配合使用,禁止交換機將某網段路由發給鄰居路由器。

BGP、IS-IS、OSPF、OSPFv3、RIP、RIPng、組播協議

 ACL應用案例

1使用基本ACL限制Telnet登錄權限

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

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

查閱Telnet模塊的報文處理機制參照表,當ACL中存在規則的情況下,如果報文匹配上permit規則,則該地址允許登錄設備;如果未匹配上規則,該地址被拒絕登錄設備。

業務模塊

匹配上了permit規則

匹配上了deny規則

ACL中配置了規則,但未匹配上任何規則

ACL中沒有配置規則

ACL未創建

Telnet

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

因此,我們僅需配置一條允許10.1.1.1/32地址通過的permit規則即可,10.1.1.1/32以外的地址的報文因匹配不上任何規則會被拒絕登錄。

2使用基本ACL限制FTP訪問權限示例

組網需求

如圖所示,Switch作爲FTP服務器,對網絡中的不同用戶開放不同的訪問權限:

  • 子網1(172.16.105.0/24)的所有用戶在任意時間都可以訪問FTP服務器。
  • 子網2(172.16.107.0/24)的所有用戶只能在某一個時間範圍內訪問FTP服務器。
  • 其他用戶不可以訪問FTP服務器。

已知Switch與各個子網之間路由可達,要求在Switch上進行配置,實現FTP服務器對客戶端訪問權限的設置。

使用基本ACL限制FTP訪問權限組網圖 

 

配置思路

採用如下的思路在Switch上進行配置:

  1. 配置時間段和ACL,使設備可以基於時間的ACL,對網絡中不同用戶的報文進行過濾,從而控制不同用戶的FTP訪問權限。
  2. 配置FTP基本功能。
  3. 在FTP模塊中應用ACL,使ACL生效。

 

Consul Access Control(ACLS)

Consul使用Access Control Lists (ACLs)來保護UI、API、CLI、服務間通信和agent間通信。ACL的核心是將規則分組到策略中,然後將一個或多個策略與一個Token關聯起來。

Consul ACL可以用來控制數據和接口的訪問。

應用:consul配置acl:允許註冊和訪問所有節點,並讀取任何服務

參考鏈接:

https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#domain-acls

https://learn.hashicorp.com/consul/security-networking/production-acls

https://forum.huawei.com/enterprise/zh/thread-336589.html

https://support.huawei.com/enterprise/zh/doc/EDOC1100038902/9aca1495

https://juejin.im/post/5d3ffce56fb9a06af7121025

https://support.huawei.com/enterprise/zh/doc/EDOC1100116596/bcfa479c

https://muka.app/?p=336

https://www.consul.io/api/acl/acl.html

發佈了410 篇原創文章 · 獲贊 1345 · 訪問量 208萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章