2) 防火墙存在的不足
(1)不能防范恶意的知情者。防火墙可以禁止系统用户经过网络连接发送专有的信息,但用户可以将数据复制到磁盘、磁带上,放在公文包中带出去。如果入侵者已经在防火墙内部,防火墙是无能为力的。内部用户可以偷窃数据,破坏硬件和软件,并且巧妙地修改程序而不接近防火墙。对于来自知情者的威胁,只能要求加强内部管理。
(2)不能防范不通过它的连接。防火墙能够有效地防止通过它传输的信息,然而它却不能防止不通过它而传输的信息。例如,如果站点允许对防火墙后面的内部系统进行拨号访问,那么防火墙绝对没有办法阻止入侵者进行拨号入侵。
(3)不能防备全部的威胁。防火墙被用来防备已知的威胁,如果是一个很好的防火墙设计方案,就可以防备新的威胁,但没有一台防火墙能自动防御所有新的威胁。
4、防火墙的管理与维护
如果已经设计好了一个防火墙,使它满足了你的机构的需要,接下来的工作就是防火墙的管理与维护了。在防火墙设计建造完成以后,使它正常运转还要做大量的工作。值得注意的是,这里许多维护工作是自动进行的。管理与维护工作主要有4个方面,它们分别是:建立防火墙的安全策略、日常管理、监控系统、保持最新状态。
4.1 建立防火墙的安全策略
要不要制定安全上的策略规定是一个有争议的问题。有些人认为制定一套安全策略是相当必须的,因为它可以说是一个组织的安全策略轮廓,尤其在网络上以及网络系统管理员对于安全上的顾虑并没有明确的策略时。
安全策略也可以称为访问上的控制策略。它包含了访问上的控制以及组织内其他资源使用的种种规定。访问控制包含了哪些资源可以被访问,如读取、删除、下载等行为的规范,以及哪些人拥有这些权力等信息。
1) 网络服务访问策略
网络服务访问策略是一种高层次的、具体到事件的策略,主要用于定义在网络中允许的或禁止的网络服务,还包括对拨号访问以及PPP(点对点协议)连接的限制。这是因为对一种网络服务的限制可能会促使用户使用其他的方法,所以其他的途径也应受到保护。比如,如果一个防火墙阻止用户使用Telnet服务访问因特网,一些人可能会使用拨号连接来获得这些服务,这样就可能会使网络受到攻击。网络服务访问策略不但应该是一个站点安全策略的延伸,而且对于机构内部资源的保护也起全局的作用。这种策略可能包括许多事情,从文件切碎条例到病毒扫描程序,从远程访问到移动介质的管理。
2) 防火墙的设计策略
防火墙的设计策略是具体地针对防火墙,负责制定相应的规章制度来实施网络服务访问策略。在制定这种策略之前,必须了解这种防火墙的性能以及缺陷、TCP/IP自身所具有的易攻击性和危险。防火墙一般执行一下两种基本策略中的一种:
① 除非明确不允许,否则允许某种服务;
② 除非明确允许,否则将禁止某项服务。
执行第一种策略的防火墙在默认情况下允许所有的服务,除非管理员对某种服务明确表示禁止。执行第二种策略的防火墙在默认情况下禁止所有的服务,除非管理员对某种服务明确表示允许。防火墙可以实施一种宽松的策略(第一种),也可以实施一种限制性策略(第二种),这就是制定防火墙策略的入手点。
3) 安全策略设计时需要考虑的问题
为了确定防火墙安全设计策略,进而构建实现预期安全策略的防火墙,应从最安全的防火墙设计策略开始,即除非明确允许,否则禁止某种服务。策略应该解决以下问题:
·需要什么服务,如Telnet、WWW或NFS等;
·在那里使用这些服务,如本地、穿越因特网、从家里或远方的办公机构等;
·是否应当支持拨号入网和加密等服务;
·提供这些服务的风险是什么;
·若提供这种保护,可能会导致网络使用上的不方便等负面影响,这些影响会有多大;
·与可用性相比,站点的安全性放在什么位置。
4.2 日常管理
日常管理是经常性的琐碎工作,以使防火墙保持清洁和安全。为此,需要经常去完成的主要工作:数据备份、账号管理、磁盘空间管理等。
1) 数据备份
一定要备份防火墙的数据。使用一种定期的、自动的备份系统为一般用途的机器做备份。当这个系统正常做完备份之后,最好还能发送出一封确定信,而当它发现错误的时候,也最好能产生一个明显不同的信息。
为什么只是在错误发生的时候送出一封信就好了呢?如果这个系统只在有错误的时候产生一封信,或许就有可能不会注意到这个系统根本就没有运作。那为什么需要明显不同的信息呢?如果备份系统正常和执行失败时产生的信息很类似。那么习惯于忽略成功信息的人,也有可能会忽略失败信息。理想的情况是有一个程序检查备份有没有执行,并在备份没有执行的时候产生一个信息。
2) 账号管理
账号的管理。包括增加新账号、删除旧账号及检查密码期限等,是最常被忽略的日常管理工作。在防火墙上,正确的增加新账号、迅速地删除旧账号以及适时地变更密码,绝对是一项非常重要的工作。
建立一个增加账号的程序,尽量使用一个程序增加账号。即使防火墙系统上没有多少用户,但每一个用户都可能是一个危险。一般人都有一个毛病,就是漏掉一些步骤,或在过程中暂停几天。如果这个空档正好碰到某个账号没有密码,入侵者就很容易进来了。
账号建立程序中一定要标明账号日期,以及每隔一阶段就自动检查账号。虽然不需要自动关闭账号,但是需要自动通知那些账号超过期限的人。可能的话,设置一个自动系统监控这些账号。这可以在UNIX系统上产生账号文件,然后传送到其他的机器上,或者是在各台机器上产生账号,自动把这些账号文件拷贝到UNIX上,再检查它们。
如果系统支持密码期限的功能,应该把该功能打开。选择稍微长一点的期限,譬如说三到六个月。如果密码有效期太短,例如一个月,用户可能会想尽办法躲避期限,也就无法在安全防护上得到真正的收益。同理如果密码期限功能不能保证用户在账号被停用前看到密码到期通知,就不要开启这个功能。否则,用户会很不方便,而且也会冒着锁住急需使用机器的系统管理者的风险。
3) 磁盘空间管理
数据总是会塞满所有可用的空间,即使在几乎没有什么用户的机器上也一样。人们总是向文件系统的各个角落丢东西,把各种数据转存到文件系统的临时地址中。这样引起的问题可能常常会超出人们的想象。暂且不说可能需要使用那些磁盘空间,只是这种碎片就容易造成混乱,使事件的处理更复杂。于是有人可能会问:那是上次安装新版程序留下来的程序吗?是入侵者放进来的程序吗?那真的是一个普通的数据文件吗?是一些对入侵者有特殊意义的东西?等等,不幸的是能自动找出这种“垃圾”的方法没有,尤其是可以在磁盘上到处写东西的系统管理者。因此,最好有一个人定期检查磁盘,如果让每一个新任的系统管理者都去遍历磁盘会特别有效。他们将会发现管理员忽视的东西。
在大多数防火墙中,主要的磁盘空间问题会被日志记录下来。这些记录应该自动进行,自动重新开始,这些数据最好把它压缩起来。Trimlon程序能够使这个处理程序自动化。当系统管理者要截断或搬移记录时,一定要停止程序或让它们暂停记录,如果在截断或搬移记录时,还有程序在尝试写入记录文件,显然就会有问题。事实上,即使只是有程序开启了文件准备稍后写入,也可能会惹上麻烦。