在设计Internet防火墙时,网络管理员必须做出几个决定:
· 防火墙的姿态(Stance)
· 机构的整体安全政策
· 防火墙的经济费用
· 防火墙系统的组件或构件
防火墙的姿态
防火墙的姿态从根本上阐述了一个机构对安全的看法。Internet防火墙可能会扮演两种截然相反的姿态:
· 拒绝没有特别允许的任何事情。这种姿态假定防火墙应该阻塞所有的信息,而每一种所期望的服务或应用都是实现在case-by-case的基础上。这是一个受推荐的方案。其建立的是一个非常安全的环境,因为只有审慎选择的服务才被支持。当然这种方案也有缺点,就是不易使用,因为限制了提供给用户们的选择范围。
· 允许没有特别拒绝的任何事情。这种姿态假定防火墙应该转发所有的信息,任何可能存在危害的服务都应在case-by-case的基础上关掉。这种方案建立的是一个非常灵活的环境,能提供给用户更多的服务。缺点是,由于将易使用这个特点放在了安全性的前面,网络管理员处于不断的响应当中,因此,随着网络规模的增大,很难保证网络的安全。
机构的安全策略
如前所述,Internet防火墙并不是独立的,它是机构总体安全策略的一部分。机构总体安全策略定义了安全防御的方方面面。为确保成功,机构必须知道其所有保护的是什么。安全策略必须建立在精心进行的安全分析、风险评估以及商业需求分析基础之上。如果机构没有详尽的安全策略,无论如何精心构建的防火墙都会被绕过去,从而整个内部网络都暴露在攻击面下。
机构能够负担起什么样的防火墙?简单的包过滤防火墙的费用最低,因为机构至少需要一个路由器才能连入Internet,并且包过滤功能包括在标准的路由器配置中。商业的防火墙系统提供了附加的安全功能,而费用在$4,000到$30,000之间,具体价格要看系统的复杂性和要保护的系统的数量。如果一个机构有自己的专业人员,也可以构建自己的防火墙系统,但是仍旧有开发时间和部署防火墙系统等的费用问题。还有,防火墙系统需要管理,一般性的维护、软件升级、安全上的补漏、事故处理等,这些都要产生费用。
图4 包过滤路由器
防火墙系统的组成
在确定了防火墙的姿态、安全策略、以及预算问题之后,就能够确定防火墙系统的特定组件。典型的防火墙有一个或多个构件组成:
· 包过滤路由器
· 应用层网关(或代理服务器)
· 电路层网关
在后面我们将讨论每一种构件,并描述其如何一起构成一个有效的防火墙系统。
构件:包过滤路由器
包过滤路由器(图4)对所接收的每个数据包做允许拒绝的决定。路由器审查每个数据报以便确定其是否与某一条包过滤规则匹配。过滤规则基于可以提供给IP转发过程的包头信息。包头信息中包括IP源地址、IP目标端F地址、内装协(ICP、UDP、ICMP、或IP Tunnel)、TCP/UDP目标端口、ICMP消息类型、包的进入接口和出接口如果有匹配并且规则允许该数据包,那么该数据包就会按照路由表中的信息被转发。如果匹配并且规则拒绝该数据包,那么该数据包就会被丢弃。如果没有匹配规则,用户配置的缺省参数会决定是转发还是丢弃数据包。
与服务相关的过滤
包过滤路由器使得路由器能够根据特定的服务允许或拒绝流动的数据,因为多数的服务收听者都在已知的TCP/UDP端口号上。例如,Telnet服务器在TCP的23号端口上监听远地连接,而SMTP服务器在TCP的25号端口上监听人连接。为了阻塞所有进入的Telnet连接,路由器只需简单的丢弃所有TCP端口号等于23的数据包。为了将进来的Telnet连接限制到内部的数台机器上,路由器必须拒绝所有TCP端口号等于23并且目标IP地址不等于允许主机的IP地址的数据包。
一些典型的过滤规则包括:
· 允许进入的Telne会话与指定的内部主机连接
· 允许进入的FTP会话与指定的内部主机连接
· 允许所有外出的Telne会话
· 允许所有外出的FTP会话
· 拒绝所有来自特定的外部主机的数据包 与服务无关的过滤