防火墙是安装在内部网和外部网之间的一种访问控制设备。从图1可以看出,它是不同网络安全域信息的唯一出入口,能根据个人及企业的不同安全需求来控制出入网络的信息流。从物理上讲,各站点防火墙的物理实现方式有所不同,通常来说它是一组硬件设备包括:路由器、主机或是路由器、计算机和配有适当软件的网络的多种组合。从逻辑上讲防火墙是限制器、分离器、分析器。
1、防火墙的现状
1.1 防火墙现阶段主要作用
(1)增强网络安全性
允许网络管理员定义一个中心来防止非法访问,通过对服务进行安全监测,将安全性弱的服务过滤掉,从而抗击来自各种路线的攻击。因此,防火墙可以极大地提高网络安全性,降低对内网的安全风险。
(2)统计内部存取、监控和访问信息
防火墙记录有关外网的访问请求并统计相关数据。如果防火墙发出警报,则还提供防火墙和网络是否受到试探和攻击的细节。对网络数据的统计也可作为相关风险分析。
(3)安全性集中
通过配置防火墙安全方案,将一个子网内的所有安全软件集中存放在该系统中,与将分散的网络安全方案相比,防火墙集中式管理更经济、便于维护升级。
(4)增强个人隐私保护
因为防火墙可以封装域名服务系统,从而使Internet外部主机无法获取站点和Ip地址,进而使相关网站站点可防止DNS域名服务和finger获取合法用户有用信息。
1.2防火墙的设计原理
(1)数据包过滤,包过滤是在网络层根据访问控制表(Access Control Table)(如端口to+目的地址、accept from+源地址、端口+采取的动作、NAT地址转换、deny拒绝等等)进行包选择的,它可以用路由器完成。它是根据包的源端口、目的端口、源IP地址、目的IP地址、封装协议类型(TCP、UDP、ICMP等)、ICMP报文类型等报头信息(如图2、图3)来判断是否允许包通过和过滤用户定义的内容,如IP地址。
如果数据包满足该过滤规则,则允许通过,否则将此数据包所要到达的网络物理上被断开,起到了保护内部网络的作用。防火墙系统在网络层检查数据包,与应用层无关,包过滤器的应用非常广泛,因为CPU用来处理包过滤的时间可以忽略不计。数据包过滤防火墙优点:逻辑简单,网络性能好便于路由器安装;处理包速度比代理服务器快;实现包过滤比较经济,因为这些特点都包含在标准的路由器软件上;透明性好,不必对用户进行特殊的培训和安装特定的软件。缺点:数据包的源地址、目的地址以及IP端口号都在报头容易被假冒和窃听;因为定义数据包过滤器比较复杂,因而维护比较困难;随着过滤器数目的增加,路由器的吞吐量会下降。
(2)应用层代理,应用层代理防火墙(如图4)不允许网络直连,通常分为透明代理(Transparent Proxy)、传统代理(Traditional Proxy)。它是接收来自内部网络特定用户应用程序的通信,然后建立于公共网络服务器的单独连接。网络内部的用户不直接与外部的服务器通信,所以服务器不能直接访问内部网的任何一部分。因此无论内网主机还是外网主机都意识不到它们其实是在和防火墙通信。透明代理与传统代理工作原理相似,不同的是传统代理需要在客户端设置代理服务器。一般常见的应用程序有HTTP、SMTP、IRC、NET、FTP、NNTP、IMAP。应用层代理的优点:有强大的日志记录功能,能审查完整的网络数据;应用防火墙可以直接验证用户身份控制远程登录命令。缺点:每个协议都需要单独的代理程序,因此它对新的网络程序或网络协议的支持很有局限性;在对包解析会耗费大量CPU资源,因此会形成网络性能障碍。
1.3防火墙的局限性
防火墙不能解决来自内部网络的安全问题,而且如果网络管理员对防火墙的不当配置,也会使内部网面临安全威胁。防火墙也不能防止受病毒感染的文件的传输因此需要制定一套严格的规章制度,降低安装黑客程序的可能性,当然尽管有一些防火墙提供了病毒检测功能,病毒还有可能传入被保护网络。同时它也不能防范不经过防火墙的攻击,如果安全网络可以正常拨号连接,那么黑客可以对准许的访问端口对服务器进行漏洞攻击或者进行骗取用户信息的钓鱼攻击。作为网络“屏障”,防火墙也要进行冗余配置避免系统或人为的损坏。