思维导图
01
安全区域
防火墙安全区域产生背景
所有进出内网的流量应该都经过防火墙,而内外网天然就是分开的,所以需要安全区域控制。
防火墙安全区域基本概念
安全区域(Security Zone):它是一个或多个接口的集合,是防火墙区别于路由器的主要特性。防火墙通过安全区域来划分网络、标识报文流动的“路线”,当报文在不同的安全区域之间流动时,才会触发安全检查。相同区域不受限制,不同区域必须按照安全策略进行控制。
默认安全区域
华为防火墙产品默认提供了Trust、DMZ、Untrust和Local三个可配置的安全区域。
Trust区域:网络的受信任程度高;通常用来定义内部用户所在的网络。
DMZ区域:网络的受信任程度中等;通常用来定义内部服务器所在的网络。
Untrust区域:网络的受信任程度低;通常用来定义Internet等不安全的网络。
Local安全区域:防火墙上提供的Local区域,代表防火墙本身。
凡是由防火墙主动发出的报文均可认为是从Local区域中发出,凡是需要防火墙响应并处理(而不是转发)的报文均可认为是由Local区域接收。
Local区域中不能添加任何接口,但防火墙上所有业务接口本身都属于Local区域。
由于Local区域的特殊性,在很多需要设备本身进行报文收发的应用中,需要开放对端所在安全区域与Local区域之间的安全策略。例如Telnet登录、网页登录、接入SNMP网管等。
安全区域、受信任程度与优先级
在华为防火墙上,每个安全区域都有一个唯一的优先级,用1至100的数字表示,数字越大,则代表该区域内的网络越可信。
默认安全区域受信任程度:Local > Trust > DMZ > Untrust;
用户可以根据实际组网需要,自行创建安全区域并定义其优先级。local 100,Trust 85,DMZ 85,Untrust 5
02
安全策略
域间通信-安全策略
防火墙的基本作用是对进出网络的访问行为进行控制,保护特定网络免受“不信任”网络的攻击,但同时还必须允许两个网络之间可以进行合法的通信。防火墙一般通过安全策略实现以上功能。
安全策略是由匹配条件(例如五元组、用户、时间段等)和动作组成的控制规则,防火墙收到流量后,对流量的属性(五元组、用户、时间段等)进行识别,并将流量的属性与安全策略的匹配条件进行匹配。如果所有条件都匹配,则此流量成功匹配安全策略。
流量匹配安全策略后,设备将会执行安全策略的动作:
如果动作为“允许”,且没有配置内容安全检测,则允许流量通过;
如果动作为“允许”,且配置了内容安全检测,则根据内容安全检测的结论来判断是否对流量进行放行;
如果动作为“禁止”,则禁止流量通过。
安全域间、安全策略与报文流动方向
安全域间是用来描述流量的传输通道,它是两个“区域”之间的唯一“道路”。如果希望对经过这条通道的流量进行检测,就必须在通道上设立“关卡”,如防火墙安全策略。
任意两个安全区域都构成一个安全域间(Interzone),并具有单独的安全域间视图;
安全域间的数据流动具有方向性,包括入方向(Inbound)和出方向(Outbound)。
安全策略的匹配过程
防火墙默认原则:没有明确允许的流量默认都会被禁止。
如果想要允许某流量通过,可以创建安全策略。一般针对不同的业务流量,设备上会配置多条安全策略。安全策略匹配过程如下:
同一安全区域内的流量和不同安全区域间的流量受缺省安全策略控制的情况分别为:
对于不同安全区域间的流量(包括但不限于从防火墙发出的流量、防火墙接收的流量、不同安全区域间传输的流量),受缺省安全策略控制;
对于同一安全区域内的流量,默认不受缺省安全策略控制,缺省转发动作为允许。如果希望同域流量受缺省安全策略控制,则需要开启缺省安全策略控制同一安全区域内流量的开关。开启后,缺省安全策略的配置将对同一安全区域内的流量生效,包括缺省安全策略的动作、日志记录功能等。
缺省安全策略可以修改默认动作、日志记录功能(包括策略命中日志、会话日志和流量日志)。
安全策略配置举例
需求描述:
某公司在网络边界处部署了防火墙作为安全网关。为了使私网中172.16.1.0/24网段的用户可以正常访问Internet,需要在防火墙上配置相应安全策略; 在此网络中172.16.1.1、172.16.1.2和172.16.1.3的3台PC对安全性要求较高,不允许上网。
配置思路:
管理员应首先明确需要划分哪几个安全区域,接口如何连接,分别加入哪些安全区域;
管理员选择可以根据“源地址”或“用户”来区分企业员工;
如果想允许某种网络访问,则配置安全策略的动作为“允许”;如果想禁止某些地址访问,则配置安全策略的动作为“禁止”;
将以上步骤规划出的安全策略的参数一一列出,并将所有安全策略按照先精确(条件细化的、特殊的策略)再宽泛(条件为大范围的策略)的顺序排序。在配置安全策略时需要按照此顺序进行配置。
先创建拒绝特殊的3个IP地址访问Internet的安全策略规则。(先精确)
[FW] security-policy
[FW-policy-security] rule name policy1
[FW-policy-security-rule-policy1] source-zone trust
[FW-policy-security-rule-policy1] destination-zone untrust
[FW-policy-security-rule-policy1] source-address 172.16.1.1 32
[FW-policy-security-rule-policy1] source-address 172.16.1.2 32
[FW-policy-security-rule-policy1] source-address 172.16.1.3 32
[FW-policy-security-rule-policy1] action deny
再创建允许172.16.1.0/24网段访问Internet的安全策略规则。(再宽泛)
[FW] security-policy
[FW-policy-security] rule name policy2
[FW-policy-security-rule-policy2] source-zone trust
[FW-policy-security-rule-policy2] destination-zone untrust
[FW-policy-security-rule-policy2] source-address 172.16.1.0 24
[FW-policy-security-rule-policy2] action permit
03
状态检测和会话机制
状态监测机制
状态检测防火墙使用基于连接状态的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整个数据流来对待。在状态检测防火墙看来,同一个数据流内的报文不再是孤立的个体,而是存在联系的。
状态检测机制开启状态下,只有首包通过设备才能建立会话表项,后续包直接匹配会话表项进行转发。
状态检测机制关闭状态下,即使首包没有经过设备,后续包只要通过设备也可以生成会话表项。
在报文来回路径不一致的组网环境中,防火墙可能只会收到通信过程中的后续报文。通过ASPF解决。
会话机制
防火墙会将属于同一连接的所有报文作为一个整体的数据流(会话)来对待,会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。
会话表项中的五元组信息
会话是通信双方的连接在防火墙上的具体体现,代表两者的连接状态,一条会话就表示通信双方的一个连接。
五元组:协议、源地址、源端口、目的地址和目的端口。
通过会话中的五元组信息可以唯一确定通信双方的一条连接;
防火墙将要删除会话的时间称为会话的老化时间;
一条会话表示通信双方的一个连接,多条会话的集合叫做会话表。
防火墙为各种协议设定了会话老化机制。当一条会话在老化时间内没有被任何报文匹配,则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。但是对于某些特殊业务中,一条会话的两个连续报文可能间隔时间很长。例如:
用户通过FTP下载大文件,需要间隔很长时间才会在控制通道继续发送控制报文;
用户需要查询数据库服务器上的数据,这些查询操作的时间间隔远大于TCP的会话老化时间。
在以上的场景中,如果会话表项被删除,则对应的业务就会中断。长连接(Long Link)机制可以给部分连接设定超长的老化时间,有效解决这个问题。
会话表项中的其他信息
在防火墙上通过display firewall session table命令可以看到正常建立的会话。
04
ASPF技术
ASPF技术产生背景
在TCP/IP模型中,应用层提供常见的网络应用服务,如Telnet、HTTP、FTP等协议。而应用层协议根据占用的端口数量可以分为单通道应用层协议与多通道应用层协议。
单通道应用层协议:通信过程中只需占用一个端口的协议。例如:Telnet只需占用23端口,HTTP只需占用80端口;
多通道应用层协议:通信过程中需占用两个或两个以上端口的协议。例如:FTP被动模式下需要占用21号端口以及一个随机端口。
传统包过滤防火墙针对多通道应用层协议访问控制的不足:
传统的包过滤防火墙只能实现简单的访问控制;
传统的包过滤防火墙只能阻止一些使用固定端口的单通道协议的应用数据。
ASPF在多通道应用协议的应用
ASPF(Application Specific Packet Filter)是针对应用层的包过滤。
通过检测协商报文的应用层携带的地址和端口信息,自动生成相应的Server-map表,当数据通道的首包经过防火墙时,防火墙根据Server-map生成一条session,用于放行后续数据通道的报文,相当于自动创建了一条精细的“安全策略”。对于特定应用协议的所有连接,每一个连接状态信息都将被ASPF维护并用于动态的决定数据包是否被允许通过防火墙或丢弃。
FTP主动模式的ASPF
用FTP主动模式为例,Server-map表是通过ASPF功能自动生成的精细安全策略,是防火墙上的“隐形通道”。
FTP主动模式下,客户端使用随机端口xxxx向服务器的21端口发起连接请求建立控制通道,然后使用PORT命令协商两者建立数据通道的端口号,协商得出的端口是yyyy。然后服务器主动向客户端的yyyy端口发起连接请求,建立数据通道。数据通道建立成功后再进行数据传输。
在配置安全策略时,如果只配置了允许客户端访问服务器的21端口的安全策略,即控制连接能成功建立。但是当服务器访问客户端yyyy端口的报文到达防火墙后,对于防火墙来说,这个报文不是前一条连接的后续报文,而是代表着一条新的连接。要想使这个报文顺利到达FTP客户端,防火墙上就必须配置了安全策略允许其通过,如果没有配置服务器到客户端这个方向上的安全策略,该报文无法通过防火墙,导致数据通道建立失败。结果是用户能访问服务器,但无法请求数据。
由于PORT命令的应用层信息中携带了客户端的IP地址和向服务器随机开放的端口,防火墙通过分析PORT命令的应用层信息,提前预测到后续报文的行为方式,根据应用层信息中的IP和端口创建Server-map表。服务器向客户端发起数据连接的报文到达防火墙后命中该Server-map表项,不再受安全策略的控制。
Sever-map表与会话表的关系
Server-map表与会话表的关系如下:
Server-map表记录了应用层数据中的关键信息,报文命中该表后,不再受安全策略的控制;
会话表是通信双方连接状态的具体体现;
Server-map表不是当前的连接信息,而是防火墙对当前连接分析后得到的即将到来报文的预测。
防火墙接收报文的处理过程如图所示:
防火墙收到报文先检查是否命中会话表;
如果没有命中则检查是否命中Server-map表;
命中Server-map表的报文不受安全策略控制;
防火墙最后为命中Server-map表的数据创建会话表。
Sever-map表配置举例
配置ASPF
[FW] firewall interzone trust dmz
[FW-interzone-trust-dmz] detect ftp
自动生成Server-map表项
display firewall server-map
Type: ASPF, 1.1.1.254 -> 10.2.0.254:2097, Zone:---
Protocol: tcp(Appro: ftp-data), Left-Time:00:00:10
Vpn: public -> public
后续报文匹配会话表转发
display firewall session table
ftp VPN: public --> public 10.2.0.254:2095 --> 1.1.1.254:21
ftp-data VPN: public --> public 1.1.1.254:20 --> 10.2.0.254:2097
05
防火墙在网络安全方案中的应用场景
防火墙在校园出口安全方案中的应用场景
校园网从网络层到应用层的各个层面都面临着不同的安全威胁:
网络边界防护
内容安全防护
如图所示,防火墙作为安全网关部署在校园网出口:
提供内、外网互访的安全隔离和防护。例如:提供传统的基于IP地址的安全策略制定和网络访问控制;
同时提供基于用户的访问控制和行为溯源。
防火墙在云计算网络中的应用
随着云计算的迅猛发展,企业可以便捷地接入云计算网络,获取服务器、存储、应用等资源,减少构建IT基础设施的投资成本,大大加快了信息化进程。 如图所示,云计算网络中部署防火墙可以实现:
不同的外网企业用户访问虚拟机时,相互之间不能影响,业务隔离;
外网企业用户能够通过公网地址访问企业内部虚拟机和Portal系统;
提高业务可靠性,不能因为一台设备出现故障而导致业务中断。