4.4 防火墙简介
在古时候,发生火灾时火势往往会蔓延到其他的住所去,人们为了防止火灾发生时火势的蔓延,常在住所之间砌起一道砖墙以阻挡火势,而这道墙就称为“防火墙”。而今防火墙的概念延伸到了网络安全应用上,防火墙最早以硬件的形态出现,但是要架设网络防火墙需要投入相当大的资金用于购买硬件设施,而且主要用于保护由许多计算机所组成的大型网络。随着网络的快速发展,连接到因特网的用户不断增加,防黑客入侵开始受到重视,因此开始出现了以软件形态为主的防火墙。
建立防火墙的主要目的是保护属于我们自己的网络不受来自网络上的攻击。也就是说,我们所要防备的是外部网络,因为可能会有人从外部网络对我们发起攻击,所以需要在内部网络和不安全的非信任网络之间筑起一道防火墙,如图4-14所示。
图4-14 用防火墙阻挡来自外部网络的非法访问
4.4.1 防火墙的工作原理
虽然防火墙介于内部网络与外部网络之间,并保护着内部网络不受外界不信任网络的威胁,但它并不是将外部的网络连接请求完全阻挡在外,因为这样一来便失去了连接到因特网的意义。就某些观点来看,防火墙实际上代表了一个网络的访问原则。每个防火墙都代表一个单一进入点,所有进入网络的访问行为都会被检查并赋予授权及认证。防火墙会根据一套设置好的规则来过滤可疑的网络访问行为,并发出警告,即确定哪些类型的信息数据分组可以进出防火墙,而什么类型的信息数据分组则不能通过防火墙。
4.4.2 防火墙的分类
公司防火墙是使用路由器、服务器以及各种软件构建的硬件和软件组合系统。防火墙会设置在公司网络和因特网之间最容易受到攻击的地方,并且可以由系统管理员设置为简单或复杂。防火墙大致可分为“数据分组过滤型”(Packet Filtering,或称为数据包过滤型)与“代理服务器型”(Proxy Server)两种。
- 数据分组过滤型
在数据分组过滤型防火墙中,监控路由器会检测在因特网和公司网络之间传输的每个数据分组的报头(header)。报头内含发送者和接收者的IP地址、发送数据分组所使用的协议等信息。当这些数据分组被送到因特网上时,路由器会根据目的IP地址来选择一条适当的路径进行传送。在这种情况下,数据分组可能会经由不同的路径送达目的IP地址,当所有的数据分组抵达后,便会进行组装还原的操作。数据分组过滤型防火墙会检查所有收到的数据分组内的源IP地址,并按照系统管理员事先设置好的规则加以过滤。如果数据分组内的源IP在过滤规则内为禁止访问,防火墙便会将所有来自这个IP地址的数据分组丢弃。这种数据分组过滤型的防火墙大部分都由路由器来担任。例如,路由器可以阻挡除了电子邮件之外的任何数据分组,同时还可以阻挡通往可疑地址以及来自特定用户的数据流。
- 代理服务器型
代理服务器防火墙又称为“应用网关防火墙”(Application Gateway Firewall),它的安全性比数据分组过滤型防火墙高,但只适用于特定的网络服务,例如HTTP、FTP或Telnet等。事实上,此类型的防火墙是通过代理服务器来进行访问控制的。代理服务器是客户端与服务器之间的一个中介服务者,当代理服务器收到客户端A对某网站B的网络连接请求时,代理服务器会先判断该请求是否符合访问规则,若符合访问规则,服务器便会去网站B将数据取回,并传回客户端A。图4-15所示为使用代理服务器型防火墙保护内部网络的示意图。
图4-15 使用代理服务器型防火墙保护内部网络
因为只有单台代理服务器(取代网络中许多计算机)和因特网互动,所以可以确保安全性。由此可知,外部网络只能看见代理服务器,而无法窥知内部网络真实的资源分布情况。
- 软件防火墙
搭建硬件防火墙的成本较高,并不是所有人都能负担的,个人网络用户的网络安全意识也在不断提高,但是硬件防火墙对这些用户而言显然并不适合,于是便有了软件防火墙的需求。个人防火墙是设置在家庭计算机中的软件,可以像公司防火墙保护公司网络一样保护家庭计算机。软件防火墙所采用的技术与数据分组过滤型防火墙如出一辙,但它包括源IP地址限制以及端口限制等功能。例如,Windows操作系统本身也有内建的软件防火墙功能。