简介
本文档介绍为安全防火墙威胁防御和自适应安全设备(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上相同的命令语法。
- 关键字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以阻止传入VPN暴力攻击到外部FTD接口:
步骤1:通过HTTPS打开FMC图形用户界面(GUI)并使用您的凭证登录。
图 3.FMC登录页面
第二步:您需要创建扩展ACL。为此,请导航到对象>对象管理。
图 4.对象管理
步骤 2.1在左窗格中,导航到访问列表>扩展以创建扩展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条目已完成
第三步:然后,您需要配置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 complete命令行
注意:强烈建议仅在安全防火墙中针对接收传入远程访问VPN会话的接口(例如外部接口)配置控制平面ACL。
第四步:您需要将FlexConfig对象配置应用于FTD,为此,请导航至设备(Devices) > FlexConfig。
图 15.FlexConfig Policy菜单
步骤 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策略对象分配
第五步:继续将配置更改部署到FTD,为此,请导航到部署>高级部署。
图 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部署成功
第六步: 如果为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登录”页
第二步:您需要创建对象网络。为此,请导航到对象:
图 25.FDM主仪表板
步骤 2.1在左窗格中,选择“网络”,然后单击“+”按钮以创建新的网络对象。
图 26.创建对象
步骤 2.2为网络对象添加名称,选择对象的Network类型,添加IP地址、网络地址或IP范围以匹配需要拒绝到FTD的流量。然后,单击Ok按钮完成对象网络。
- 在本示例中,配置的对象网络旨在阻止来自192.168.1.0/24子网的VPN暴力攻击。
图 27.添加网络对象
第三步:然后,您需要创建扩展ACL,为此,请导航到顶部菜单中的Device选项卡。
图 28.设备设置页面
步骤 3.1向下滚动,然后从“高级配置”正方形中选择查看配置(如图所示)。
图 29.FDM高级配置
步骤 3.2然后,在左侧面板中导航到Smart CLI > Objects,然后单击CREATE SMART CLI OBJECT。
图 30.智能CLI对象
步骤 3.3为要创建的扩展ACL添加名称,从CLI模板下拉菜单中选择Extended Access List,然后使用步骤2.2中创建的网络对象配置所需的ACE,再单击OK按钮完成ACL。
图 31.创建扩展ACL
注意:如果需要为ACL添加更多ACE,可以通过将鼠标悬停在当前ACE的左侧来执行此操作;然后不会出现三个可点击的点。单击它们并选择“复制”以添加更多ACE。
第四步:然后,您需要创建FlexConfig对象,为此,请导航到左侧面板,选择FlexConfig > FlexConfig对象,然后单击创建FLEXCONFIG对象。
图 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。
第五步:继续创建FlexConfig策略,为此,请导航到Flexconfig > FlexConfig Policy,点击“+”按钮,并选择在步骤4.1中创建的FlexConfig对象。
图 34.FlexConfig策略
步骤 5.1验证FlexConfig预览是否显示已创建的控制平面ACL的正确配置,然后单击Save按钮。
图 35.FlexConfig策略预览
第六步:将配置更改部署到要防范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
第二步:使用下一命令配置扩展ACL以阻止主机IP地址或需要阻止至ASA的流量的网络地址。
- 在本示例中,您将创建一个名为“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
第三步:使用next access-group命令将“ACL-UNWANTED-COUNTRY”ACL配置为外部ASA接口的控制平面ACL。
asa(config)# access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
注意:强烈建议仅在安全防火墙中针对接收传入远程访问VPN会话的接口(例如外部接口)配置控制平面ACL。
第四步: 如果创建新的控制平面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”命令。Threhuncommand允许您阻止来自攻击主机的连接,此处提供有关此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
第二步: 您可以使用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
第二步: 您可以使用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
第二步: 要确认控制层面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是否如预期一样工作,从而阻止所需的流量。
相关 Bug