怎麼使用ACL的established?

2021-09-21 12:32:52 字數 1823 閱讀 3316

1,首先回顧一下tcp協議:

tcp資料報中有六個標誌位(code bits):6 位標誌域。表示為:緊急標誌、有意義的應答標誌、推、重置連線標誌、同步序列號標誌、完成傳送資料標誌。按照順序排列是:urg、ack、psh、rst、syn、fin。在整個tcp資料傳輸過程中ack位除了在第一次握手的時候置位為0外,其他任何時候都置位為1。

三次握手過程:

在tcp/ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。  

第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;  

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;  

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

2,再次拿乙個acl來舉例說明(摘自tcp/ip路由技術 第一卷 第556頁):

假設你實現了乙個訪問列表可以阻止外部發起的tcp會話進入到你的網路中,但是你又想讓內部發起的tcp會話的響應通過,那應該怎麼辦?通過檢查tcp段頭內的ack和rst標記,關鍵字established可以實現這一點。如果這兩個標記都沒有被設定,表明源點正在向目標建立tcp連線,那麼匹配不會發生。最終報文將會在訪問列表中的後繼行中被拒絕。示例如下:

access-list 110 permit tcp any 172.22.0.0 0.0.255.255 established

access-list 110 permit tcp any host 172.22.15.83 eq 25

access-list 110 permit tcp 10.0.0.0 0.255.255.255 172.22.114.0 0.0.255 eq 23

第1行:如果鏈結是從網路172.22.0.0發起的,那麼允許從熱和原電到該網路的tcp報文通過;

第2行:允許來自任意源點,且目標埠號是主機172.22.16.83的埠25的tcp報文通過;

第3行:允許來自網路10.0.0.0,去向網路172.22.114.0/24且目標埠為23的tcp報文通過。

通過上面的acl,大家有沒有注意過,乙個從any到172.22.15.83的25埠的連線,tcp的三次握手,第一次握手肯定是需要匹配第2行acl,因為此報文的標誌位ack置位為0,不能匹配第1行acl。但是此會話的後面的所有資料報文都會匹配第1行了,因為此報文的標誌ack已經置位為1了。這裡是否有問題,請相關牛人鑑定!

3,acl對分片包的處理(摘自一英文技術寶典,經我翻譯如下):

當一ip包被分片時,僅在第乙個分片中包含所有三層與四層資訊,而後續分片則只包含三層資訊,四層資訊丟失。

acl的處理機制:

對於permit aces:當第一分片被匹配上後,後續分片也會匹配上(不檢查四層資訊);

對於deny aces:所有分片都要檢查

三、四層資訊。實際上,對於deny aces,當第一分片被匹配上後被丟棄,而後續分片由於無四層資訊則不能匹配該deny aces,可能在後面檢查時允許通過,則傳到目標地後,由於不能進行重組而被丟棄。但這樣占用了頻寬及目標主機的cpu。

綜合以上,根據3,是否可以判定acl的處理機制有點smart,它可以根據每條ace條目記錄某乙個時段的匹配內容,匹配內容主要包括源和目標ip位址,甚至埠號(tcp條目),從而不會將流量報文匹配錯。也就是說根據2說的同一會話的後續報文不會去匹配第1行acl,而根據acl的記錄內容去匹配第2行acl。

以上純粹是我個人針對acl的分析,有任何不對或者有爭議之處,還請牛人指正,不勝感激!!!

Linux 的ACL的使用

linux的許可權管理總體是3種身份 owner,group,other 組合3種許可權 read,write,execute 而組,更具體細節如對某個使用者,某個組等相應詳細控制就沒法實現。1 acl access control list 2 acl需要檔案系統的支援才可以執行,目前的檔案系統都...

RHEL十九(ACL的使用)

acl,主要的目的是提供傳統的許可權之外的細部的許可權設定,它可以為每乙個使用者設定許可權,為每乙個檔案或目錄設定許可權。setfacl設定acl策略 m 設定或修改檔案或目錄的acl規則 setfacl m u usera r passwd setfacl m m r passwd 掩碼的許可權,...

標準ACL 擴充套件ACL和命名ACL的配置詳解

訪問控制列表 acl 是應用在路由器介面的指令列表 即規則 這些指令列表用來告訴路由器,那些資料報可以接受,那些資料報需要拒絕。訪問控制列表 acl 的工作原理 acl使用包過濾技術,在路由器上讀取osi七層模型的第3層和第4層包頭中的資訊。如源位址,目標位址,源埠,目標埠等,根據預先定義好的規則,...