简介
本文档介绍为安全防火墙威胁防御和自适应安全设备(ASA)配置控制平面访问规则的过程。
先决条件
要求
Cisco 建议您了解以下主题:
- 安全防火墙威胁防御(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上相同。
- 关键词控制平面附加到访问组配置中,用于实施到安全防火墙接口的流量。如果没有在命令后附加控制平面字,ACL将限制通过安全防火墙的流量。
- 控制平面ACL不会限制安全防火墙接口的SSH、ICMP或TELNET入站流量。根据平台设置策略处理(允许/拒绝)这些策略,并且具有更高的优先级。
- 控制平面ACL限制流向安全防火墙本身的流量,而FTD的访问控制策略或ASA的正常ACL控制通过安全防火墙的流量。
- 与普通ACL不同,ACL的末尾没有隐式“deny”语句。
- 对象组搜索(OGS)功能不适用于控制平面ACL(思科漏洞ID CSCwi58818)。
- 在创建本文档时,FTD地理位置功能不能用于限制对FTD的访问。
配置
在下一个示例中,来自某个国家/地区的一组IP地址尝试通过登录到FTD RAVPN来将VPN暴力强行发送到网络。保护FTD免受这些VPN暴力攻击的最佳选项是配置控制平面ACL以阻止这些连接到外部FTD接口。
配置
为FMC管理的FTD配置控制平面ACL
在FMC中需要遵循以下步骤来配置控制平面ACL,以阻止传入VPN暴力攻击到外部FTD接口:
步骤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策略对象。为此,请选择插入>插入策略对象>扩展ACL对象:
图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步VAR-ACL-UNWANTED-COUNTRY中创建的ACL变量:
access-group $VAR-ACL-UNWANTED-COUNTRY in interface outside control-plane
这是在FlexConfig对象窗口中配置该对象的方法,之后,选择Save按钮以完成FlexConfig对象:
图14. Flexconfig Object完成命令行
注意:强烈建议仅在安全防火墙中接收传入远程访问VPN会话的接口(如外部接口)上配置控制平面ACL。
步骤4.您需要将FlexConfig对象配置应用到FTD,为此,请导航到设备> FlexConfig:
图15. FlexConfig策略菜单
第4.1步。然后,如果尚未为FTD创建FlexConfig,请点击New Policy,或者编辑现有FlexConfig策略:
映像16.创建FlexConfig策略
步骤4.2.为新的FlexConfig策略添加名称,并选择要应用创建的控制平面ACL的FTD:
图17. FlexConfig策略设备分配
第4.3步:在左侧面板中,搜索在第3.2步中创建的FlexConfig对象,然后,通过单击位于窗口中间的右箭头将其添加到FlexConfig策略。最后,单击Save按钮:
图18. FlexConfig策略对象分配
第5步:继续将配置更改部署到FTD,为此,请导航到部署>高级部署:
图19. FTD高级部署
第5.1步。然后,选择要应用FlexConfig策略的FTD。如果一切正确,则单击Deploy:
映像20. FTD部署验证
第5.2步。此后,将显示“部署确认”窗口,添加注释以跟踪部署并继续执行部署:
图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以阻止传入VPN暴力攻击到外部FTD接口:
第1步:通过HTTPS打开FDM GUI,然后使用您的凭据登录:
图24. FDM登录页
步骤2.您需要创建对象网络。为此,请导航至对象:
图25. FDM主仪表板
第2.1步:从左侧面板中选择Networks,然后单击“+”按钮创建新的网络对象:
图26.创建对象
第2.2步:为网络对象添加名称,选择对象的Network类型,添加IP地址、网络地址或IP范围以匹配需要拒绝到FTD的流量。然后,单击Ok按钮完成对象网络。
— 在本示例中,配置的对象网络旨在阻止来自192.168.1.0/24子网的VPN暴力攻击:
图27.添加网络对象
步骤3.然后,您需要创建扩展ACL,为此,请导航到顶部菜单的Device选项卡:
图28.设备设置页面
第3.1步:向下滚动,从“高级配置”方块中选择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并访问configure terminal命令。
asa# configure terminal
步骤2.使用next命令配置扩展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地址的所有未来连接设置一个避开值;所有未来连接都将遭到拒绝,而不仅仅是那些与这些特定连接参数匹配的连接。
- 每个源IP地址只能有oneshuncommand。
- 由于theshuncommand用于动态阻止攻击,因此它不会显示在威胁防御设备配置中。
- 每当删除接口配置时,也会删除连接到该接口的所有分路。
- 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命令的详细信息,请查看思科安全防火墙威胁防御命令参考
验证
要确认安全防火墙的控制平面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> 命令,ACL命中计数可以每次VPN暴力连接到安全防火墙被控制平面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是否按预期运行,从而阻止所需的流量。
相关 Bug
- 增强版 |基于地理位置的AnyConnect客户端连接:Cisco Bug ID CSCvs65322
- 文档:ASA/FTD对象组搜索不支持控制平面ACL:Cisco Bug ID CSCwi58818
相关信息