在安全策略中引用服务和服务组
服务是一个或多个应用协议的集合,由协议类型、源端口、目的端口等信息来指定。服务组是服务的集合,服务组的成员可以是服务,也可以是服务组。
防火墙可以根据服务和服务组识别常用的应用协议。如果数据流量的协议类型和端口号符合服务的条件,就会被认为是指定应用协议的流量。在安全策略中,指定服务或服务组是非常常见和必要的。
自定义服务
防火墙默认提供了常见的知名服务,即预定义服务,例如HTTP、FTP、Telnet、DNS等。在现实网络中,如果协议使用端口与预定义服务的端口不同时,需要创建自定义服务。例如,预定义服务ILS的端口号为1002,但是某些旧版软件可能使用389端口来接收ILS报文。此时,你需要自定义一个端口号为389的服务,并在安全策略中引用。
system-view ip service-set new_ils type object //object表示自定义服务 service protocol tcp destination-port 389 //以目的端口指定ILS服务
对于TCP、UDP和SCTP服务,可以通过源端口和目的端口来定义,通常只定义目的端口即可。
对于ICMP和ICMPv6服务,需要使用类型号和消息码来定义。ICMP服务常用于Ping和Tracert,一般直接使用预定义的ICMP服务即可。但是,ICMP服务也经常被攻击者用来窥测网络或建立隐蔽通道。因此,如果你对安全性有更高的要求,可以自定义服务,仅开放特定类型的ICMP报文。
以Ping为例,Ping需要使用两种类型的ICMP报文:Echo Request(Type 8)和Echo Reply(Type 0)。源端连续发送几个Echo Request报文,目的端收到之后,回送应答报文Echo Reply。如果在超时时间之内,应答报文到达源端,说明目的端可达。防火墙收到源端发出的Echo Request报文后,创建会话并转发报文,目的端返回的Echo Reply命中会话表转发。
在这种情况下,你可以自定义一个ICMP Echo Request服务,用于安全策略。ICMP类型和消息代码更详细的说明可以参考RFC792 Internet Control Message Protocol。
system-view ip service-set ICMP_Echo_Request type object service protocol icmp icmp-type 8 //自定义ICMP type 8
Trust区域的PC要Ping Untrust区域的交换机,安全策略配置如下。
security-policy rule name "Allow Ping" source-zone trust destination-zone untrust source-address 10.1.1.10 24 destination-address 10.1.2.10 24 service ICMP_Echo_Request action permit
配置服务组
system-view ip service-set MgtProt4 type group //group表示自定义服务组 service service-set ftp //添加预定义服务 service service-set ICMP_Echo_Request //添加自定义服务 ip service-set MgtProt type group service service-set MgtProt4 //添加服务组