重新排序安全策略
重新排序安全策略允许在创建策略后移动策略。Junos OS 提供了 CLI 语句和命令,用于验证策略列表中策略的顺序,并根据需要更改顺序。
查看和更改安全策略的排序
安全策略按其在配置文件中的出现顺序执行,您应注意以下事项:
- 策略顺序很重要。
- 新策略将移至策略列表的末尾。
- 最后一个策略是默认策略,其默认操作是拒绝所有流量。
当您配置了安全策略的数量时,一个策略可能会使另一个策略黯然失色或 遮盖另一个策略。在这种情况下:
- 您可以使用
show security shadow-policies
命令在策略列表中查看影子策略列表。 - 您可以使用 and
before
语句更改策略的顺序,并将更具体的策略放在其他insert
策略之前。
请看以下示例:
示例 1
[edit] user@host# set security zones security-zone trust interfaces ge-0/0/2 host-inbound-traffic system-services all user@host# set security zones security-zone untrust interfaces ge-0/0/1 host-inbound-traffic system-services all user@host# set security policies from-zone trust to-zone untrust policy permit-all match source-address any user@host# set security policies from-zone trust to-zone untrust match destination-address any user@host# set security policies from-zone trust to-zone untrust match application any user@host# set security policies from-zone trust to-zone untrust set then permit user@host# set security policies from-zone untrust to-zone trust policy deny-all match source-address any user@host# set security policies from-zone untrust to-zone trust policy deny-all match destination-address any user@host# set security policies from-zone untrust to-zone trust policy deny-all match application any user@host# set security policies from-zone untrust to-zone trust policy deny-all then deny
示例 2
[edit] user@host# set security zones security-zone trust interfaces ge-0/0/2.0 host-inbound-traffic system-services all user@host# set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services all user@host# set security address-book book1 address mail-untrust 192.0.2.1/24 user@host# set security address-book book1 attach zone untrust user@host# set security address-book book2 address mail-trust 192.168.1.1/24 user@host# set security address-book book2 attach zone trust user@host# set security policies from-zone trust to-zone untrust policy permit-mail match source-address mail-trust user@host# set security policies from-zone trust to-zone untrust policy permit-mail match destination-address mail-untrust user@host# set security policies from-zone trust to-zone untrust policy permit-mail match application junos-mail user@host# set security policies from-zone trust to-zone untrust policy permit-mail then permit
在示例 1 和 2 中,策略 permit-mail
是在 permit-all
策略之后配置的,从区域 trust
到区域 untrust
。来自区域 untrust
的所有流量都与第一个策略 permit-all
匹配,并且默认允许。没有流量与策略 permit-mail
匹配。
由于 Junos OS 从列表顶部开始执行策略查找,因此当它找到与接收的流量匹配项时,它不会在策略列表中显示为更低的位置。要更正前面的示例,您只需颠倒策略的顺序,将更具体的策略放在首位:
[edit]
user@host# insert security policies from-zone trust to-zone untrust policy permit-mail before policy permit-all
在有数十个或数百个策略的情况下,一个策略被另一个策略忽略可能不那么容易检测。要检查策略是否被影子操作,请输入以下任一命令:
[edit]
user@host# run show security shadow-policies logical-system lsys-name from-zone from-zone-name to-zone to-zone-name
[edit]
user@host# run show security shadow-policies logical-system lsys-name global
此命令报告影子策略和影子策略。然后,管理员有责任纠正这种情况。
注意:
策略 影子 的概念是指策略列表中较高的策略总是先于后续策略生效的情况。由于策略查找始终使用它找到的第一个策略,该策略与源和目标区域、源和目标地址以及应用程序类型的五部分元组匹配,因此,如果另一个策略应用于同一元组(或元组的子集),则策略查找将使用列表中的第一个策略,并且永远不会访问第二个策略。