簡介
本文檔介紹為安全防火牆威脅防禦和自適應安全裝置(ASA)配置控制層面訪問規則的過程。
必要條件
需求
思科建議您瞭解以下主題:
- 安全防火牆威脅防禦(FTD)
- 安全防火牆裝置管理員(FDM)
- 安全防火牆管理中心(FMC)
- 安全防火牆ASA
- 存取控制清單(ACL)
- FlexConfig
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 安全防火牆威脅防禦7.2.5版
- 安全防火牆管理員中心版本7.2.5
- 安全防火牆裝置管理器7.2.5版
- 安全防火牆ASA版本9.18.3
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
流量通常透過防火牆,並在資料介面之間路由;在某些情況下,拒絕發往「安全」防火牆的流量是有益的。思科安全防火牆可以使用控制平面訪問控制清單(ACL)來限制「機箱內」流量。控制平面ACL何時有用的一個示例是控制哪些對等體可以建立到安全防火牆的VPN(站點到站點或遠端訪問VPN)隧道。
保護防火牆「機箱中」流量
流量通常從一個介面(入站)穿越防火牆到另一個介面(出站),這稱為「機箱中」流量,由訪問控制策略(ACP)和預過濾器規則共同管理。
圖1.直通箱流量示例
保護防火牆「現成」流量
在其他情況下,流量直接目的地為FTD介面(點對點或遠端存取VPN),這稱為「寄送」流量,由特定介面的控制平面管理。
圖2.收件箱流量示例
有關控制平面ACL的重要注意事項
- 自FMC/FTD版本7.0起,必須使用FlexConfig配置控制平面ACL,使用的命令語法與ASA上使用的相同。
- 關鍵字control-plane附加到訪問組配置,強制流量流向安全防火牆介面。如果沒有在命令後附加控制平面字,ACL將限制流量「透過」安全防火牆。
- 控制平面ACL不會限制安全防火牆介面的SSH、ICMP或TELNET入站。系統會根據平台設定策略處理(允許/拒絕),並且優先順序較高。
- 控制平面ACL將流量限制為「透過」安全防火牆本身,而FTD的訪問控制策略或ASA的常規ACL控制流量「透過」安全防火牆。
- 與普通ACL不同,ACL的結尾沒有隱含的「deny」。
- 對象組搜尋(OGS)功能不適用於控制平面ACL CSCwi58818。
- 建立本檔案時,FTD地理定位功能無法用於限制「存取」FTD。
設定
在下一個範例中,來自某個特定國家的一組IP位址嘗試登入FTD RAVPN,藉以將VPN暴力強行帶入網路。保護FTD免受這些VPN暴力攻擊的最佳選項是設定控制平面ACL來封鎖這些與外部FTD介面的連線。
組態
為FMC管理的FTD設定控制平面ACL
以下是在FMC中配置控制平面ACL以阻止發往外部FTD介面的傳入VPN暴力攻擊時需要遵循的過程:
步驟 1.透過HTTPS打開FMC圖形使用者介面(GUI)並使用您的憑證登入。
圖3.FMC登入頁面
步驟 2.您需要建立延伸型ACL。為此,請導航到對象>對象管理。
圖4.物件管理
步驟 2.1.從左窗格中,導航到Access List > Extended以建立擴展ACL。
圖5.擴展ACL選單
步驟 2.2.然後選擇Add Extended Access List。
圖6.增加擴展ACL
步驟 2.3.鍵入擴展ACL的名稱,然後按一下Add按鈕建立訪問控制項(ACE):
圖7.延伸型ACL專案
步驟 2.4.將ACE操作更改為Block,然後增加源網路以匹配需要拒絕到FTD的資料流,將目標網路保留為Any,然後按一下Add按鈕完成ACE條目:
- 在本示例中,配置的ACE條目阻止來自192.168.1.0/24子網的VPN暴力攻擊。
圖8.被拒絕的網路
步驟 2.5.如果需要增加更多ACE條目,請再次按一下Add按鈕並重複步驟2.4。然後,點選Save按鈕完成ACL配置。
圖9.完成的擴展ACL條目
步驟 3.接下來,您需要設定Flex-Config物件,以將控制平面ACL套用到外部FTD介面。為此,請導航到左側面板,然後選擇選項FlexConfig > FlexConfig Object。
圖10.FlexConfig物件功能表
步驟 3.1.點選增加FlexConfig對象。
圖11.增加Flexconfig對象
步驟 3.2.為FlexConfig對象增加名稱,然後插入ACL策略對象。為此,請選擇Insert > Insert Policy Object > Extended ACL Object。
圖12.FlexConfig對象變數
步驟 3.3.為ACL對象變數增加名稱,然後選取在步驟2.3中建立的擴展ACL,再按一下Save按鈕。
圖13.FlexConfig對象變數ACL分配
步驟 3.4.然後,將控制平面ACL配置為外部介面的入站流量。
指令行語法:
access-group "variable name starting with $ symbol" in interface "interface-name" control-plane
這轉換為下一個命令示例,該示例使用在步驟2.3中建立的ACL變數「VAR-ACL-UNWANTED-COUNTRY」:
access-group $VAR-ACL-UNWANTED-COUNTRY in interface outside control-plane
這就是必須將其配置到FlexConfig對象窗口中的方法,之後,選擇Save按鈕以完成FlexConfig對象。
圖14.Flexconfig Object complete命令列
注意:強烈建議僅針對安全防火牆中接收傳入遠端訪問VPN會話的介面(例如外部介面)配置控制平面ACL。
步驟 4.您需要將FlexConfig物件組態套用到FTD,為此,請導覽至Devices > FlexConfig。
圖15.FlexConfig策略選單
步驟 4.1.然後,如果尚未為FTD建立FlexConfig,請按一下「新增原則」,或編輯現有的FlexConfig原則。
圖16.FlexConfig策略建立
步驟 4.2.為新的FlexConfig原則新增名稱,並選取您要套用建立之控制平面ACL的FTD。
圖17.FlexConfig策略裝置分配
步驟 4.3.在左側面板中,搜尋在步驟3.2中建立的FlexConfig對象,然後按一下Save按鈕以將其增加到FlexConfig策略中(透過按一下位於窗口中間的右箭頭)。
圖18.FlexConfig策略對象分配
步驟 5.繼續將組態變更部署到FTD,並為此請導覽至Deploy > Advanced Deploy。
圖19.FTD進階部署
步驟 5.1.然後,選擇要應用FlexConfig策略的FTD。如果一切正確,請按一下Deploy。
圖20.FTD部署驗證
步驟 5.2.接下來,將會顯示Deployment Confirmation窗口,請增加備註以跟蹤部署並繼續Deploy。
圖21.FTD部署註解
步驟 5.3.部署FlexConfig變更時,可能會出現警告訊息。只有當您完全確定策略配置正確時,才按一下Deploy。
圖22.FTD部署Flexconfig警告
步驟 5.4.確認FTD的原則部署成功。
圖23.FTD部署成功
步驟 6. 如果您為FTD建立新控制平面ACL,或編輯現有且使用中的ACL,則務必強調所做的組態變更不適用於已建立的FTD連線,因此,您需要手動清除對FTD的活動連線嘗試。為此,請連線至FTD的CLI並清除作用中連線。
清除特定主機IP地址的活動連線:
> clear conn address 192.168.1.10 all
清除整個子網路的作用中連線:
> clear conn address 192.168.1.0 netmask 255.255.255.0 all
要清除某個IP地址範圍的活動連線,請執行以下操作:
> clear conn address 192.168.1.1-192.168.1.10 all
注意:強烈建議在clear conn address命令結束時使用關鍵字「all」,強制清除通向安全防火牆的活動VPN暴力連線嘗試,主要是在VPN暴力攻擊的性質導致不斷嘗試進行大量連線的情況下。
[影片]為FMC管理的FTD配置控制平面ACL
為FDM管理的FTD設定控制平面ACL
在FDM中,若要設定控制平面ACL以阻擋傳入外部FTD介面的VPN暴力攻擊,您必須遵循以下程式:
步驟 1.透過HTTPS開啟FDM GUI,並使用您的認證登入。
圖24.FDM登入頁面
步驟 2.您需要建立物件網路。為此,請導航到對象:
圖25.FDM主儀表板
步驟 2.1.在左窗格中,選取「網路」,然後按一下「+」按鈕來建立新的網路物件。
圖26.物件建立
步驟 2.2.新增網路物件的名稱、選取物件的網路型別、新增IP位址、網路位址或IP範圍,以比對需要拒絕到FTD的流量。然後,按一下Ok按鈕完成對象網路。
- 在本示例中,配置的對象網路旨在阻止來自192.168.1.0/24子網的VPN暴力攻擊。
圖27.新增網路物件
步驟 3.然後,您需要建立擴展ACL,為此,請導航到頂部選單中的Device頁籤。
圖28.裝置設定頁面
步驟 3.1.向下滾動,選擇Advanced Configuration正方形中的View Configuration,如下圖所示。
圖29.FDM進階組態
步驟 3.2.然後,在左側面板中導航到Smart CLI > Objects,然後按一下CREATE SMART CLI OBJECT。
圖30.Smart CLI物件
步驟 3.3.為要建立的擴展ACL增加名稱,從CLI模板下拉選單中選擇Extended Access List,然後使用步驟2.2中建立的網路對象配置所需的ACE,然後按一下OK按鈕完成ACL。
圖31.建立擴展ACL
注意:如果需要為ACL增加更多ACE,可以將滑鼠懸停在當前ACE的左側即可;此時不會顯示三個可點選的點。按一下它們並選擇複製以增加更多ACE。
步驟 4.然後,您需要建立FlexConfig對象,為此,請導航到左側面板並選擇FlexConfig > FlexConfig Objects,然後按一下CREATE FLEXCONFIG OBJECT。
圖32.FlexConfig物件
步驟 4.1.為FlexConfig對象增加名稱,以建立控制平面ACL並將其配置為外部介面的入站,如下圖所示。
指令行語法:
access-group "ACL-name" in interface "interface-name" control-plane
這轉換為下一個命令示例,該示例使用在步驟3.3「ACL-UNWANTED-COUNTRY」中建立的擴展ACL:
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
這是將其配置到FlexConfig對象窗口中的方法,之後,選擇OK按鈕以完成FlexConfig對象。
圖33.FlexConfig物件建立
注意:強烈建議僅針對安全防火牆中接收傳入遠端訪問VPN會話的介面(例如外部介面)配置控制平面ACL。
步驟 5.繼續建立FlexConfig策略,為此,請導航到Flexconfig > FlexConfig Policy,按一下「+」按鈕,然後選擇在步驟4.1中建立的FlexConfig對象。
圖34.FlexConfig策略
步驟 5.1.驗證FlexConfig預覽顯示建立的控制平面ACL的配置是否正確,然後按一下Save按鈕。
圖35.FlexConfig策略預覽
步驟 6.將配置更改部署到您想要防止受VPN暴力攻擊的FTD,為此,請按一下頂部選單中的Deployment按鈕,驗證要部署的配置更改是否正確,然後按一下DEPLOY NOW。
圖36.擱置部署
步驟 6.1.驗證策略部署是否成功。
圖37.部署成功
步驟 7. 如果您為FTD建立新控制平面ACL,或編輯現有且使用中的ACL,則務必強調所做的組態變更不適用於已建立的FTD連線,因此,您需要手動清除對FTD的活動連線嘗試。為此,請連線至FTD的CLI並清除作用中連線。
清除特定主機IP地址的活動連線:
> clear conn address 192.168.1.10 all
清除整個子網路的作用中連線:
> clear conn address 192.168.1.0 netmask 255.255.255.0 all
要清除某個IP地址範圍的活動連線,請執行以下操作:
> clear conn address 192.168.1.1-192.168.1.10 all
注意:強烈建議在clear conn address命令結束時使用關鍵字「all」,強制清除通向安全防火牆的活動VPN暴力連線嘗試,主要是在VPN暴力攻擊的性質導致不斷嘗試進行大量連線的情況下。
使用CLI為ASA配置控制平面ACL
在ASA CLI中配置控制平面ACL以阻止傳入VPN暴力攻擊到外部介面時,需要遵循以下步驟:
步驟 1.透過CLI登入安全防火牆ASA並訪問「配置終端」。
asa# configure terminal
步驟 2.使用下一個命令配置擴展ACL,以阻止需要阻止到ASA的流量的主機IP地址或網路地址。
- 在本示例中,您將建立一個名為「ACL-UNWANTED-COUNTRY」的新ACL,並且配置的ACE條目阻止來自192.168.1.0/24子網的VPN暴力攻擊。
asa(config)# access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any
步驟 3.使用next access-group命令將「ACL-UNWANTED-COUNTRY」ACL配置為外部ASA介面的控制平面ACL。
asa(config)# access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
注意:強烈建議僅針對安全防火牆中接收傳入遠端訪問VPN會話的介面(例如外部介面)配置控制平面ACL。
步驟 4. 如果建立新的控制平面ACL或編輯了正在使用的現有控制平面ACL,則必須強調所做的配置更改不適用於已建立的ASA連線,因此,您需要手動清除對ASA的活動連線嘗試。為此,請清除活動連線。
清除特定主機IP地址的活動連線:
asa# clear conn address 192.168.1.10 all
清除整個子網路的作用中連線:
asa# clear conn address 192.168.1.0 netmask 255.255.255.0 all
要清除某個IP地址範圍的活動連線,請執行以下操作:
asa# clear conn address 192.168.1.1-192.168.1.10 all
注意:強烈建議在clear conn address命令結束時使用關鍵字「all」,強制清除通向安全防火牆的活動VPN暴力連線嘗試,主要是在VPN暴力攻擊的性質導致不斷嘗試進行大量連線的情況下。
使用「shun」命令阻止安全防火牆攻擊的其他配置
如果提供立即選項阻止安全防火牆的攻擊,則您可以使用「shun」命令。Theshuncommand用於阻止來自攻擊主機的連線,下面是有關此shun命令的更多詳細資訊:
- 迴避IP地址後,源IP地址的所有未來連線將被丟棄並記錄,直到手動刪除阻止功能為止。
- 無論具有指定主機地址的連線當前是否處於活動狀態,都會應用theshuncommand的阻止功能。
- 如果指定目標地址、源埠和目標埠以及協定,則丟棄匹配的連線,並對源IP地址的所有未來連線使用shun;所有未來連線都會被迴避,而不僅僅是那些匹配這些特定連線引數的連線。
- 每個源IP地址只能使用oneshuncommand。
- 由於theshuncommand用於動態阻止攻擊,因此不會顯示在threat defensedevice配置中。
- 每當刪除介面配置時,也會刪除連線到該介面的所有分路。
- Shun命令語法:
shun source_ip [ dest_ip source_port dest_port [ protocol]] [ vlan vlan_id]
no shun source_ip [ vlan vlan_id]
要迴避主機IP地址,請按照以下步驟繼續處理安全防火牆。 在本示例中,「shun」命令用於阻止來自源IP地址192.168.1.10的VPN暴力攻擊。
FTD的組態範例。
步驟 1.透過CLI登入FTD並套用shun指令。
> shun 192.168.1.10
Shun 192.168.1.10 added in context: single_vf
Shun 192.168.1.10 successful
步驟 2. 您可以使用show命令確認FTD中的shun IP位址和監控每個IP位址的shun命中計數:
> show shun
shun (outside) 192.168.1.10 0.0.0.0 0 0 0
> show shun statistics
diagnostic=OFF, cnt=0
outside=ON, cnt=0
Shun 192.168.1.10 cnt=0, time=(0:00:28)
ASA配置示例
步驟 1.透過CLI登入到ASA並應用shun命令。
asa# shun 192.168.1.10
Shun 192.168.1.10 added in context: single_vf
Shun 192.168.1.10 successful
步驟 2. 您可以使用show命令確認ASA中的shun IP地址並監控每個IP地址的shun命中數:
asa# show shun
shun (outside) 192.168.1.10 0.0.0.0 0 0 0
asa# show shun statistics
outside=ON, cnt=0
inside=OFF, cnt=0
dmz=OFF, cnt=0
outside1=OFF, cnt=0
mgmt=OFF, cnt=0
Shun 192.168.1.10 cnt=0, time=(0:01:39)
注意:有關secure firewall shun命令的詳細資訊,請檢視Cisco安全防火牆威脅防禦命令參考
驗證
要確認安全防火牆的控制平面ACL配置已就緒,請繼續:
步驟 1.透過CLI登入安全防火牆,並運行後續命令以確認應用了控制平面ACL配置。
FMC管理的FTD輸出範例:
> show running-config access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any
> show running-config access-group
***OUTPUT OMITTED FOR BREVITY***
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
由FDM管理的FTD的輸出範例:
> show running-config object id OBJ-NET-UNWANTED-COUNTRY
object network OBJ-NET-UNWANTED-COUNTRY
subnet 192.168.1.0 255.255.255.0
> show running-config access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any4 log default
> show running-config access-group
***OUTPUT OMITTED FOR BREVITY***
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
ASA的輸出示例:
asa# show running-config access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any
asa# show running-config access-group
***OUTPUT OMITTED FOR BREVITY***
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
步驟 2. 要確認控制平面ACL阻止所需的流量,請使用packet-tracer命令模擬到安全防火牆外部介面的傳入TCP 443連線,然後使用show access-list <acl-name> 命令,每當到安全防火牆的VPN暴力連線被控制平面ACL阻止時,ACL命中計數就會增加:
- 在本示例中,packet-tracer命令模擬從主機192.168.1.10發往安全防火牆外部IP地址的傳入TCP 443連線。Packet Tracer輸出可確認流量被丟棄,而show access-list輸出則可顯示現有控制平面ACL的命中計數增量:
FTD的輸出範例
> packet-tracer input outside tcp 192.168.1.10 1234 10.3.3.251 443
Phase: 1
Type: ACCESS-LIST
Subtype: log
Result: DROP
Elapsed time: 21700 ns
Config:
Additional Information:
Result:
input-interface: outside(vrfid:0)
input-status: up
input-line-status: up
Action: drop
Time Taken: 21700 ns
Drop-reason: (acl-drop) Flow is denied by configured rule, Drop-location: frame 0x00005623c7f324e7 flow (NA)/NA
> show access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY; 1 elements; name hash: 0x42732b1f
access-list ACL-UNWANTED-COUNTRY line 1 extended deny ip 192.168.1.0 255.255.255.0 any (hitcnt=1) 0x142f69bf
ASA的輸出示例
asa# packet-tracer input outside tcp 192.168.1.10 1234 10.3.3.5 443
Phase: 1
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Elapsed time: 19688 ns
Config:
Implicit Rule
Additional Information:
MAC Access list
Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: DROP
Elapsed time: 17833 ns
Config:
Additional Information:
Result:
input-interface: outside
input-status: up
input-line-status: up
Action: drop
Time Taken: 37521 ns
Drop-reason: (acl-drop) Flow is denied by configured rule, Drop-location: frame 0x0000556e6808cac8 flow (NA)/NA
asa# show access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY; 1 elements; name hash: 0x42732b1f
access-list ACL-UNWANTED-COUNTRY line 1 extended deny ip 192.168.1.0 255.255.255.0 any (hitcnt=1) 0x9b4d26ac
注意:如果在安全防火牆中實施類似Cisco安全客戶端VPN的RAVPN解決方案,則可嘗試實際連線到安全防火牆,以確認控制平面ACL是否按預期工作,從而阻止所需的流量。
相關錯誤