fang火墙原理与设计
fang火墙概述
fang火墙是由软件和硬件组成的系统,它处于安全的网络和不安全的网络之间,属于网络边界防护设备,由系统管理员设置访问控制规则,对进出网络边界的数据流进行过滤。
fang火墙是Internet安全的最基本组成部分,但对于防御内部的攻击以及绕过fang火墙的连接却无能为力。
根据安全策略,fang火墙对数据流的处理方式有如下3种:
- 允许:允许满足规则的数据流通过fang火墙。
- 拒绝:拒绝不满足规则的数据流通过,并回复一条消息,提示发送者该数据流已被拒绝。
- 丢弃:直接将数据流丢弃,不对这些数据包作任何处理,也不会向发送者发送任何提示信息。
fang火墙须满足的要求:
- 所有进出网络数据流都必须经过fang火墙。
- 只允许经授权的数据流通过fang火墙。
- fang火墙自身对入侵免疫,即确保自身安全。
fang火墙的类型和结构
fang火墙的发展史:
- 第一代fang火墙:包过滤fang火墙
- 第二代fang火墙:电路级网关fang火墙
- 第三代fang火墙:应用级网关fang火墙
- 第四代fang火墙:动态包过滤fang火墙
- 第五代fang火墙:自适应代理fang火墙
- 第六代fang火墙:智能fang火墙
fang火墙设计结构:静态包过滤、动态包过滤、电路级网关、应用层网关、状态检查包过滤、切换代理、空气隙(物理隔离)
OSI模型与fang火墙类型的关系
fang火墙工作于OSI模型的层次越高,能提供的安全保护等级就越高。
IP数据包结构:
fang火墙工作原理:不同类型的fang火墙,将分别对IP头、TCP头、应用级头、数据/净荷等部分数据进行过滤。
网络地址转换NAT
- 亚洲国家IP地址资源相对匮乏:NAT可解决地址紧缺的问题。
- NAT的优点:隐藏内部网络的拓扑结构,提升网络安全性。
- 静态NAT:内部网络地址与外部Internet IP地址是一一对应的关系。
- 动态NAT:可用Internet IP地址限定在一定范围内, 小于内网IP地址范围。
- PAT:端口地址转换。在进行网络地址转换时,不仅网络地址发生改变,而且协议端口也会发生改变。
- SNAT:源网络地址转换。当内部用户使用专用地址访问Internet时,必须将IP头部中的数据源地址转换成合法Internet地址。
-
DNAT:目标网络地址转换。必须将数据包中的目的地址转换成服务器的专用地址,使合法的Internet IP地址与内网中服务器的专用地址相对应。
NAT的分类
根据NAT的实现方式对NAT进行分类:
实现NAT的路由器配置NAT路由器的工作过程
- 外部数据包进入内部网络
- 在外部数据包进入内部网络之前,其目的地址字段总包含NAT路由器的外部地址。
- 因此,对于所有输入数据包,NAT路由器必须采用最终目标主机的IP地址替换数据包的目的地址。
- 内部数据包离开内部网络
- 在内部数据包离开内部网络时,其源地址字段总包含NAT路由器的外部地址。
- 因此,对于所有输出的数据包,NAT路由器用其外部地址替换数据包的源地址。
静态包过滤器fang火墙(工作于网络层)
采用过滤模块实现:较低的安全性
直接使用路由器软件过滤:无需购买专门设备、减少投资
fang火墙接收到从外部网络到达fang火墙的数据包,对数据包过滤。
对数据包施加过滤规则,对数据包IP头和传输字段内容进行检查。
如果没有规则与数据包头信息匹配,则对数据包施加默认规则。
对于静态包过滤fang火墙来说,决定接收还是拒绝一个数据包,取决于对数据包中IP头和协议头等特定域的检查和判定。
目的地址、数据源地址、目的端口号、源端口号、应用或协议。
示例
- 拒绝来自130.33.0.0的数据包,这是一种保守策略。
- 拒绝来自外部网络的Telnet服务(端口号为23)的数据包。
- 拒绝试图访问内网主机193.77.21.9的数据包。
- 禁止HTTP服务(端口号为80)的数据包通过fang火墙。
包过滤器的工作原理
过滤规则
fang火墙可根据数据包的源地址、目的地址、端口号;
确定是否允许和丢弃数据包:符合,则允许;不符合,丢弃。
fang火墙可根据数据包的源地址、目的地址、端口号;
确定是否允许和丢弃数据包:符合,则允许;不符合,丢弃。
过滤位置
可以在网络入口处过滤,也可在网络出口处过滤,也可以入口和出口同时对数据包进行过滤。
可以在网络入口处过滤,也可在网络出口处过滤,也可以入口和出口同时对数据包进行过滤。
访问控制策略
网管需预先编写一访问控制列表;需明确规定哪些主机或服务可接受,哪些主机或服务不接受
静态包过滤fang火墙优缺点
网管需预先编写一访问控制列表;需明确规定哪些主机或服务可接受,哪些主机或服务不接受
包过滤器fang火墙的配置
- 管理员必须明确企业网络的安全策略
- 必须用逻辑表达式清楚地表述数据包的类型
- 必须用设备提供商可支持的语法重写这些表达式
某大学的fang火墙过滤规则设置:
某公司的fang火墙过滤规则设置:
优点
动态包过滤fang火墙:
- 对网络性能影响较小
- 成本较低
- 安全性较低
- 缺少状态感知能力
- 容易遭受IP欺骗攻击
- 创建访问控制规则比较困难
动态包过滤fang火墙(工作于传输层)
- 具有状态感知能力
- 典型动态包过滤fang火墙工作在网络层
- 先进的动态包过滤fang火墙位于传输层
检查的数据包头信息:
- 源地址
- 目的地址
- 应用或协议
- 源端口号
- 目的端口号
动态包过滤fang火墙的工作原理
- 与普通包过滤fang火墙相似,大部分工作于网络层。有些安全、性高的动态包过滤防火墙,则工作于传输层。
- 动态包过滤fang火墙的不同点:对外出数据包进行身份记录,便于下次让具有相同连接的数据包通过。
- 动态包过滤fang火墙需要对已建连接和规则表进行动态维护,因此是动态的和有状态的。
- 典型的动态包过滤fang火墙能够感觉到新建连接与已建连接之间的差别。
实现动态包过滤器有两种主要的方式:
- 实时地改变普通包过滤器的规则集
- 采用类似电路级网关的方式转发数据包
动态包过滤fang火墙的优缺点
优点
电路级网关的工作原理
电路级网关实例——SOCKS
- 采用SMP技术时,对网络性能的影响非常小。
- 动态包过滤fang火墙的安全性优于静态包过滤fang火墙。
- “状态感知” 能力使其性能得到了显著提高。
- 如果不考虑操作系统成本,成本会很低。
缺点
- 仅工作于网络层,仅检查IP头和TCP头。
- 没过滤数据包的净荷部分,仍具有较低的安全性。
- 容易遭受IP欺骗攻击。
- 难于创建规则,管理员创建时必须要考虑规则的先后次序。
- 如果在建立连接时没有遵循三步握手协议,会引入风险。
电路级网关fang火墙(工作于会话层)
与包过滤的区别:除了进行基本的包过滤检查外,还要增加对连接建立过程中的握手信息SYN、ACK及序列号合法性的验证。
检查内容:源地址、目的地址、应用或协议、源端口号、目的端口号、握手信息及序列号。
电路级网关通常作为应用代理服务器的一部分,在应用代理类型的fang火墙中实现。
电路级网关所过滤的内容
- 它的作用就像一台中继计算机,用于在两个连接之间来回地复制数据;
- 它也可以记录和缓存数据。
- 采用C/S结构,网关充当了服务器的角色;
-
作为代理服务器,在Internet和内部主机之间过滤和转发数据包。
- 它工作于会话层,IP数据包不会实现端到端流动;
-
在有些实现方案中,电路连接可自动完成。
- 在转发该数据包前,首先将数据包的IP头和TCP头与规则表相比较,以决定将数据包丢弃,还是通过。
-
若会话合法,包过滤器将逐条扫描规则,直到发现一条规则与数据包中的有关信息一致。否则,丢弃。
-
电路级网关与远程主机之间建立一个新连接,这一切对内网中用户都是完全透明。
SOCKS由David和Michelle Koblas设计并开发,是现在已得到广泛应用的电路级网关(SSL),事实上,SOCKS是一种网络代理协议。
其执行步骤是:
- 内网主机请求访问互联网;
- 与SOCKS服务器建立通道;
- 将请求发送给服务器;
- 收到请求后向目标主机发出请求;
- 响应后将数据返回内网主机。
电路级网关优缺点
工作特点:
优点
- 性能比包过滤fang火墙稍差,但是比应用代理防火墙好。
- 切断了外部网络到fang火墙后的服务器直接连接。
- 比静态或动态包过滤fang火墙具有更高的安全性。
缺点
- 具有一些固有缺陷。例如,电路级网关不能对数据净荷进行检测,无法抵御应用层攻击等。
- 仅提供一 定程度的安全性。
- 当增加新的内部程序或资源时,往往需要对许多电路级网关的代码进行修改。
包过滤fang火墙与应用级网关的区别
包过滤fang火墙
- 过滤所有不同服务的数据流
- 不需要了解数据流的细节,它只查看数据包的源地址和目的地址或检查UDP/TCP的端口号和某些标志位。
应用级网关
- 只能过滤特定服务的数据流
- 必须为特定的应用服务编写特定的代理程序,被称为“服务代理”在网关内部分别扮演客户机代理和服务器代理的角色。
当各种类型的应用服务通过网关时,必须经过客户机代理和服务器代理的过滤。
应用级网关的工作层次
- 必针对每个服务运行一个代理。
- 对数据包进行逐个检查和过滤。
- 采用“强应用代理”在更高层上过滤信息。
- 自动创建必要的包过滤规则。
- 当前最安全的fang火墙结构之一。
- 代理对整个数据包进行检查,因此能在应用层上对数据包进行过滤。
- 应用代理与电路级网关有两个重要区别:代理是针对应用的;代理对整个数据包进行检查,因此能在OSI模型的应用层上对数据包进行过滤。
应用级网关优缺点
优点:
- 在已有的安全模型中安全性较高。
- 具有强大的认证功能。
- 具有超强的日志功能。
- 规则配置比较简单。
缺点:
- 灵活性很差,对每一种应用都需要设置一个代理。
- 配置烦琐,增加了管理员的工作量。
- 流量吞吐性能不高,有可能成为网络的瓶颈。
状态检测fang火墙在所有7层上进行过滤
- 应用状态:能够理解并学习各种协议和应用,以支持各种最新的应用;能从应用程序中收集状态信息并存入状态表中,以供其他应用或协议做检测策略。
- 操作信息:状态监测技术采用强大的面向对象的方法。
- 通信信息:防火墙的检测模块位于操作系统的内核,在网络层之下,能在数据包到达网关操作系统之前对它们进行分析。
- 通信状态:状态检测防火墙在状态表中保存以前的通信信息,记录从受保护网络发出数据包的状态信息。
状态检测fang火墙优缺点
优点:
- 具备动态包过滤所有优点,同时具有更高的安全性。
- 它没有打破C/S结构,因此不需要修改很多应用程序。
- 提供集成的动态(状态)包过滤功能。
- 当以动态包过滤模式运行时,其速度很快。
- 当采用对称多处理器SMP模式时,其速度更快。
缺点:
- 采用单线程进程,对防火fang性能产生很大影响。
- 因未打破C/S结构,可能会产生很大的安全风险。
- 不能满足对高并发连接数量的要求。
切换代理
切换代理的工作过程
- 切换代理首先起电路级代理的作用,以验证RFC建议的三步握手。
- 再切换到动态包过滤的工作模式下。
切换代理优缺点
优点:
- 与传统电路级网关相比,对网络性能造成影响要小。
- 由于对三步握手进行了验证,降低了IP欺骗的风险。
缺点:
- 它不是一个电路级网关。
- 它仍然具有动态包过滤器遗留的许多缺陷。
- 由于没检查数据包的净荷部分,因此具有较低的安全性。
- 难于创建规则(受先后次序的影响)。
- 其安全性不及传统的电路级网关。
空气隙fang火墙的工作原理
- 外部客户机与fang火墙之间的连接数据被写入一个具有SCSI接口的高速硬盘。
- fang火墙切断了客户机到服务器的直接连接,并且对硬盘数据的读/写操作都是独立进行的。
- 内部的连接再从该SCSI硬盘中读取数据。
空气隙fang火墙优缺点
优点:
- 切断与fang火墙后面服务器的直接连接,消除隐信道攻击的风险。
- 采用应用代理对协议头长度进行检测,消除缓冲器溢出攻击。
- 与应用级网关结合使用,空气隙fang火墙能提供很高的安全性。
缺点:
- 降低网络的性能。
- 不支持交互式访问。
- 适用范围窄。
- 系统配置复杂。
- 结构复杂,实施费用高。
- 带来瓶颈问题。
分布式fang火墙的工作原理
网络fang火墙
- 内部网与外部网之间、内部网各子网之间
- 对内部子网之间的安全防护层
主机fang火墙
- 对服务器和桌面机进行防护
- 内核模式应用,过滤和限制信息流
管理中心
- 服务器软件
- 管理、分发总体安全策略;汇总日志
分布式fang火墙的优缺点
优点:
- 增强了系统安全性。
- 提高了系统性能。
- 提供了系统的扩展性。
- 可实施主机策略。
缺点:
- 系统部署时间长、复杂度高,后期维护工作量大。
- 可能受到来自系统内部的攻击或系统自身安全性的影响。
fang火墙的发展趋势:智能化、多功能化、云防火墙。