ASA 訪問列表和出口過濾
我正在嘗試學習如何使用 cisco ASA 防火牆,但我真的不知道自己在做什麼。我正在嘗試設置一些出口過濾,目的是只允許最少量的流量流出網路,即使它來自內部介面。換句話說,我正在嘗試設置 dmz_in 和 inside_in ACL,就好像內部介面不太值得信賴一樣。
我還沒有完全掌握所有的概念,所以我有一些問題。
假設我們正在使用三個介面:內部、外部和 DMZ。
假設我有一個必須響應 PING、HTTP、SSH、FTP、MySQL 和 SMTP 的伺服器 (XYZ1)。我的 ACL 看起來像這樣:
access-list outside_in extended permit icmp any host X.Y.Z.1 echo-reply access-list outside_in extended permit tcp any host X.Y.Z.1 eq www access-list outside_in extended permit tcp any host X.Y.Z.1 eq ssh access-list outside_in extended permit tcp any host X.Y.Z.1 eq ftp access-list outside_in extended permit tcp any host X.Y.Z.1 eq ftp-data established access-list outside_in extended permit tcp any host X.Y.Z.1 eq 3306 access-list outside_in extended permit tcp any host X.Y.Z.1 eq smtp
我這樣應用它:
access-group outside_in in interface outside
我的問題是,我可以為出口過濾做些什麼?我只想允許最少量的流量。我是否只是“顛倒”規則(即 smtp 規則變為
access-list inside_out extended permit tcp host X.Y.Z.1 any eq smtp
) 並收工,還是我可以進一步取消我的選擇?我可以安全地阻止什麼?
此外,在進行出口過濾時,將“反轉”規則應用於外部介面是否就足夠了,還是我也應該考慮製作 dmz_in 和 inside_in acls?
我經常聽到“出口過濾”這個詞,但我真的不知道我在做什麼。任何指向良好資源和閱讀的指針也會有所幫助,我發現的大多數人都認為我比我知道的要多得多。
在了解細節之前,先進行一些概述。每個介面有兩個 ACL;一個入口 ACL(名為 interface_in)和一個出口 ACL(名為 interface_out)。命名的訣竅是避免從“內部”和“外部”的角度來思考它;取而代之的是,將其視為“進入(進入/離開)此界面的流量”。
這在應用給定規則的位置方面提供了很大的靈活性,但也可能成為不必要的複雜性的巨大來源。
所以,以你的例子為例。如果您希望阻止埠 25 (smtp) 上源自內部主機並發往 Internet 主機的連接,您有兩種選擇:
access-list inside_in extended deny tcp host X.Y.Z.1 any eq smtp
和
access-list outside_out extended deny tcp host X.Y.Z.1 any eq smtp
如果您只有兩個介面,這些命令將具有相同的效果。當這變得複雜時,您有更多介面;例如,一個 DMZ 介面。
第一個命令(在 inside_in ACL 上)只會在流量進入 inside->outside 時阻止該流量,但不會阻止 dmz->outside。第二個命令(在 outside_out ACL 上)將阻止兩者。
因此,這些是在何處應用出口規則的選項。我對你自己的理智的建議是只使用這兩個選項之一(如果你必須複製一些規則);如果你強迫自己檢查 5 種不同的 ACL 來排除一個流量的故障,你將自取其辱。