【IT168 专稿】Firewall Builder(fwbuilder)是一个可以帮助您配置IP数据包过滤的图形化应用程序。它可以编译你定义的多种规格的过滤政策,包括iptables和使用的各种语言的思科和Linksys路由器。这种让你定义的实际策略和以这种策略具体实现相分离的方法,可以让你当改变运行硬件时,不必重新定义该平台的防火墙政策。
Fwbuilder的软件安装包可以在Ubuntu Hardy和Fedora 9的软件仓库找到。 此外用于openSUSE 10.3的Fwbuilder版本已经被打包成一键安装文件,但是它还不支持openSUSE 11版本。在这篇文章中,我将搭建一个64位机器的试验平台,操作系统选择的是Fedora 9,安装fwbuilder的版本是2.1.19版。fwbuilder是被分成两个压缩文档进行安装:libfwbuilder和fwbuilder,你必须首先安装libfwbuilder这个文件,安装两个文件时采用普通文件的安装方式,即依次输入如下命令:
./configure;
make;
sudo make install 当进行配置时,有时会遇到这样的警告:
Running qmake: /usr/lib64/qt-3.3/bin/qmake
WARNING: icns.path is not defined: install target not created
如果你也遇到了,我建议你不用理睬。
当您启动fwbuilder时,通过右键单击防火墙树状视图中某个条目,您就可以创建一个新的防火墙。如果您选择启用防火墙模板和创建一个iptables防火墙,您会看到显示的一个新的对话框窗口。由于fwbuilder有一系列防火墙供您选择,而这些防火墙模板也能基本满足许多用户的使用需求,因此fwbuilder的入门显得非常简单。
模板一,它提供由你ISP支持的动态IP地址分布(DHCP)和您在服务器的第二个网络接口上的本地固定私人子网。模板二和模板一类似,但是它是为您的本地网络DHCP服务器所专门设计的。模板三是为一个的非军事区域(DMZ)子网络所设计,它的服务器上拥有三个接口其中一个拥有静态IP地址连接互联网,另外一个连接本地私人子网,最后一个网络接口连接一个可以从互联网登陆DMZ子网络,名单上的第四个项目,host fw template 1,只能提供一台主机的保护,并且只允许传入的SSH访问。虽然这种类型的防火墙策略非常简单,但是它可以为笔记本电脑用户迅速安装一个防火墙。 Linksys的防火墙模板是专为Linksys路由器上运行的防火墙,c36xx模板则是思科路由器上的一个防火墙模板。而网络服务器防火墙模板则允许安装此类防火墙的网络服务器通过HTTP和SSH方式进行通信。
模板一的防火墙规则如下面的截图所示。您可以在每个窗口上方的服务网格单元点击某个单元格,相应的底部窗格中显示会随之发生变化,以便您可以在此编辑该单元格中服务的设置。众所周知ssh服务可以用来规定哪些连接可以接受,非常的重要,此防火墙模板在左侧树视图中则把SSH服务作为了一个选项。而不像传统防火墙那样仅仅是简单的输入一个tcp连接类型和一个端口号。模板中所引用的服务只是系统定义的一部分,它是只读的,让你只能在窗格中看到细节,但不能编辑它们。如果您正在运行一个自定义端口的SSH,你不仅可以在SSH的目录中编辑它,或者在左边的树形图中右击它并在弹出目录中选择"Duplicate/Place in library User",可以建立复制个人服务。此外下拉略高于左侧的树视图列表可以让您选择标准(系统)目录或是用户目录。当你拥有你自己的SSH服务端口定义的副本,你就可以对它进行自由的编辑。若您要使用自己定义的SSH服务,你可以将它从左侧的树形视图中拖放到你的防火墙规则窗格中。虽然这一切运作良好,但是可能产生一个用户界面的问题是,如果是在标准的定义(系统)目录和用户目录的SSH服务具有相同的名称,当您拖动到您的自定义SSH服务到防火墙规则窗格中,您将看到两个窗格的SSH项目,而且没有丝毫迹象表明一个是你的个人目录版本,而另一个是标准的 (系统)目录版本。当然这个问题这很容易解决,你只需重命名你的用户目录中SSH服务即可。
当你在左侧的树形图点击防火墙本身或是任何显示在窗口顶部的防火墙策略网格时,您可以编辑主机和防火墙设置。在主机设置选项中你会发现选择在计算机上设置具体工具路径的选项,包括重写各种TCP设置,如FIN和保持活动超时,以及更改显式拥塞通知(ECN)和时间戳的,还有SYN cookies。此外主机选项包括开启内核antispoofing支持,源路由是否应该被忽视,如何对待不同的ICMP数据包等等,在模板一中防火墙默认配置并没有明确更改这些设置。单击左侧的树形图或是窗口左边的防火墙具体选项中的"Firewall settings..."按钮。您就可以进行全局规则的设定,比如限制在给定的时间间隔记录数据包的数量,为方便的调整产生的防火墙规则添加一个序言和结语,并指定自定义安装时可能需要更改的系统路径。您可以指定如何拒绝数据包(即不接受何种ICMP包),如默认抛弃未知连接的相关的数据包,并指定防火墙规则第一次执行时是否显示应该被接受的已经建立或相关的连接。
NAT的选项卡允许您设置源和目地IP地址通过服务器转换后如何变化。为了使服务器修改这些地址您可以设置一系列规则和拖动左窗格中目录树中的网卡到源或目的规则网格的所在。 NAT规则也可以对源,目的,服务器进行有效配置,或是可以修改连接的源和目标地址或是更改该连接最后被发送的端口。在左窗格中显示了网卡在当前的防火墙下的描述性名称(在这里生成模板一)。当然你也可以修改它的名称和与他相关的服务。并且可以按需增加新的网卡。
Fwbuilder的一个特别有用的功能就是可以看到您所有NAT和防火墙策略所使用的服务。当您在左侧的树状视图或在窗口顶部的窗格右键单击这些服务时,在弹出菜单中选择"Where used",这时窗口底部会弹出一个子窗口,让您快速查看哪些NAT或防火墙规则引用了这些服务。这也可以让您审查是什么能够连接到这些服务,判断是否是 NAT的执行,才使该服务得以使用。