防火墙的主要职责在于:控制和防护 --- 安全策略 --- 防火墙可以根据安全策略来抓取流量之 后做出对应的动作
防火墙分类主要有四类:
防火墙吞吐量 --- 防火墙同一时间能处理的数据量多少
防火墙的发展主要经过以下阶段;
传统防火墙(包过滤防火墙):
判断信息:五元组(数据包的源IP、目的IP、协议类型、源端口、目的端口)
工作范围:OSI3-4层(网络层、传输层)
与路由器的区别;
普通的路由器只检查数据包的目的地址,并选择一个达到目的地址的最佳路径。
防火墙除了决定目的路径之外还需要根据已经设定的规则进行判断“是与否”。
技术应用:包过滤技术
优势:对于小型站点容易实现,处理速度快,价格便宜
劣势:规则表很快会变得庞大复杂难运维,只能基于五元组
1、很多安全风险集中在应用层的,所以仅仅关注三四层的数据无法做到完全隔离安全风险
2、逐包进行包过滤检测,将导致防火墙的转发效率过低,成为网络中的瓶颈
在ACL列表中,华为体系下,末尾是没有隐含规则的,即如果匹配不到ACL列表,就认为ACL列表不存在,之前能过,现在也能过;但在防火墙的安全策略中,为保证安全,末尾会隐含一条拒绝所有的规则,只要没有放通的流量,都不能通过
传统防火墙(应用代理防火墙):
判断信息:所有应用层的信息包
工作范围:OSI7层(应用层)
和包过滤防火墙的区别:
包过滤防火墙工作基于3-4层,通过检测报头进行规则表匹配
应用代理防火墙工作7层,检查所有的应用层信息包,每个应用需要添加对应的代理服务
技术应用:应用代理技术
优势:检查应用层的数据
劣势:检查效率低,配置运维难度极高,可伸缩性差
1、因为需要防火墙进行先一步的安全识别,所以转发效率会降低(三次握手变六次握手)
2、可伸缩性差,每一种应用程序需要代理,都需要开发对应的代理功能,如没有开发,则不能进行代理
传统防火墙(状态检测防火墙):
判断信息:IP地址、端口号、TCP标记
工作范围:OSI2-4层(数据链路层、网络层、传输层)
和包过滤防火墙的区别:
包过滤防火墙工作基于3-4层,通过检验报头进行规则表匹配
是包过滤防火墙的升级版,一次检查建立会话表,后期直接按照会话表放行
应用技术:状态检测技术
优势:主要检查3-4层能够保证效率,对TCP防御较好
劣势:应用层控制较弱,不检查数据区
入侵检测系统(IDS)【网络摄像头】:
部署方式:旁路部署、可多路部署
工作范围:OSI2-7层
工作特点:根据部署位置监控到的流量进行攻击事件监控,属于事后呈现的系统(无法预测攻击,只能受攻击后发现了解攻击,可事后进行攻击分析来预防下一次同类型攻击)
目的:传统防火墙只能基于规则执行“是”或“否”的策略,IDS主要是为了帮助管理员清晰的了解到网络环境中发生了什么。
入侵防御系统(IPS)
部署方式:串联部署
工作范围:OSI2-7层
工作特点:根据已知的安全威胁生成对应的过滤器(规则),对于识别为流量的阻断,对于未识别的放通
目的:IDS只能对网络环境进行检测,但却无法进行防御,IPS主要是针对已知威胁进行防御
防病毒网关(AV):
判断信息:数据包
工作范围:OSI2-7层
目的:防止病毒文件通过外网进入到内网环境
与防火墙的区别:
web应用防火墙(WAF):
判断信息:http协议数据的request和response
工作范围:OSI7层(应用层)
目的:防止基于应用层的攻击影响web应用系统
主要技术原理:
1、代理服务:会话双向代理,用户与服务器不产生直接链接,对于DDOS攻击可以抑制
2、特征识别:通过正则表达式的特征库进行特征识别
3、算法识别:针对攻击方式进行模式化识别,如SQL注入、DDOS/XSS等
统一威胁管理(UTM)----多合一安全网关:
包含功能:FW、IDS、IPS、AV
工作范围:OSI2-7层(不具备web应用防护能力)
目的:将多种安全问题通过一台设备解决
优点:功能多合一有效降低了硬件成本、人力成本、时间成本
缺点:模块串联检测效率低,性能消耗大
下一代防火墙(BGFW)【升级版的UTM】:
包含功能:FW、IDS、IPS、AV、WAF
工作范围:OSI2-7层
与UTM的区别:
与UTM相比增加的web应用防护功能;
UTM是串行处理机制,NGFW是并行处理机制;
NGFW的性能更强,管理更高效
防火墙组网时,其物理接口有两种:
二层口 --- 不能配IP
普通的二层口
接口对 --- “透明网线” --- 可以将两个接口绑定成为接口对,如果流量从一个接口进入,则必定从另一个接口出去,不需要查看MAC地址表。 其实一个接口也可以做接口对,从该接口进再从该接口出
旁路检测接口 --- 主要用于防火墙的旁路部署,用于接收镜像口的流量。
三层口 --- 可以配IP
虚拟接口 换回接口 子接口 链路聚合 隧道接口
虚拟系统 --- VRF技术,相当于逻辑上将一台设备分割为多台设备,平行工作,互不影响。需 要通过接口区分虚拟系统的范围。 管理口和其余物理接口默认不在同一个虚拟系统中。
不同的虚拟空间之间通信使用的虚拟接口,只需要配置IP地址即可。新创建一个虚拟系统会自动生成一个虚拟的接口。
安全区域 Trust --- 一般企业内网会被规划在trust区域中
Untrust --- 一般公网区域被规划在untrust区域中
我们将一个接口规划到某一个区域,则代表该接口所连接的所有网络都被规划到该区域。 Local --- 指设备本身。凡是由设备构造并主动发出的报文均可以认为是从local区域发出的, 凡是需要设备响应并处理的报文均可以认为是由Local区接受。我们无法修改local区的配置, 并且我们无法将接口划入该区域。接口本身属于该区域。
Dmz --- 非军事化管理区域 --- 这个区域主要是为内网的服务器所设定的区域。这些服务器本 身在内网,但是需要对外提供服务。他们相当于处于内网和外网之间的区域。所以,这个区域 就代表是严格管理和松散管理区域之间的部分管理区域。
优先级 --- 1 - 100 --- 越大越优 --- 流量从优先级高的区域到优先级低的区域 --- 出方向 (outbound) 流量从优先级低的区域到高的区域 --- 入方向 (inbound)
对于配置防火墙实验有以下几个步骤
1,接口,区域配置完成
2,内网配置回包路由
3,是否需要配置服务器映射
4,配置内网访问外网的NAT
5,针对内外网的安全策
安全策略:
传统的包过滤防火墙本质都是ACL列表,将数据报中的特征进行过滤之后对比规则
相较于ACL在于可以在更细的颗粒度下匹配流量,另一方面是可以完成内容安全的检测
1;访问控制(允许拒绝)
2;内容检测--如果允许通过就可以进行内容检测
防火墙的状态检测和会话表:
基于流的流量检测 --- 即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流 的“特征”记录下来(记录在本地的“会话表”),之后,该数据流后续的报文都将基于这个特征来进行转发,而不再去匹配安全策略。这样做的目的是为了提高转发效率。
1,会话表 --- 会话表本身也是基于5元组来区分流量,会话表在比对时,会通过计算 HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效 率。
因为会话表中的记录只有在流量经过触发时才有意义,所以,如果记录长时间不被触 发,则应该删除掉。即会话表中的记录应该存在老化时间。如果会话表中的记录被删除 掉之后,相同五元组的流量再通过防火墙,则应该由其首包重新匹配安全策略,创建会话表,如果无法创建会话表,则将丢弃该数据流的数据。
如果会话表的老化时间过长:会造成系统资源的浪费,同时,有可能导致新的会话表项 无法正常建立
如果会话表的老化时间过短:会导致一些需要长时间首发一次的报文连接被系统强行中 断,影响业务的转发。
不同协议的会话表老化时间不同
状态检测技术
状态检测主要检测协议逻辑上的后续报文,以及允许逻辑上的第一个报文通过后创建会话表。在防火墙中的高级配置可以选择开启或关闭该功能
对于经过防火墙的数据报主要经过下列流程:
ASPF:
为了解决包过滤防火墙存在的问题,提出了状态防火墙——ASPF(Advanced Stateful Packet Filter,高级状态包过滤)的概念。
ASPF能够实现的主要功能有:
· 应用层协议检测:检查应用层协议信息,如报文的协议类型和端口号等信息,并且监控每一个连接的应用层协议状态。对于所有连接,每一个连接状态信息都将被ASPF维护,并用于动态地决定数据包是否被允许通过防火墙进入内部网络,以阻止恶意的入侵。
· 传输层协议检测:检测传输层协议信息,包括TCP协议、UDP协议、UDP-Lite协议、SCTP协议、Raw IP协议、ICMP协议、ICMPv6协议和DCCP协议。例如TCP/UDP检测,能够根据源、目的地址及端口号决定TCP或UDP报文是否可以通过防火墙进入内部网络。
· ICMP差错报文检测:正常ICMP差错报文中均携带有本报文对应连接的相关信息,根据这些信息可以匹配到相应的连接。如果匹配失败,则根据当前配置决定是否丢弃该ICMP报文。
· TCP连接首包检测:对TCP连接的首报文进行检测,查看是否为SYN报文,如果不是SYN报文则根据当前配置决定是否丢弃该报文。缺省情况下,不丢弃非SYN首包,适用于不需要严格TCP协议状态检查的组网场景。例如当防火墙设备首次加入网络时,网络中原有TCP连接的非首包在经过新加入的设备时如果被丢弃,会中断已有的连接,造成不好的用户体验,因此建议暂且不丢弃非SYN首包,等待网络拓扑稳定后,再开启非SYN首包丢弃功能。
ASPF应用:
在网络边界,ASPF和包过滤防火墙协同工作,包过滤防火墙负责按照ACL规则进行报文过滤(阻断或放行),ASPF负责对已放行报文进行信息记录,使已放行的报文的回应报文可以正常通过配置了包过滤防火墙的接口。因此,ASPF能够为企业内部网络提供更全面的、更符合实际需求的安全策略。
FTP文件传输协议:
FTP是一个典型的C/S架构的协议
Tftp简单文件传输协议
1、FTP相较于Tftp存在认证动作
2、FTP相较于Tftp拥有一套完整的命令集
FTP工作过程中存在两个进程,一个是控制进程,另一个是数据的传输进程,所以,需要使用 两个端口号20,21
FTP存在两种不同的工作模式(主动模式,被动模式)
主动模式:
被动模式:
像FTP这种使用多个端口号的协议叫做多通道协议(双通道协议)
ASPF:
针对应用层的包过滤
用来抓取多通道协议中协商端口的关键数据包,之后,将端口算出,将结果记录在server-map表中,相当于开辟了一条隐形的通道。
防火墙的用户认证
防火墙管理员登录认证 --- 检验身份的合法性,划分身份权限
用户认证 --- 上网行为管理的一部分
用户,行为,流量 --- 上网行为管理三要素
用户认证的分类
上网用户认证 --- 三层认证 --- 所有的跨网段的通信都可以属于上网行为。正对这些行 为,我们希望将行为和产生行为的人进行绑定,所以,需要进行上网用户认证。
入网用户认证 --- 二层认证 --- 我们的设备在接入网络中,比如插入交换机或者接入wifi 后,需要进行认证才能正常使用网络。
接入用户认证 --- 远程接入 --- VPN --- 主要是校验身份的合法性的
认证方式
本地认证 --- 用户信息在防火墙上,整个认证过程都在防火墙上执行
服务器认证 --- 对接第三方服务器,防火墙将用户信息传递给服务器,之后,服务器将 认证结果返回,防火墙执行对应的动作即可
单点登录 --- 和第三方服务器认证类似。
认证域 --- 可以决定认证的方式和组织结构
在防火墙web窗体中新建用户里
登录名 --- 作为登录凭证使用,一个认证域下不能重复
显示名 --- 显示名不能用来登录,只用来区分和标识不同的用户。如果使用登录名区分,则也 可以不用写显示名。显示名可以重复。
账号过期时间 --- 可以设定一个时间点到期,但是,如果到期前账号已登录,到期后,防火墙 不会强制下线该用户。
允许多人同时使用该账号登录
私有用户 --- 仅允许一个人使用,第二个人使用时,将顶替到原先的登录
公有用户 --- 允许多个人同时使用一个账户
IP/MAC绑定 --- 用户和设备进行绑定(IP地址/MAC地址)
单向绑定 --- 该用户只能在这个IP或者这个MAC或者这个IP/MAC下登录,但是,其他 用户可以在该设备下登录
双向绑定 --- 该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录。
安全组和用户组的区别 --- 都可以被策略调用,但是,用户组在调用策略后,所有用户组成员 以及子用户组都会生效,而安全组仅组成员生效,子安全组不生效。
其认证策略中:
认证域(不同认证域之间是“或”关系)
Portal --- 这是一种常见的认证方式。我们一般见到的网页认证就是portal认证。我们做上网 认证,仅需要流量触发对应的服务时,弹出窗口,输入用户名和密码进行认证。
免认证 --- 需要在IP/MAC双向绑定的情况下使用,则对应用户在对应设备上登录时,就可以 选择免认证,不做认证。
匿名认证 --- 和免认证的思路相似,认证动作越透明越好,选择匿名认证,则登录者不需要输 入用户名和密码,直接使用IP地址作为其身份进行登录。
如果这里的上网方式选择protal认证,则认证策略里面也要选择portal认证。
如果这里的上网方式选择免认证或者单点登录,则认证策略中对应动作为免认证
如果认证策略中选择的是匿名认证,则不触发这里的认证动作。
防火墙NAT:
静态NAT --- 一对一
动态NAT --- 多对多
NAPT --- 一对多的NAPT --- easy ip --- 多对多的NAPT
服务器映射
源NAT --- 基于源IP地址进行转换。我们之前接触过的静态NAT,动态NAT,NAPT都属于源 NAT,都是针对源IP地址进行转换的。源NAT主要目的是为了保证内网用户可以访问公网
目标NAT --- 基于目标IP地址进行转换。
在新建源转换地址池里有个配置黑洞路由:
配置黑洞路由 --- 黑洞路由由即空接口路由,在NAT地址池中的地址,建议配置达到这个地址指 向空接口的路由,不然,在特定环境下会出现环路。(主要针对地址池中的地址和出接口地址 不再同一个网段中的场景。)
允许端口地址转换则决定了使用的是动态NAT还是NAPT的逻辑。
高级中
NAT类型 --- 五元组NAT --- 针对源IP,目标IP,源端口,目标端口,协议 这五个参数识别出的数据流进行端口转换
三元组---真源IP,源端口,协议 三个参数识别出的数据流进行端口转换
在其保留地址中输入的地址不被用于转换使用
动态NAT创建完后,触发访问流量后会同时生成两条server-map的记录,其中一条是反向记 录。反向记录小时前,相当于是一条静态NAT记录,外网的任意地址,在安全策略放通的情况 下,是可以访问到内网的设备。 基于端口的NAT转换,是不会生成server-map表的
三元组:
P2P
因为P2P应在端口转换的情况下,识别五元组,将导致P2P客户端之间无法直接访问,不符合 五元组的筛选条件,所以,这种场景下可以使用三元组NAT,放宽筛选条件,保证P2P客户端 之间可以正常通信
目标NAT
服务器映射
安全区域:指的是需要访问服务器的设备所在的区域
源NAT在安全策略之后执行,目标NAT在安全策略之前执行(因为自动生成的安全策略的目标地址是转换后的地址,说明需要先进行转换,再触发安全策略)
防火墙的智能选路
就近选路 --- 我们希望在访问不同运营商的服务器是,通过对应运营商的链路。这样可以提高 通信效率,避免绕路。
策略路由 -- PBR
传统的路由,仅基于数据包中的目标IP地址查找路由表。仅关心其目标,所以,在面对 一些特殊的需求时,传统路由存在短板,缺乏灵活性,适用场景比较单一。 策略路由本身也是一种策略,策略主要先匹配流量,再执行动作。策略路由可以从多维 度去匹配流量,之后,执行的动作就是定义其转发的出接口和下一跳。策略路由末尾隐 含一条不做策略的规则,即所有没有匹配上策略路由的流量,都将匹配传统路由表进行 转发。
如果存在多条策略路由,则匹配规则也是自上而下,逐一匹配,如果匹配上了,则按照 对应动作执行,不再向下匹配
DSCP优先级 --- 相当于在数据包中设定其转发的优先级(利用的是IP头部中tos字段), 之后下游设备会根据优先级来差异化保证流量的通过。
动作:
转发 --- 可以定义其转发方式
转发其他虚拟系统---VRF
不做策略路由
监控 --- 当策略是单出口时,如果这里写的下一跳和出接口不可达,报文将直接被FW丢弃。为了提高可靠性,我们可以配置针对下一跳的监控,即使下一跳不可达,也可以继续查找本地路由表,而不是直接丢弃。
智能选路---全局路由策略
基于链路带宽的负载分担
基于链路带宽的负载分担会按照多条链路的带宽比例来分配流量。并且,如果配置的过 载保护阈值,则一条链路达到过载保护阈值之后,除了已经创建会话表的流量依然可以 从该接口通过外,该接口将不再参与智能选路,需要新建会话表的流量将从其余链路中 按照比例转发。
会话保持 --- 开启该功能后,流量首次通过智能选路的接口后,会创建会话表,后续命中会话表的流量都将通过同一个接口来进行转发,选择源IP和目的IP的效果时,所有相同源IP或者目标IP的流量将通过同一个接口转发。---应对于不希望链路频繁切换的场景
在链路接口中可以配置就近选路
基于链路质量进行负载分担
丢包率 --- FW会发送若干个探测报文(默认5个),将统计丢包的个数。丢包率等于回 应报文个数除以探测报文个数。丢包率是最重要的评判依据。
时延 --- 应答报文接收时间减去探测报文发送时间。FW会发送若干个探测报文,取平均时延作为结果进行评判
延时抖动---两次探测报文时延差值的绝对值。FW会发送若干个探测报文,取两两延时抖动的平均值。
首次探测后会将结果记录在链路质量探测表中,之后,将按照表中的接口来进行选路。 表中的老化时间结束后,将重新探测。
基于链路权重进行负载分担
权重是由网络管理员针对每一条链路手工分配的,分配之后,将按照权重比例分配流量。
基于链路优先级的主备备份
优先级也是由网络管理员针对每一条链路手工分配的。
执行逻辑:
1,接口没有配置过载保护:
优先使用优先级最高的链路转发流量,其他链路不工作。直到优先级最高的链路故 障,则优先级次高的链路开始转发流量。其余链路依旧不工作。
2,接口配置了过载保护:
优先使用优先级最高的链路转发流量,其他链路不工作;如果最高的链路达到或超 过保护阈值,则优先级次高的链路开始工作。
DNS透明代理
DNS透明代理的前提是开启就近选路
防火墙的可靠性
防火墙和路由器在进行可靠性备份时,路由器备份可能仅需要同步路由表中的信息就可以了, 但是,防火墙是基于状态检测的,所以,还需要同步记录状态的会话表等。所以,防火墙需要 使用到双机热备技术。
双机 --- 目前防火墙的双机热备技术仅支持两台设备
热备 --- 两台设备同时运行,在一台设备出现故障的情况下,另一台设备可以立即替代 原设备。
VRRP技术
虚拟路由器冗余协议 --- “实的不行来虚的”
Initialize --- 在VRRP中,如果一个接口出现故障之后,则这个接口将进入到该过渡状态
VRRP备份组之间是相互独立的,当一台设备上出现多个VRRP组时,他们之间的状态无法 同步。
VGMP ---- VRRP Group Management Protocol
华为私有协议 --- 这个协议就是将一台设备上的多个VRRP组看成一个组,之后统一进行 管理,统一切换的协议。以此来保证VRRP组状态的一致性。
接口故障切换场景
在防火墙的双机热备中,我们不论时VRRP组还是VGMP组,主备的叫法发生了变化,主 统一被称为Active,备被称为Standby
1,假设主设备的下联口发生故障,则这个接口的vrrp状态将由原来的Active状态切换为 initialize状态。(这种情况下,按照VRRP自己的机制,主设备将无法发送周期保活报文, 则备设备在超过超时时间后将切换为主的状态。但是,因为这里启用VGMP在,则VRRP 切换状态将由VGMP接管,VRRP的机制名存实亡。)
2,VGMP组发现VRRP组出现变化,将降低自身的优先级。(说明,在VGMP组中,也 存在优先级的概念。一开始,每台设备中都会存在两个VGMP组,一个叫做Active组, 另一个叫做Standby组。Active组初始的默认优先级为65001,Standby组初始的默认 优先级为65000(不同版本的防火墙,这个优先级的定义不同)。一开始,我们FW1将 两个VRRP组都拉入VGMP_ACTIVE组中,因为ACTIVE组的状态时active,所以,里面 两个vrrp组的状态也是active(VGMP组的状态决定了VRRP组的状态),FW2同理。当 一个VRRP组的状态变为initialize,则VGMP则的优先级-2。)之后,原主设备会发送一 个VGMP请求报文给对端,里面包含了自己当前变化后的优先级。
3,当原备设备接收到请求报文后,看到里面的优先级时64999,而低于自身的65000则会将自己的VGMP_STANDBY组的状态由原来的standby切换为active。同时,发送 一个同意请求报文给原主设备。
4,原主设备接收到对方的应答报文之后,将会把自身VGMP_ACTIVE组的状态由原来的 ACTIVE切换为STANDBY。
5,在原备设备发送应答报文的同时,因为其VGMP组的状态切换,所以,其内部的 VRRP组状态也将由原来的standby转换为avtive。原主设备在接受到对方的应答报文之 后,因为将其VGMP组状态切换,所以,同时将其内部的VRRP组状态由原来的active状 态切换为standby状态(注意,故障接口依旧保持init的状态。)
6,原备设备会通过接口向上下联链路发送免费ARP报文,切换交换机的MAC地址表。 流量将被切换到原被设备上。
HRP --- Huawei Redundancy Protocol --- 华为冗余协议
这是一款华为的私有协议 --- 备份配置信息和状态信息。
HRP备份有一个前提,就是两台设备之间必须专门连一根用于备份的线路,这跟线路我 们称为心跳线(广义上,任何两台设备之间的链路都可以叫做心跳线) 心跳线的接口必须是一个三层接口,需要配置对应的IP地址。这条备份数据的链路不受 路由策略限制(直连场景。非直连场景依然需要配置安全策略。)
HRP协议本身算是VGMP协议的一部分
HRP的心跳线也会传递心跳报文,用于检测对端是否处于工作状态。这个周期时间默认 1s,逻辑和vrrp一样,只有主设备会周期发送,备设备仅监听即可,如果在三个周期 内,都没有收到HRP的心跳报文,则将认定原主设备故障,则将进行失效判断,认定自 身为主。
VGMP的报文也是通过这条心跳线发送的。
配置信息 --- 策略,对象,网络里面的一些配置都属于配置信息。(接口IP地址,路由之类的不同步,因为这些是需要在双机组建之前配置的)
状态信息 --- 会话表,server-map,黑名单,白名单……
第一种备份方式 --- 自动备份
默认开启自动备份,可以实时备份配置信息。但是,自动备份不能立即同步状态信息。 一般是在主设备上状态生成后一段时间(10s左右)同步到备设备上。 Hrp standby config enable --- 这个命令可以让备设备上的配置同步到主设备上。
第二种备份方式 --- 手工备份 由管理员手工触发,可以立即同步配置信息以及状态信息。
第三种备份方式 --- 快速备份 该模式仅使用在负载分担的工作方式下。 因为负载分担的场景下,两台设备都需要处于工作状态,为了避免因为状态信息同步不 及时,导致业务流量中断,所以,该场景下,默认开启快速备份。 快速备份可以实时同步状态信息。但是,该方式不同步配置信息。
各场景过程分析
1,主备形成场景
2,主备模式下,接口故障切换场景
3,主备场景,主设备故障切换 --- 主故障之后,将无法周期发送HRP心跳报文,则备设备监 听超时,进行设备状态的切换。
4,主备场景,主设备接口故障恢复切换
没有开启抢占 --- 没有抢占则原主设备保持备份状态。
开启抢占:
5、负载分担
6,负载分担接口故障场景
未完待续……