本章介绍防火墙的管理。从小型办公室/家庭用户的角度来看,防火墙是保护家庭网络免受恶意通信的单一设备——它将“坏东西”拒之门外,并为最终用户提供更安全的在线体验。对于企业来说,防火墙既可以是入站筛选器,也可以是出站筛选器,这取决于安全策略如何要求实施边缘网络。无论采用哪种方式,都必须以一种或另一种方式管理防火墙(对于企业来说,可能是防火墙)。通常情况下,大多数制造商现在都依赖于网络界面。在国内市场,这源于这样一个事实:图形用户界面(GUI)对终端用户更直观,因此表面上比命令行界面(CLI)更容易使用。然而,对于内心更大胆的人来说,有一些防火墙(即PIX、Linux IPTables和Solaris IPF,仅举几个例子)可以从CLI单独管理。本章涵盖的主题包括默认密码、为防火墙(如Linux的NetFilter)维护底层防火墙平台,以及通过CLI和GUI管理防火墙。最后,讨论了管理接口和常见的防火墙管理任务。
默认密码
当你购买一个新的防火墙(或任何网络设备),如思科PIX, Linksys, NetScreen,或SonicWall,开箱即用的设备有一些默认密码设置(在某些情况下没有默认密码)。这是因为制造商必须允许终端用户对设备进行初始访问,以便进行配置。任何设备的最新文档都警告终端用户立即将默认密码更改为其他密码。表11-1显示了一些防火墙的常见默认密码。
表11-1:默认密码
制造商 | 产品 | 默认管理账户 | 默认密码 |
---|---|---|---|
思科 | 照片 | 没有一个 | 没有一个 |
连系 | BEFSX41 | 没有一个 | 管理 |
网屏 | (所有) | 网屏 | 网屏 |
美国网件公司 | FR314 | 管理 | 密码 |
你可在F/X网站(http://www.phenoelit.de/dpl/dpl.html)或在Nikto网站(http://www.cirt.net/cgi-bin/passwd.pl)。正是因为这些网站有默认密码列表,所以这些密码才被认为是有害的。在某些情况下,供应商得到的提示是,尽管他们需要为初始设置设置默认密码,但初始设置还应该要求管理员从默认值更改密码。这已经在一些Cisco设备上实现了,比如他们的IDS平台,并且越来越被其他供应商所接受。
维护底层平台
与网络上的任何设备一样,防火墙运行软件(无论是嵌入到特定应用的集成电路[ASIC]中,还是从闪存或从磁盘文件系统中运行)以能够执行其功能。通常,就像Cisco PIX和ASA平台以及NetScreen和其他供应商防火墙的情况一样,这些防火墙运行一个定制的操作系统,其源代码不能供一般社区检查或篡改。如果一个错误或漏洞被外部发现,则由制造商开发补丁并发布操作系统的新版本,由最终用户安装以解决问题。此外,任何添加到设备的新功能都是根据制造商的时间表完成的。
与之相对的是具有防火墙功能的开放源码系统。其中包括Linux、OpenBSD和Solaris 10。外部组可以检查这些系统(Linux的NetFilter、OpenBSD的PF和Solaris 10的IPFilter)的防火墙源代码。这并不一定意味着这些操作系统中的过滤代码更好,但如果有人具备将附加功能编码到软件中的必要技能,则可以更容易地对其进行扩展。然而,这些过滤系统运行在一个更通用的操作系统(Linux, OpenBSD,分别和Solaris),因此错误或者漏洞的可能性(一些与过滤的代码和其他人)可能更大,因为底层操作系统意味着更普遍的使用。这样的系统需要细心、耐心和努力来维护和确保防火墙不被破坏。如果在这些防火墙中发现一个bug或漏洞,它的补丁可能比闭源设备系统更快可用。通常,这是因为能够修复bug或漏洞的人比那些参与商业闭源系统开发的人要多得多。这并不意味着思科、NetScreen、Watchguard、Linksys等供应商没有及时提供补丁;在某些情况下,这取决于问题的严重性。 Statistically, however, Linux and OpenBSD bugs are fixed quickly relative to closed-source vendors (http://csoinformer.com/research/solve.shtml)。
考虑一个防火墙的情况,它由一个简单的Intel PC组成,其中两个接口运行Fedora Core 4 Linux和NetFilter作为过滤防火墙。Fedora Core 4中的包数量大约是1500个(确切地说是1806个)。许多包可能包含一个可能导致(无论多么不可能)危及系统的错误。此外,适当地保护系统或维护系统所付出的努力可能超出了大多数没有足够技术背景的人的能力。对于新手用户来说,打包的、封闭源码的系统可能是更好的选择。Linksys路由器/防火墙、思科PIX 501或NetScreen 5XP可能更适合技术不太熟练的个人或想要使用封闭源设备的人,因为配置和维护所需的精力较低。然而,对于那些愿意付出努力和有技术的人来说,开放源码防火墙可以满足他们的要求。
维护底层平台需要时间。底层平台越复杂,所需的时间就越多。这就是封闭源设备(如PIX、NetScreen和Linksys)的优势所在。它们提供的设备虽然由用户配置和维护,但消除了更一般的操作系统中固有的许多变量。这使得经验不足的用户更容易维护防火墙。
防火墙管理界面
现代防火墙提供了两个管理接口:
CLI
GUI(通常,但不一定是基于web的)
本节提供这些接口的概述和一些示例。
使用CLI管理防火墙
CLI允许您使用特定的指令集来配置防火墙。大多数防火墙要求终端用户通过CLI完成防火墙的初始配置(输入基本的网络信息,如IP地址、网络掩码、默认网关,可能还有管理密码)之前最终用户可以切换到GUI。Linux的NetFilter在很大程度上是通过CLI配置的,尽管确实有一些产品允许通过GUI配置基于NetFilter的防火墙。
CLIs要求了解防火墙产品中的命令集。例如,要配置NetFilter,请使用IPTables CLI允许入站安全Shell (SSH)、电子邮件和web通信流(分别使用TCP端口22、25和80),并拒绝示例11-1中要求的所有其他通信流。
示例11-1:用IPTables配置NetFilter
输入拒绝接受输出转发接受输入- lo -j接受输入- p tcp -s 0.0.0.0/0 -d 10.16.17.202 -dport 22 - m state -state NEW - j ACCEPT输入-p tcp -s 0.0.0.0/0 -d 10.16.17.202 -dport 25 -m state -state NEW -j ACCEPT输入- p tcp -s 0.0.0.0/0 -d 10.16.17.202 -dport 80 - m state -state NEW - j ACCEPT输入-m状态——已建立的状态,相关-j接受# iptables -A输入—rejects -with icmp-host- prohibition—j REJECT
示例11-2使用PIX命令集提供了类似的配置。
示例11-2:配置PIX
甘道夫(配置)#访问列表acl_test允许tcp任何主机10.16.17.202 eq ssh甘道夫(配置)#访问列表acl_test允许tcp任何主机10.16.17.202 eq smtp甘道夫(配置)#访问列表acl_test允许tcp任意主机10.16.17.202 eq 80甘道夫(配置)#访问列表acl_test允许icmp any any甘道夫(配置)#访问列表acl_test拒绝ip甘道夫(配置)#显示访问列表acl_test访问列表acl_test;5元素访问列表acl_test 1号线允许tcp任何主机10.16.17.202 eq ssh (hitcnt = 0)访问列表acl_test第2行允许tcp任何主机10.16.17.202 eq smtp (hitcnt = 0)访问列表acl_test第3行允许tcp任何主机10.16.17.202 eq www (hitcnt = 0)访问列表acl_test 4号线允许icmp任何任何(hitcnt = 0)访问列表acl_test第5行否认任何任何ip (hitcnt = 0)
了解命令集对于通过CLI有效地配置防火墙至关重要。许多供应商(和第三方)努力将防火墙的配置简化为一种更简单的方法。当初始配置完成后(向防火墙软件提供IP地址和网络掩码),最终用户可以立即切换到更图形化的方法来配置防火墙。