图形界面工具搞定linux/unix防火墙
- 2023-05-16 05:17:10
- 来源:互联网
- 在手机上看
扫一扫立即进入手机端
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服务即可。
图1
当你在左侧的树形图点击防火墙本身或是任何显示在窗口顶部的防火墙策略网格时,您可以编辑主机和防火墙设置。在主机设置选项中你会发现选择在计算机上设置具体工具路径的选项,包括重写各种TCP设置,如FIN和保持活动超时,以及更改显式拥塞通知(ECN)和时间戳的,还有SYN cookies。此外主机选项包括开启内核antispoofing支持,源路由是否应该被忽视,如何对待不同的ICMP数据包等等,在模板一中防火墙默认配置并没有明确更改这些设置。
图2
单击左侧的树形图或是窗口左边的防火墙具体选项中的“Firewall settings...“按钮。您就可以进行全局规则的设定,比如限制在给定的时间间隔记录数据包的数量,为方便的调整产生的防火墙规则添加一个序言和结语,并指定自定义安装时可能需要更改的系统路径。您可以指定如何拒绝数据包(即不接受何种ICMP包),如默认抛弃未知连接的相关的数据包,并指定防火墙规则第一次执行时是否显示应该被接受的已经建立或相关的连接。
NAT的选项卡允许您设置源和目地IP地址通过服务器转换后如何变化。为了使服务器修改这些地址您可以设置一系列规则和拖动左窗格中目录树中的网卡到源或目的规则网格的所在。 NAT规则也可以对源,目的,服务器进行有效配置,或是可以修改连接的源和目标地址或是更改该连接最后被发送的端口。
如下面的截图所示,在左窗格中显示了网卡在当前的防火墙下的描述性名称(在这里生成模板一)。当然你也可以修改它的名称和与他相关的服务。并且可以按需增加新的网卡。在屏幕截图中也可以看到网络上任何尝试连接到myssh服务的机器源地址将被记录,这样就可以在安装防火墙的机器上看到发起连接的源地址了。
图3
Fwbuilder的一个特别有用的功能就是可以看到您所有NAT和防火墙策略所使用的服务。当您在左侧的树状视图或在窗口顶部的窗格右键单击这些服务时,在弹出菜单中选择“Where used“,这时窗口底部会弹出一个子窗口,让您快速查看哪些NAT或防火墙规则引用了这些服务。这也可以让您审查是什么能够连接到这些服务,判断是否是NAT的执行,才使该服务得以使用。
直接使用某些单独服务这种定义规则的方法往往很不方便,因为许多服务可以共同工作来提供所需的功能。 fwbuilder允许定义“groups“,它许多单独的服务的定义为一个单一的逻辑单元考虑。例如,Useful_ICMP groups包括ICMP的消息超时,ping数据包,以及所有不可到达的ICMP数据包等服务。“groups“的使用允许服务器的特定功能模块作为一个单一的单元。该单元利用更多的可让您编辑的逻辑上的功能单位,而不必记清楚你每次想要允许某些组合时所用到的每个服务。
能在一个单独的主机上定义NAT和路由规则非常的方便。它可以让你设置数据传输方式,因为有时数据的流动会使数据发生错位,在某台机器上甚至发生数据丢失。利用服务拖放和复制网址或服务的功能配置防火墙,同时使用fwbuilder提供的各种分类的模板,使的fwbuilder成为快速创建数据包过滤政策的一个非常有用的工具。在左边的树形标准库视图还提供了192.168和172等10个不错的专用子网选择,此外还有一些服务和服务组,以及例如在本周一段时间内改变防火墙规则的时间选项。
一些愿望
当鼠标移动到显示的系统目录或用户目录上时,如果左侧的树形视图颜色发生改变,这时你应该不加思索的检查你正在看的目录。不幸的是, fwbuilder在一些方面用户界面还不是很友好。例如,当您编译一个防火墙,如果它的策略不是100%正确的,错误报告需要你记住造成错误规则,这时你需要关闭编译错误对话框,并手动选择刚才记住的规则。如果fwbuilder能够尝试解析输出,在窗口底部增加窗格显示错误信息,同时保留错误的上下文信息让你双击错误信息时直接跳到错误的规则上面,我想这将非常的不错。还有,如果当你只打算将一条规则的少数几行进行修改,你可以用鼠标右键单击此规则,然后选择移动此规则,然后重新拖放规则,而无需手动输入新的规则数目,这也将会很棒。最后,当您从fwbuilder安装防火墙时,会提示您输入用户名和连接服务器进行安装,然后通过一个基于SSH到该机器的连接安装防火墙策略。如果可以只输出iptables文件来进行手工安装,我想这也会非常爽的。