防火墙原理与设计

文章正文
发布时间:2024-08-26 02:35

一、防火墙概述

防火墙是一种装置,它是由软件/硬件设备组合而成,通常处于企业的内部局域网与 Internet 之间,限制 Internet 用户对内部网络的访问以及管理内部用户访问 Internet 的权限。换言之,一个防火墙在一个被认为是安全和可信的内部网络和一个被认为是不那么安全和可信的外部网络(通常是 Internet)之间提供 一个封锁工具。如果没有防火墙,则整个内部网络的安全性完全依赖于每个主机, 因此,所有的主机都必须达到一致的高度安全水平, 这在实际操作时非常困难。 而防火墙被设计为只运行专用的访问控制软件的设备,没有其他的服务,因此也 就意味着相对少一些缺陷和安全漏洞,这就使得安全管理变得更为方便,易于控 制,也会使内部网络更加安全。 防火墙所遵循的原则是在保证网络畅通的情况下,尽可能保证内部网络的安 全。它是种被动的技术,是一种静态安全部件。

1、防火墙设计的要求

(对防御内部的攻击无用):

所有进出网络的数据都要通过防火墙(但不一定要过滤)

只允许经过授权的数据流通过防火墙

防火墙自身对入侵是免疫的

2、防火墙提供的四种控制机制

服务控制

方向控制

用户控制

行为控制

3、防火墙的几个基本功能

(1)隔离不同的网络,限制安全问题的扩散,对安全集中管理,简化了安全管理的复杂程度。

(2) 防火墙可以方便地记录网络上的各种非法活动,监视网络的安全性,遇到紧急情况报警。

(3)防火墙可以作为部署 NAT 的地点,利用 NAT 技术,将有限的 IP 地址动态或静 态地与内部的 IP 地址对应起来,用来缓解地址空间短缺的问题或者隐藏内部网络的结构。

(4)防火墙是审计和记录 Internet 使用费用的一个最佳地点。

(5)防火墙也可以作为 IPSec 的平台。

(6)内容控制功能。根据数据内容进行控制,比如防火墙可以从电子邮件中过滤 掉垃圾邮件,可以过滤掉内部用户访问外部服务的图片信息。只有代理服务器和先进的过滤才能实现。

二、防火墙分类

一般来说,防火墙工作于OSI模型的层次越高,其检查数据包中的信息就越多,因此防火墙所消耗的处理器工作周期就越长;防火墙检查的数据包越靠近OSI模型的上层,该防火墙结构所提供的安全保护等级就越高,因为在高层上能够获得更多的信息用于安全决策。

OSI七层模型记忆口诀:物数网传会表应

0、包过滤防火墙

包过滤防火墙也称分组过滤路由器,又叫网络层防火墙,因为它是工作在网络层。 路由器便是一个网络层防火墙,因为包过滤是路由器的固有属性。它一般是通过 检查单个包的地址、协议、端口等信息来决定是否允许此数据包通过,有静态和 动态两种过滤方式。 这种防火墙可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。 如果没有一条规则能符合,防火墙就会使用默认规则(丢弃该包)。在制定数据包过滤规则时,一定要注意数据包是双向的

1、静态包过滤防火墙

工作于网络层

对于静态包过滤防火墙来说,决定接收还是拒绝一个数据包,取决于对数据包中IP头和协议头等特定域的检查和判定。

对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号

在每个包过滤器上,安全管理员要根据企业的安全策略定义一个表单,这个表单也被称为访问控制规则库。该规则库包含许多规则,用来指示防火墙应该拒绝还是接受该数据包。

优缺点:对网络性能有较小的影响,成本低;安全性较低,缺少状态感知能力,容易遭受IP欺骗攻击,创建访问控制规则比较困难。

静态包过滤防火墙主要实现如下三个功能:

接受每个到达的数据包。

对数据包采用过滤规则,对数据包的IP头和传输字段内容进行检查。如果数据包的头信息与一组规则匹配,则根据该规则确定是转发还是丢弃该数据包。

如果没有规则与数据包头信息匹配,则对数据包施加默认规则。

2、动态包过滤防火墙

连接建立以后的数据包不需要检查

优缺点:对网络性能有较小的影响,具有状态感知能力,性能显著提升;安全性低,容易遭受IP欺骗攻击,难于创建规则(必须考虑规则的先后顺序)

对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号

3、电路级网关

工作于会话层,在许多方面,电路级网关仅仅是包过滤防护墙的一种扩展,它除了进行基本的包过滤检查之外,还要增加对连接建立过程中的握手信息及序列号合法性的验证。

在打开一条通过防火墙的连接或电路之前,电路级网关要检查和确认TCP及UDP协议会话。因此,电路级网关所检查的数据比静态包过滤防火墙或动态包过滤防火墙所检查的数据更多,安全性也更高。

对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号、握手信息及序列号

优点:

对网络性能有一定影响,比包过滤性能低,但优于应用代理防火墙。

切断了外部网络和防火墙后服务器的直接连接。

安全性高。

缺点:

无法抵御应用层入侵。

当程序和资源增加时,电路及网关的许多代码需要修改。

4、应用级网关

工作于应用层,只能对特定服务的数据流进行过滤,应用级网关必须为特定的应用服务编写特定的代理程序。

与电路级网关一样,应用级网关截获进出网络的数据包,运行代理程序来回复制华为传递通过网关的信息,起着代理服务器的作用。它可以避免内网中的可信服务器或客户机遇外网中某个不可信主机之间的直接连接。

主要工作在应用层,又称为应用层防火墙。它检查进出的数据包,通过自身复制 传递数据,防止在受信主机与非受信主机间直接建立联系。应用层网关能够理解 应用层上的协议,能够做复杂的访问控制,并做精细的注册和审核。 基本工作过程是:当客户机需要使用服务器上的数据时,首先将数据请求发给代 理服务器,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器 将数据传输给客户机。常用的应用层网关已有相应的代理服务软件,如 HTTP、 SMTP、 FTP、 Telnet 等,但是对于新开发的应用,尚没有相应的 代理服务,它们将通过网络层防火墙和一般的代理服务。 应用层网关有较好的访问控制能力,是目前最安全的防火墙技术。能够提供内容 过滤、用户认证、页面缓存和 NAT 等功能。但实现麻烦,有的应用层网关缺乏“透 明度”。应用层网关每一种协议需要相应的代理软件,使用时工作量大,效率明 显不如网络层防火墙。

优点:

在已知安全模型中安全性高

强大的认证功能

强大的日志功能

规则创建简单

缺点:

灵活性差

配置繁琐

性能低

应用级网关电路级网关切断了数据的端到端流动

5、状态检测防火墙

状态检测防火墙工作于OSI模型的所有7个层次上,所以在理论上具有很高的安全性,但是现有的大多数状态检测防火墙只工作于网络层上,因此其安全性与包过滤防火墙相当。

在所有7层上进行过滤

优点:

有更高的安全性,能够抵御协议细节攻击

没有打破客户/服务器模式

提供集成的动态包过滤功能

缺点:

单线程设计,性能不高,无法高并发

没有打破客户/服务器结构会产生不可接受的安全风险

6、切换代理

实际上是动态包过滤器和一个电路级代理的结合。

前三次握手时是电路级网关,然后再切换到动态包过滤的工作模式下。因此,切换代理首先工作于OSI的会话层,即第5层;当连接完成后,再切换到动态包过滤模式,即工作于OSI的第3层网络层

7、空气隙防火墙

也称做安全网闸,在内网和外网之间实现了真正的物理隔离

三、网络地址转换NAT

完成IP到端口映射

NAT按照实现方式分类:静态网络地址转换,动态网络地址转换,端口地址换换

按照数据流向分类:源地址转换,目的地址转换

所有输入数据包的目的地址=所有输出数据包的源地址=路由器的外部地址