修改配置
对于任何设备,您都需要不时地修改防火墙的配置。无论这是由于新设备上线访问Internet,还是由于在防火墙后增加了一个新的web服务器,都有必要改变防火墙配置。修改配置的问题归结为更改控制—确保对防火墙所做的更改会被跟踪和记录,以防出现问题。这些项目将在下面的部分中讨论。
变更控制
更改控件被定义为用于管理所做更改或其配置的过程和过程。为此讨论,重点是控制对防火墙配置所做的更改。防火墙的更改控制依赖于记录的这些更改或存储或两者的先前配置的副本。控制防火墙配置更改的最简单方法之一是使用某种修订控制系统 - 例如修订控制服务(RCS)或并发版本系统(CVS) - 检查更改,如果需要,请检查更改如果出现问题,重新创建先前版本的配置。这适用于防火墙的配置作为文本文件存储,可以将其下载到充当RCS或CVS存储库的系统。当防火墙的配置不能作为文本文件下载,应该保存对防火墙所做更改的运行日志,以便在必要时可以回退所做的更改。看到http://www.cs.purdue.edu/homes/trickle/rcs.获取有关RCS、CVS和其他更改控制软件系统的更多信息。
要设置一个简单的更改控制系统(如RCS(在UNIX、Linux或Windows上))来管理对防火墙配置的更改,一定要记住配置有时包含敏感的管理信息,如密码或访问控制列表(acl)。确保RCS(或CVS)系统和包含配置文件的目录或文件夹的安全是很重要的。在UNIX或Linux中,这需要更改RCS存储库的权限根或者管理组中的其他人具有访问权限,例如:
# CHGRP车轮配置#chmod -r 750配置
这些命令将configs目录的组所有权更改为wheel组,然后更改该组的权限,以及该目录下的所有目录的权限,为所有者读、写和执行;为组成员读取和执行;其他人也不允许。在本例中,这将目录的访问限制为所有者以及wheel组的其他用户。但是,组成员不能对目录中的文件进行更改。他们只能看到它们。只有所有者可以更改configs目录中的文件。
在Windows下,过程是类似的。若要仅限制管理员或管理员组的访问权限,则使用每个人组必须被删除。中所示的权限可以实现这一点图11-7.要设置文件夹的安全权限,必须右键单击文件夹并选择特性.这将打开文件夹属性窗口,如图所示图11-7.在文件夹属性窗口中,打开安全标签。这将打开文件夹的安全权限,如图所示图11-8.
文件夹属性
文件夹的初始安全设置
选择每一个人分组,然后单击删除按钮,在属性窗口的右侧。然后点击添加按钮添加希望拥有文件夹所有权的用户(在本例中,域管理员拥有所有权)。图11-9.显示了结果。
文件夹的最终安全设置
完成此操作后,对文件夹的访问将仅限于具有适当凭据的用户,如中所示图11.
没有适当凭证的访问被拒绝
当配置存储库目录得到充分保护后,下一步是将初始配置检入存储库。初始配置是一个起点,您将使用它作为设备的一个已知的良好配置。使用配置存储库跟踪初始配置之后所做的任何更改。通过这样做,您将能够在特定更改不好或需要删除时重新构造良好的配置。此外,通过使用修订控制,您可以通过要求进行更改的个人输入解释更改和更改需求的日志条目来查明谁进行了什么更改以及为什么进行更改。要检查设备的初始、已知的良好配置,只需使用checkin (ci)命令,如示例11-4所示。这个示例展示了如何将文件签入存储库,以及如何从存储库签出文件。这些命令在UNIX和Windows环境中的命令行中输入。
例11-4:使用RCS进行配置控制
73#ci - frodo.cfgRCS/frodo.cfg,v <——frodo.cfg enter description,以single '结尾。注意:这不是日志消息!>>外部/边缘路由器>>的初始配置。[root@sauron configs] 126 #co -l frodo.cfg.rcs / frodo.cfg,v - > frodo.cfg修订版1.1(锁定)完成[root @ sauron configs] 127#ls - l总计26号DRWXRWX --- 2根SYSADMIN 512 8月29日10:06 RCS -RW-R ----- 1根其他11879 8月29日10:06 Frodo.cfg
的ci命令检查配置成存储库。的-一世标志告诉RCS软件创建并初始化一个新的存储库。的有限公司命令用于检查项目在......之外存储库。的-L.标记还为发出有限公司命令。当配置文件被签出存储库时,它会出现在本地目录(对于Windows来说是文件夹)中,如上例11-4的末尾所示。本例中的工作文件是frodo.cfg。
已被检查并锁定文件后,只有当前用户可以更改配置。然后将文件选中回存储库时,必须记录所做的更改。每当您检查返回存储库的新版本时,RCS软件允许您向存储库添加日志消息以解释更改。示例11-5演示如何检查配置更改为RCS存储库。请注意-一世未使用标志,因为我们没有初始化存储库。在将配置删除回存储库后,RCS软件将删除工作文件(在这种情况下,Frodo.cfg)。
例11-5:签入对RCS存储库的更改
[root @ sauron configs] 132#ci frodo.cfg.RCS/frodo.cfg,v <——frodo.cfg新版本:1.2;以前的版本:1.1输入日志消息,以single '结束。' or end of file: >>新增外部NAT地址172.16.45.152 -> 192.168.155.152 - idubraws >>。完成[root@sauron configs] 33 #ls - ltotal 2 drwxrwx—2 root sysadmin 512 Aug 29 10:20 RCS
RCS,CVS和其他开源修订控制系统提供了一种简单,低成本的管理方式,可管理配置更改。
变换控制日志记录
变更控制日志记录是将有关配置变更的信息输入到变更控制系统的过程。在进行配置更改时包含有关配置更改的信息非常重要。这样,当新配置出现问题时,可以更容易地进行故障排除。当将新的配置修订签入存储库时,RCS软件自动提供添加日志消息的功能。日志消息应该充分反映对配置所做的更改,以便其他人能够进入,识别更改,并能够在必要时将其撤回。通过RCS查看对特定配置文件所做的所有更改的一种方法是使用rlog程序。rlog程序打印关于RCS存储库中文件的日志消息和其他信息。示例11-6演示了使用rlog.命令。要查看日志文件中对通过RCS管理的配置所做的更改,语法仅仅是rlog.文件名。这将显示对文件所做的所有更改的日志条目。
示例11-6:查看RCS日志以进行配置更改
[root @ sauron configs] 136#rlog frodo.cfg1.2 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 2;初始配置外部/边缘路由器---------------------------- revision 1.2日期:2005/08/29 14:19:59;作者:根;状态:经验值;行:+ 1 0添加新的外部NAT地址,172.16.45.152 - > 192.168.155.152——idubraws ---------------------------- 修订日期:1.1 2005/08/29 13:51:42;作者:根;状态:经验值;最初的版本
示例11-6中的输出提供了很多信息。例如,工作文件在工作文件行中标识。此外,它显示了对文件进行了多少修订(在示例中,已经进行了两个修订)。提供文件的描述,并在修订日志条目下方提供。
这将显示自配置文件首次检入存储库以来所做更改的所有日志条目。注意,对NAT配置进行更改的用户名被输入到日志消息本身。然而,用户正在使用根管理帐户。如果需要联系这个人,了解他或她所做的更改,这一点很重要。更好的做法是使用单个用户帐户为需要从配置中回滚的任何更改提供责任。
要查看配置之间所做的更改,管理员可以使用rcsdiff.如示例11-7所示的命令。的rcsdiff.命令显示RCS存储库中给定文件的两个版本之间的差异。在本例11-7中,显示了在使用-R.命令行上的标记。
例11-7:查看配置修订的差异
[root@sauron configs] 14 #frodo.cfg .cfg================================================================ RCS文件:RCS / frodo.cfg v检索修订1.1检索修订1.2 diff -r1.1 -r1.2 73 a74 > ip nat内部源静态172.16.45.152 66.92.161.152
虽然RCS对一个小站点有用,但是企业网络管理员将通过商业配置管理工具更好地服务,例如Ciscoworks管理中心为防火墙。此工具不仅为配置提供了修订版控制,还提供了一个工作流程工具,可提供管理员之间的职责。这可以防止单个管理员进行更改,并将配置推向防火墙,而不会使另一个管理员审核更改并批准它们。
更新防火墙软件
管理防火墙时要考虑的最后一个主题是更新防火墙软件。更新软件主要有两个原因。一个原因是利用新软件版本中添加的新功能。另一个原因是需要修复软件中的bug和漏洞。和所有软件一样,防火墙软件很复杂,包含很多行代码。防火墙中的代码可能已经经过了严格的测试,但是仍然会有一些软件开发人员没有考虑或者完全忽略的极端情况。极端情况是指只发生在正常操作之外的情况。通常情况下,当多个条件同时出现且处于极端级别时,就会出现极端情况。例如,DHCP饥饿攻击(攻击者试图通过对DHCP服务器范围内的所有IP地址生成多个请求来耗尽DHCP服务器向客户端提供租期的能力)以及分布式拒绝服务(DDoS)攻击。这两种攻击的组合可能会导致防火墙上的资源耗尽或触发其他一些软件bug,从而使防火墙不可用。 These bugs may result in the firewall resetting itself or may result in the firewall allowing invalid traffic through when it should be blocked.
选择正确的版本
更新防火墙软件的第一步是确定正确的版本。这意味着确定将在要升级的防火墙平台上运行哪个版本,并且哪种版本提供了所需的所有功能,并且防火墙获得许可。在SOHO防火墙上,例如Linksys设备或PIX 501 / 506E,最新版本通常是要使用的正确版本。但是,最近思科为PIX平台发布了PIX OS 7.0。此版本适用于除PIX 501和506E平台之外的所有PIX平台上。制造商发布新软件版本时,请在尝试升级防火墙之前满足该版本的要求。否则,这可能导致防火墙是非功能,并且需要软件降级到以前的版本以恢复操作。
对于基于Linux NetFilter的防火墙,管理员必须小心确保NetFilter防火墙代码被编译到Linux内核中(静态或动态加载模块)。在2.6系列的最新Linux内核中,NetFilter作为动态加载的模块自动包含在内核配置中。