所谓防火墙(Firewall)是指一个由软件和硬件设备组合而成、将内部网和外部网之间、专用网与公共网之间进行隔离的保护系统。防火墙通常可以作为一个独立的主机设备,也可以是网关、代理服务器之类的边界设备上的软件,还可以作为个人计算机的一个应用程序,来控制出入计算机的信息。它可以按照用户事先规定的方案控制信息的流入和流出,使用户可以安全地使用网络,降低受到黑客攻击的可能性。防火墙作为网络的安全屏障,通过过滤不安全的服务而大大地提高内部网络的安全性。
防火墙具有以下基本特性:
(1) 所有进出网络的数据流都必须经过防火墙,因为只有当防火墙是内、外部网络之间通信的唯一通道,才可以实现对进出内部网络的服务和访问的记录和控制,从而有效地保护网部网络不受侵害。
(2) 所有通过防火墙的数据流都必须有安全策略的确认与授权。
从其形式上来看,有两大种类,一是硬件防火墙,二是软件防火墙。硬件防火墙是一个装有安全软件的专用安全设备,而软件防火墙通常可以安装在通用的网络操作系统(如Windows或Linux)上。
根据数据通信发生的位置,常将防火墙分为两种类型,一是网络层防火墙,二是应用层防火墙。网络层防火墙可视为一种数据包过滤器,只允许符合预先定义的特定规则的数据包通过,其余的一概禁止穿越防火墙。这些规则通常可以经由管理员定义或修改,不过某些防火墙设备可能只能套用内置的规则;应用层防火墙就是常说的代理服务器,这种防火墙方案可以在代理服务器上设置相应的限制,以过滤或屏蔽掉某些信息。
代理服务器位于内部用户和外部主机之间,所有内网的主机需要使用代理服务器与外网的主机通信,同样,外部的访问也要从代理服务器开始,因此增加了攻击内网主机的难度。理论上,这一类防火墙可以完全阻绝外部的数据流进到受保护的主机里,但每一种协议需要相应的代理软件,使用时工作量大,实现困难。