防火墙的主要职责在于:
控制和防护 --- 安全策略 --- 防火墙可以根据安全策略来抓取流量之后做出对应的动作。
防火墙分类:
防火墙的发展历程:
在防火墙的安全策略中,为了保证安全,末尾会隐含一条拒绝所有的规则,即只要没有放通的流量,都是不能通过的。
1,因为需要防火墙进行先一步安全识别,所以,转发效率会降低(原来的三层握手就会变成6次握手)
2,可伸缩性差:每一种应用程序需要代理的话,都需要开发对应对应的代理功能,如果没有开发,则无法进行代理。
在UTM中,各功能模块是串联工作,所以,检测效率并没有得到提升。但是,因为继承在了一台设备中,所以,维护成本得到降低
改进点核心:相较于之前UTM中各模块的串联部署,变为了并联部署,仅需要一次检测,所有功能模块都可以做出对应的处理。大大提高了工作效率。
防火墙的其他功能:
防火墙的控制:
带内管理 --- 通过网络环境对设备进行控制 --- telnet,ssh,web --- 登录设备和被登录设备之间网络需要联通
(华为防火墙的MGMT接口(G0/0/0)出厂时默认配置的有IP地址:192.168.0.1/24,并且该接口默认开启了DHCP和web登录的功能,方便进行web管理。
admin/Admin@123
[USG6000V1-GigabitEthernet0/0/0]service-manage all permit --- 开启管理口web登录服务)
认证:
本地认证 --- 用户信息存储在防火墙上,登录时,防火墙根据输入的用户名和密码进行判断,如果通过验证,则成功登录。】
服务器认证 --- 和第三方的认证服务器对接,登录时,防火墙将登录信息发送给第三方服务器,之后由第三方服务器来进行验证,通过则反馈给防火墙,防火墙放行。一般适用于企业本身使用第三方服务器来存储用户信息,则用户信息不需要重复创建。
服务器/本地认证 --- 优先使用服务器认证,如果服务器认证失败,则也不进行本地认证。只有在服务器对接不上的时候,采用本地认证
防火墙的组网
物理接口
二层口 :
不能配IP 普通的二层口 接口对 --- “透明网线” --- 可以将两个接口绑定成为接口对,如果流量从一个接口进入,则必定从另一个接口出去,不需要查看MAC地址表。 --- 其实一个接口也可以做接口对,从该接口进再从该接口出
旁路检测接口 :
主要用于防火墙的旁路部署,用于接收镜像口的流量。
三层口 :
可以配IP 分区
虚拟接口:
换回接口 、子接口
安全区域:
Trust --- 一般企业内网会被规划在trust区域中
Untrust --- 一般公网区域被规划在untrust区域中我们将一个接口规划到某一个区域,则代表该接口所连接的所有网络都被规划到该区域。
Local --- 指设备本身。凡是由设备构造并主动发出的报文均可以认为是从local区域发出的,凡是需要设备响应并处理的报文均可以认为是由Local区接受。我们无法修改local区的配置,并且我们无法将接口划入该区域。接口本身属于该区域。
Dmz --- 非军事化管理区域 --- 这个区域主要是为内网的服务器所设定的区域。这些服务器本身在内网,但是需要对外提供服务。他们相当于处于内网和外网之间的区域。所以,这个区域就代表是严格管理和松散管理区域之间的部分管理区域。
优先级 --- 1 - 100 --- 越大越优 --- 流量从优先级高的区域到优先级低的区域 --- 出方向(outbound) 流量从优先级低的区域到高的区域 --- 入方向(inbound)
防火墙工作模式
路由模式:当防火墙位于内部网络和外部网络之间时,需要将防火墙与内部网络、外部网络以及DMZ 三个区域相连的接口分别配置成不同网段的IP 地址,重新规划原有的网络拓扑,此时相当于一台路由器。
透明模式:
如果防火墙采用透明模式进行工作,则可以避免改变拓扑结构造成的麻烦,此时防火墙对于子网用户和路由器来说是完全透明的。也就是说,用户完全感觉不到防火墙的存在。
采用透明模式时,只需在网络中像放置网桥(bridge)一样插入该防火墙设备即可,无需修改任何已有的配置。与路由模式相同,IP 报文同样经过相关的过滤检查(但是IP 报文中的源或目的地址不会改变),内部网络用户依旧受到防火墙的保护
旁路模式
混合模式:如果防火墙既存在工作在路由模式的接口(接口具有IP 地址),又存在工作在透明模式的接口(接口无IP 地址),则防火墙工作在混合模式下。混合模式主要用于透明模式作双机备份的情况,此时启动VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)功能的接口需要配置IP 地址,其它接口不配置IP地址。
安全策略
传统的包过滤防火墙 --- 其本质为ACL列表,根据数据报中的特征进行过滤,之后对比规制,执行动作。
五元组 :源IP,目标IP,源端口,目标端口,协议
安全策略相较于ACL的改进之处在于,首先,可以在更细的颗粒度下匹配流量,另一方面是可以完成内容安全的检测。
安全策略【1,访问控制(允许和拒绝) 2,内容检测 --- 如果允许通过,则可以进行内容检测】
防火墙的状态检测和会话表
基于流的流量检测 --- 即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流的“特征”记录下来(记录在本地的“会话表”),之后,该数据流后续的报文都将基于这个特征来进行转发,而不再去匹配安全策略。这样做的目的是为了提高转发效率。
状态检测防火墙访问过程
当web服务器给PC进行回报时,来到防火墙上,防火墙会将报文中的信息和会话表的信息进行性比对,如果,发现报文中的信息与会话表中的信息相匹配,并且,符合协议规范对后续报文的定义,则认为该数据包属于PC,可以允许该数据包通过。
会话表 :
会话表本身也是基于5元组来区分流量,会话表在比对时,会通过计算HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效率。 因为会话表中的记录只有在流量经过触发时才有意义,所以,如果记录长时间不被触发,则应该删除掉。即会话表中的记录应该存在老化时间。如果会话表中的记录被删除掉之后,相同五元组的流量再通过防火墙,则应该由其首包重新匹配安全策略,创建会话表,如果无法创建会话表,则将丢弃该数据流的数据。
如果会话表的老化时间过长:会造成系统资源的浪费,同时,有可能导致新的会话表项无法正常建立 如果会话表的老化时间过短:会导致一些需要长时间首发一次的报文连接被系统强行中断,影响业务的转发。 (不同协议的会话表老化时间是不同)
状态检测技术
状态检测主要检测协议逻辑上的后续报文,以及仅允许逻辑上的第一个报文通过后创建会话表。可以选择开启或者关闭该功能。
数据通过防火墙的流程
ASPF
FTP :文件传输协议
FTP协议是一个典型的C/S架构的协议
Tftp :简单文件传输协议
1,FTP相较于Tftp存在认证动作
2,FTP相较于Tftp拥有一套完整的命令集
FTP工作过程中存在两个进程,一个是控制进程,另一个是数据的传输进程,所以,需要使用两个端口号20,21 并且,FTP还存在两种不同的工作模式 --- 主动模式,被动模式
主动模式
被动模式
ASPF --- 针对应用层的包过滤 --- 用来抓取多通道协议中协商端口的关键数据包,之后,将端口算出,将结果记录在sever-map表中,相当于开辟了一条隐形的通道。
防火墙的用户认证
防火墙管理员登录认证 : 检验身份的合法性,划分身份权限
用户认证 :上网行为管理的一部分
上网行为管理三要素:用户,行为,流量
用户认证的分类
上网用户认证:三层认证 --- 所有的跨网段的通信都可以属于上网行为。正对这些行为,我们希望将行为和产生行为的人进行绑定,所以,需要进行上网用户认证。
入网用户认证: 二层认证 --- 我们的设备在接入网络中,比如插入交换机或者接入wifi后,需要进行认证才能正常使用网络。
接入用户认证 :远程接入 --- VPN --- 主要是校验身份的合法性的
认证方式
本地认证: 用户信息在防火墙上,整个认证过程都在防火墙上执行
服务器认证 : 对接第三方服务器,防火墙将用户信息传递给服务器,之后,服务器将认证结果返回,防火墙执行对应的动作即可
单点登录 :和第三方服务器认证类似。
登录名 --- 作为登录凭证使用,一个认证域下不能重复
显示名 --- 显示名不能用来登录,只用来区分和标识不同的用户。如果使用登录名区分,则也可以不用写显示名。显示名可以重复
账号过期时间 --- 可以设定一个时间点到期,但是,如果到期前账号已登录,到期后,防火墙不会强制下线该用户。
允许多人同时使用该账号登录
私有用户 --- 仅允许一个人使用,第二个人使用时,将顶替到原先的登录
公有用户 --- 允许多个人同时使用一个账户
IP/MAC绑定 --- 用户和设备进行绑定(IP地址/MAC地址)
单向绑定 --- 该用户只能在这个IP或者这个MAC或者这个IP/MAC下登录,但是,其他用户可以在该设备下登录
双向绑定 --- 该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录
安全组和用户组的区别 --- 都可以被策略调用,但是,用户组在调用策略后,所有用户组成员以及子用户组都会生效,而安全组仅组成员生效,子安全组不生效。
认证策略
Portal : 这是一种常见的认证方式。我们一般见到的网页认证就是portal认证。我们做上网认证,仅需要流量触发对应的服务时,弹出窗口,输入用户名和密码进行认证。
免认证 :需要在IP/MAC双向绑定的情况下使用,则对应用户在对应设备上登录时,就可以选择免认证,不做认证。
匿名认证:和免认证的思路相似,认证动作越透明越好,选择匿名认证,则登录者不需要输入用户名和密码,直接使用IP地址作为其身份进行登录。
认证域
如果这里的上网方式选择protal认证,则认证策略里面也要选择portal认证。
如果这里的上网方式选择免认证或者单点登录,则认证策略中对应动作为免认证
如果认证策略中选择的是匿名认证,则不触发这里的认证动作。
不同的认证域之间是或的关系
防火墙的NAT
源NAT --- 基于源IP地址进行转换。我们之前接触过的静态NAT,动态NAT,NAPT都属于源NAT,都是针对源IP地址进行转换的。源NAT主要目的是为了保证内网用户可以访问公网
目标NAT --- 基于目标IP地址进行转换。我们之前接触过的服务器映射就属于目标NAT。是为了保证公网用户可以访问内部的服务器
双向NAT --- 同时转换源IP和目标IP地址
配置黑洞
配置黑洞路由 --- 黑洞路由即空接口路由,在NAT地址池中的地址,建议配置达到这个地址指向空接口的路由,不然,在特定环境下会出现环路。(主要针对地址池中的地址和出接口地址不再同一个网段中的场景。)
决定了使用的是动态NAT还是NAPT的逻辑。
动态NAT创建完后,触发访问流量后会同时生成两条server-map的记录,其中一条是反向记录。反向记录小时前,相当于是一条静态NAT记录,外网的任意地址,在安全策略放通的情况下,是可以访问到内网的设备。
基于端口的NAT转换,是不会生成server-map表的。
NAT类型 --- 五元组NAT --- 针对源IP,目标IP,源端口,目标端口,协议 这五个参数识别出的数据流进行端口转换
三元组NAT --- 针源IP,源端口,协议 三个参数识别出的数据流进行端口转换