前言

管理协议是指用于管理网络设备的协议,可以根据业务目的管理防火墙,也可以通过防火墙管理其他网络设备。

对于管理防火墙的流量,大部分常用的管理协议都可以通过开启接口访问控制来放行。但是,接口访问控制不能控制流量来源,而管理协议直接关系到网络设备本身的安全。因此,强烈建议关闭接口访问控制功能,设置精确的安全策略,仅向特定发起方开放访问。

telnet、FTP、TFTP协议存在安全风险,建议使用SSH协议执行远程登录和文件传输。以下内容仅供临时开放安全策略时参考,并不构成任何建议。请严格限制临时安全策略的源和目的,并在使用结束后停用。

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

01 如何为Telnet开放安全策略

常见的管理协议,如Telnet、SSH、FTP,具有相似的业务模型。先看Telnet。如图1-1所示,网络中可能有三种业务访问关系。

  • 入方向(Inbound)流量:从管理终端Telnet防火墙的接口地址,是访问防火墙的流量。
  • 出方向(Outbound)流量:从防火墙Telnet服务器的地址,属于从防火墙发出的流量。
  • 穿墙(Transmit)流量:从管理终端Telnet服务器的地址,是经过防火墙的穿墙流量。

图1-1 三种业务访问关系-以Telnet为例

三种流量对应的安全策略如下。请注意源/目的安全区域、源/目的地址所体现出来的访问关系差异。

security-policy rule name "Allow inbound traffic" //设置安全策略名称,带空格时需要使用引号。 source-zone trust destination-zone local source-address 10.1.1.10 24 destinatoin-address 10.1.1.1 24 service telnet //指定开放的服务。 action permit rule name "Allow outbound traffic" source-zone local destination-zone untrust source-address 10.1.2.1 24 destinatoin-address 10.1.2.10 24 service telnet action permit rule name "Allow transmit traffic" source-zone trust destination-zone untrust source-address 10.1.1.10 24 destinatoin-address 10.1.2.10 24 service telnet action permit

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

上述安全策略可以用表 1-1 的形式表示。为了简化文档,后续安全策略示例均采用表格形式。

表1-1 安全策略示例-Telnet

02 如何为FTP和TFTP开放安全策略

2.1 FTP

FTP是多通道协议,客户端首先向服务端的21号端口发起连接请求,建立控制通道,然后客户端和服务端通过协商来确定数据通道的端口。根据FTP工作模式的不同,其协商过程也不同。

  • 主动模式:客户端随机选择一个端口,发起PORT命令,通知服务端自己使用该端口来接收数据。服务端从20号端口向该端口发起新的连接。
  • 被动模式:客户端发起PASV命令,服务端随机选择一个端口,通知客户端向该端口发起数据请求。

不管是哪种工作模式,数据通道使用的端口都是随机的。你无法为数据通道配置精确的安全策略。这个时候,你需要在安全域间启用ASPF功能来解决这个问题。

firewall interzone trust untrust detect ftp quit

当然,ASPF只是解决数据通道的问题,你仍然需要为控制通道配置安全策略。

表 2-1 安全策略示例-FTP

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

以FTP服务器(10.1.2.10)工作于主动模式为例,客户端(10.1.1.10)和服务器之间会建立两个会话。ftp表示控制通道会话,客户端主动访问服务器;ftp-data表示数据通道会话,服务器主动访问客户端。

<sysname> display firewall session-table Current Total Sessions : 2 ftp VPN:public --> public 10.1.1.10:64752+->10.1.2.10:21 //ftp表示此会话为ftp控制通道,+->表示该会话进入ASPF流程 ftp-data VPN:public --> public 10.1.2.10:20-->10.1.1.10:31050 //ftp-data表示此会话为FTP数据通道 <sysname> display firewall server-map Type: ASPF, 10.1.2.10 -> 10.1.1.10:31050, Zone: --- Protocol: tcp(Appro: ftp-data), Left-Time: 00:00:15 //ftp-data表示防火墙通过ASPF流程识别此数据流为FTP数据流 VPN: public -> public

2.2 TFTP

TFTP是简单文件传输协议,其与FTP的主要不同之处在于:

  • TFTP基于UDP传输,使用69号端口建立控制通道。因此,需要在安全策略中指定服务为tftp (UDP 69)。
  • TFTP跟FTP一样动态协商数据通道端口,但不是ASPF默认支持的协议,需要自定义配置。
acl 3000 rule permit udp destination-port eq 69 quit firewall interzone trust untrust detect user-defined 3000 outbound quit

其中,detect user-defined 3000 outbound命令中,outbound表示客户端从高优先级的安全区域访问位于低优先级的安全区域的服务端,反之则为inbound。

03 如何为SSH开放安全策略(STelnet、SFTP、SCP)

SSH是Secure Shell(安全外壳)的简称,是一种在不安全的网络环境中,通过加密机制和认证机制,实现安全的远程访问以及文件传输等业务的网络安全协议。STelnet是华为对SSH远程登录功能的叫法,以突出其相对Telnet的安全性。SCP即Secure Copy,SFTP即Secure FTP,都是基于SSH协议的文件传输协议。

SSH默认使用TCP 22端口建立连接,也支持自定义端口。

表 3-1 安全策略示例-SSH

04 如何为Ping和Tracert开放安全策略

Ping和Tracert是基于ICMP协议的常用网络诊断工具。ICMP即互联网控制消息协议(Internet Control Message Protocol),用于在IP网络中传递控制消息,如报告错误、交换状态信息等。这些消息为管理员诊断网络故障提供帮助。


4.1 Ping

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

为了正常的网络诊断需要,你可能需要允许防火墙主动Ping上下游设备,也可能需要允许上下游设备的Ping穿越防火墙。最简单的安全策略如表1-4所示。

表 4-1 安全策略示例-ICMP

但是,ICMP协议也经常被攻击者用来窥测网络或建立隐蔽通道。因此,如果你对安全性有更高的要求,可以自定义服务,仅开放特定类型的ICMP报文。

Ping需要使用两种类型的ICMP报文:Echo Request(Type 8)和Echo Reply(Type 0)。源端连续发送几个Echo Request报文,目的端收到之后,回送应答报文Echo Reply。如果在超时时间之内,应答报文到达源端,说明目的端可达。防火墙收到源端发出的Echo Request报文后,创建会话并转发报文,目的端返回的Echo Reply命中会话表转发。

图 4-1 Ping的基本工作原理

一般来说,要允许内部特定主机Ping出站,以排除外部网络的故障。在某些情况下,也可能会允许受信任的合作伙伴Ping内部网络中的设备。

表 4-2 安全策略示例-Ping

4.2 Tracert

Tracert主要用来显示数据包到达目的主机所经过的路径。Tracert使用三种ICMP报文:Echo Reply(Type 0)、Echo Request(Type 8)和Time Exceeded(Type 11)。使用PC机发起Tracert的详细过程如图 4-2 所示。以PC探测路由器为例,PC在发起Tracert命令时,以本地IP地址为源,以路由器地址为目的地址,封装ICMP Echo Request报文。

图 4-2 PC机发起Tracert的交互流程

首先发出的ICMP报文TTL=1,交换机收到以后,将TTL减1。此时,TTL=0,交换机丢弃报文,并回送一个Time Exceeded报文,源地址为交换机的地址。PC收到报文以后,就知道了自己的下一跳地址。

PC再次发出Echo Request报文,TTL=2。交换机收到以后,将TTL减1,并转发给防火墙。防火墙再减1,TTL=0。防火墙丢弃报文,并回送一个Time Exceeded报文,源地址为防火墙的地址,载荷为PC发出的Echo Request报文。PC收到报文以后,就知道了第二跳的地址。

PC重复这个过程,直到Echo Request报文到达真正的目的地址。此时,路由器回送Echo Reply报文给PC。

在Tracert过程中,源端发出Echo Request,目的端返回Echo Reply,会话建立和匹配的过程与Ping一样。对于探测路径中间设备返回的Time Exceeded报文,防火墙会提取载荷中的原始报文来匹配会话表。在状态检测机制下,你只需要为Tracert发起方向配置安全策略即可。也就是说,按照表 4-2 为Ping开放安全策略之后,Tracert业务也可以正常访问了。

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

需要说明的是,以上工作过程仅适用于Windows系统下的Tracert。UNIX-like操作系统中对应的工具是Traceroute。Traceroute默认使用UDP报文探测目的地址,并且故意选择33434~33534之间的目的端口(通常首次探测使用33434,第二次使用33435,以此类推)。因为这些端口并不存在,目标主机收到报文以后,会回送一个端口不可达的报文(Port Unreachable,ICMP type 3 code 3)。很多网络设备的处理方式与UNIX-like操作系统类似,例如华为防火墙、交换机产品,即以UDP报文发起探测。一些UNIX-like操作系统的Traceroute命令也提供了参数选项,可以使用ICMP Echo Request或者其他协议报文发起探测。

网络工程师在定位故障时,既可能使用基于ICMP探测的Tracert,也可能使用基于UDP探测的Traceroute。因此,你还需要放行探测发起方的UDP 33434-33534报文。完整的安全策略如表 4-3 所示。

表 4-3 安全策略示例-Tracert

05 如何为HTTP、HTTPS和RESTCONF开放安全策略

防火墙提供了简单易用的Web UI。用户从浏览器访问承载在防火墙上的HTTP Server,可以完成绝大部分的配置管理工作。缺省情况下,防火墙启用HTTPS服务,服务端口为8443,且不可修改。从浏览器发起的HTTP访问会被重定向到HTTPS。

RESTCONF以HTTP协议的方法提供了NETCONF协议的核心功能,编程接口符合IT业界流行的RESTful风格,为用户提供高效开发Web化运维工具的能力。RESTCONF承载在HTTPS服务上,默认服务端口为8447(部分版本支持选择HTTP服务,端口为8448)。

图 5-1 HTTP和RESTCONF访问关系

从浏览器访问Web UI,或者通过RESTCONF接口访问防火墙,都需要配置安全策略。对于访问交换机的Web UI和RESTCONF流量,也需要开放相应的安全策略,这里以HTTPS(443)和RESTCONF(8443)。

表 5-1 安全策略示例-RESTCONF

06 如何为SNMP开放安全策略

SNMP是最广泛使用的网络管理协议。网管软件作为SNMP Manager,向被管设备中的SNMP Agent发出管理操作的请求。被管设备在检测到异常时,也会主动向SNMP Manager发送Trap信息。也就是说,网管软件和被管设备都会主动发起连接,如图 6-1 所示。

图 6-1 SNMP典型组网和业务访问关系

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

因此,你需要开放两条安全策略,让NMS可以主动管理设备,设备可以主动向NMS发送Trap。

表 6-1 安全策略示例-SNMP

07 如何为NETCONF开放安全策略

NETCONF(Network Configuration Protocol,网络配置协议)是一种基于XML的网络管理协议,它提供了一种对网络设备进行配置和管理的可编程方法。NETCONF协议的传输层可以是BEEP、SSH、TLS或SOAP。由于RFC协议规定必须支持SSH,所以目前SSH是NETCONF使用最广泛的传输层协议,当前华为防火墙产品仅支持SSH。

网管软件NMS作为NETCONF Client,向作为NETCONF Server的设备发起连接请求,建立SSH连接,NETCONF会话就承载在SSH连接之上。RFC 6242规定,NETCONF Server(被管设备)默认使用TCP 830端口接受NETCONF Client的SSH连接请求。多数网络设备都提供了修改NETCONF over SSH的端口的方法,你需要根据网络设备的配置,确定开放哪些端口。

图 7-1 NETCONF典型组网图

对于NMS主动管理设备的流量,请参考表 7-1 配置安全策略。另外,在某些场景中,被管设备需要主动向网管软件注册,即Call-home。此时,被管设备主动向网管软件发起连接,需要开放相应方向的安全策略(即下表中103)。

表 7-1 安全策略示例-NETCONF

表 7-2 NETCONF通信端口

08 如何为日志开放安全策略

网络民工专注于IT技术领域,结合实战经验,为您分享网络技术、系统集成、网络工程等一线技术解析和实践案例等深度干货文章,愿我们一起悦享技术,成就梦想!

网络中日志流量的典型组网如图 8-1 所示。通常,路由器、交换机、服务器等设备向日志主机发送Syslog日志信息使用UDP 514端口。如果日志流经防火墙,需要在防火墙上开放安全策略。

图 8-1 日志输出典型组网

防火墙支持输出多种类型的日志。在输出日志信息到日志服务器时,部分日志不需要配置安全策略。具体情况如表 8-1所示。

表 8-1 日志类型与安全策略

安全策略的配置如表 8-2所示。请根据实际需要选择需要开放的服务。

表 8-2 安全策略示例-日志

1.《防火墙如何策略最安全,如何添加防火墙策略》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《防火墙如何策略最安全,如何添加防火墙策略》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3214512.html