防火墙

防火墙（Firewall）在电脑科学领域中是一个架设在互联网与内网之间的网络安全设备，根据持有者预定的策略来监控往来的传输。防火墙可能是一台专属的网络设备，也可执行于主机之上，以检查各个网络界面的网络传输。它是目前最重要的一种网络防护设备，从专业角度来说，防火墙是位于两个或以上网络间，实行网络间访问或控制的一组元件集合之硬件或软件。

## 功能

防火墙最基本的功能就是隔离网络，透过将网络划分成不同的区域（通常情况下称为ZONE），制定出不同区域之间的访问控制策略来控制不同信任程度区域间传送的数据流。例如互联网是不可信任的区域，而内部网络是高度信任的区域。以避免安全策略中禁止的一些通信。它有控制信息基本的任务在不同信任的区域。典型信任的区域包括互联网(一个没有信任的区域) 和一个内部网络(一个高信任的区域)。最终目标是：根据最小特权原则，在不同水平的信任区域，透过连通安全政策的运行，提供受控制的连通性。

例如：TCP/IP Port 135~139是 Microsoft Windows 的【网上邻居】所使用的。如果电脑有使用【网上邻居】的【分享资料夹】，又没使用任何防火墙相关的防护措施的话，就等于把自己的【分享资料夹】公开到Internet，使得任何人都有机会浏览目录内的档案。且早期版本的Windows有【网上邻居】系统溢位的无密码保护的漏洞（这里是指【分享资料夹】有设密码，但可经由此系统漏洞，达到无须密码便能浏览资料夹的需求）。防火墙的本义，是指古代构筑和使用木制结构房屋时，为防止火灾发生及蔓延，人们将坚固石块堆砌在房屋周围做为屏障，这种防护结构建筑就被称为防火墙。现代网络时代引用此喻意，指隔离本地网络与外界网络或是局域网络间与互联网或互联网的一道防御系统，借由控制过滤限制讯息来保护内部网络资料的安全。

## 防火墙类型

针对普通用户的个人防火墙，通常是在一部电脑上具有封包过滤功能的软件，如ZoneAlarm及Windows XP SP2后内建的防火墙程式。而专业的防火墙通常为网络设备，或是拥有2个以上网络界面的电脑。以作用的TCP/IP堆叠区分，主要分为网络层防火墙和应用层防火墙两种，但也有些防火墙是同时运作于网络层和应用层。

### 网络层(封包过滤型)防火墙

运作于TCP/IP协定堆叠上。管理者会先根据企业/组织的策略预先设定好封包通过的规则或采用内建规则，只允许符合规则的封包通过。

一般而言，由于来源IP不易阻挡，通常借由阻挡非80/443的端口，以阻挡来自非80/443的端口的不需要的流量。

网络层防火墙可分为：状态感知(stateful)与无状态感知(stateless)。

- 状态感知(stateful)

状态感知防火墙会针对活动中的连线维护前后传输的脉络，并使用这些状态资讯来加速封包过滤处理。

根据需求，现行的网络连线由各种性质描述，包括：来源端IP位置，目的端IP位置、UDP或TCP埠口号码，以及连线所处的状态阶段(连线初始化、交握中，资料传输中、或完成连线)。

如果有封包与现存连线不符，防火墙会根据规则来评估此封包是否该属于另外一个新连线。如果封包符合现存连线，防火墙会根据自己所建立的状态表完成比对，该封包就不必额外处理，即可通过两端网络。

- 无状态感知(stateless)

无状态感知防火墙所需较少的内存，针对于通过的封包，作比较简易与快速的过滤。如此，相较于查询对话工作期间(session)，无状态感知防火墙所耗的时间也较少。

这种防火墙可处理无状态网络通讯协定，这种协定并没有对话工作期间(session)的概念。

反之，这种防火墙无法根据沟通的两端所处的状态阶段作出复杂的决策。

我们也能以另一种较宽松的角度来制定防火墙规则，只要封包不符合任何一项“否定规则”就予以放行。现在的操作系统及网络设备大多已内建防火墙功能。

较新的防火墙能利用封包的多样属性来进行过滤，例如：来源 IP 位址、来源埠号、目的 IP 位址或埠号、服务类型(如 HTTP 或是 FTP)。也能经由通讯协定、TTL 值、来源的域名或网段...等属性来进行过滤。

### 应用层防火墙

<image>

应用层防火墙是在TCP/IP堆叠的“应用层”上运作，使用浏览器时所产生的资料流或是使用 FTP 时的资料流都是属于这一层。应用层防火墙可以拦截进出某应用程序的所有封包，并且封锁其他的封包(通常是直接将封包丢弃)。理论上，这一类的防火墙可以完全阻绝外部的资料流进受保护的机器里。

防火墙借由监测所有的封包并找出不符规则的内容，可以防范电脑蠕虫或是木马程式的快速蔓延。实际上，这个方法繁复（因软件种类极多），所以大部分防火墙都不会考虑以这种方法设计。

截至2012年，所谓的下一代防火墙（NGFW）都只是“拓宽”并“深化”了在应用栈检查的能力。例如，现有支持深度分组检测的现代防火墙均可扩展成入侵预防系统（IPS），用户身份集成（用户ID与IP或MAC地址绑定），和Web应用防火墙（WAF）。

### 代理服务

代理（Proxy）服务器（可以是一台专属的网络设备，或是在一般电脑上的一套软件）采用应用程序的运作方式，回应其所收到的封包（例：连线要求）来实现防火墙的功能，而封锁/抛弃其他封包。

代理服务器用来连接一个网络(例：互联网)到另一个特定子网(例：企业内网)的转送者。

代理会使从外部网络窜改一个内部系统更加困难，且只要对于代理有良好的设定，即使内部系统出现问题也不一定会造成安全上的漏洞。相反地，入侵者也许劫持一个公开可及的系统和使用它作为代理人为他们自己的目的；代理人伪装作为那个系统对其它内部机器。当对内部地址空间的用途增加安全，破坏者也许仍然使用方法譬如IP欺骗（IP spoofing）试图通过封包对目标网络。

防火墙经常有网络地址转换(NAT) 的功能，并且主机被保护在防火墙之后共同地使用所谓的“私人地址空间”，定义在RFC 1918。

防火墙的适当的配置要求技巧和智慧，它要求管理员对网络协议和电脑安全有深入的了解，因小差错可使防火墙不能作为安全工具。

## 防火墙架构

<image>

### 主机型防火墙

此防火墙需有两张网络卡，一张与互联网连接，另一张与内联网连接，如此互联网与内联网的通道无法直接接通，所有封包都需要透过主机传送。

### 双闸型防火墙

此防火墙除了主机型防火墙的两张网络卡外，另安装应用服务转送器的软件，所有网络封包都须经过此软件检查，此软件将过滤掉不被系统所允许的封包。

### 屏障单机型防火墙

此防火墙的硬件设备除需要主机外，还需要一个路由器，路由器需具有封包过滤的功能，主机则负责过滤及处理网络服务要求的封包，当互联网的封包进入屏障单机型防火墙时，路由器会先检查此封包是否满足过滤规则，再将过滤成功的封包，转送到主机进行网络服务层的检查与传送。

### 屏障双闸型防火墙

将屏障单机型防火墙的主机换成双闸型防火墙。

### 屏障子网域型防火墙

此防火墙借由多台主机与两个路由器组成，电脑分成两个区块，屏障子网域与内联网，封包经由以下路径，第一个路由器->屏障子网域->第二路由器->内联网，此设计因有阶段式的过滤功能，因此两个路由器可以有不同的过滤规则，让网络封包更有效率。若一封包通过第一过滤器封包，会先在屏障子网域进行服务处理，若要进行更深入内联网的服务，则要通过第二路由器过滤。

## 缺点

正常状况下，所有互联网的封包软件都应经过防火墙的过滤，这将造成网络交通的瓶颈。例如在攻击性封包出现时，攻击者会不时寄出封包，让防火墙疲于过滤封包，而使一些合法封包软件亦无法正常进出防火墙。

## 外部链接

- 科摩多免费防火墙
- 赛门铁克在线检测
- 信息安全机构Matousec.com对个人防火墙进行的防漏洞测试（Leak test）排名
- Juniper 网络公司防火墙 / IPSec VPN