应用操作系统-PicoBSD
2010-01-30 11:10:58 阿炯

软件方式的防火墙系统的一大问题就是由于系统本身能够安装丰富的软件,因此常常同时被用作其他用途,当用作其他用途时就有可能对本身的安全性造成影响。而硬件防火墙使用专有操作系统,只用作网络服务,这保证了它不会受到其他方面的影响。对于用作防火墙的计算机,通常应该专用而不要兼作其他用途。因为防火墙的安全性非常重要,内部网络安全要依赖防火墙的安全来保障,一旦防火墙被入侵,网络安全也就无法保证了。

通常安装的FreeBSD系统都具备硬盘,当具备硬盘的FreeBSD用做防火墙系统时,一方面免不了想提供多种复杂的服务,这样系统可能会具备潜在的安全漏洞,另一方面入侵者入侵这个系统之后,可以在系统硬盘上隐藏入侵程序以进一步入侵网络内部。

因此对于用作防火墙的FreeBSD 系统,最好直接修改系统的rc文件,屏蔽所有的网络服务。另一种方法是可以尝试使用软盘上的FreeBSD系统,这样计算机本身不具备硬盘,可以从管理上 杜绝它用作其他使用的机会,同时也节约了资源。此时FreeBSD系统可以不使用硬盘、显示器、键盘,通过串口进行设置,这样的系统可以安装在网络设备的 机架上,专门用作防火墙提供安全服务。

PicoBSD就是这样的一个小型FreeBSD系 统,能够安装在一张软盘上。PicoBSD提供了四个不同的版本:dial、isp、net和router,dial为拨号访问Internet的版本, isp为接受拨号访问的版本,net和router是用于网关和路由器的版本,它们都能够在386处理器和10M内存下运行(dial版本仅仅需要8MB 内存)。虽然从FreeBSD的主页上,可以得到预定制好的多种PicoBSD的磁盘镜像,然而由于计算机使用的硬件差异很大,定制好的磁盘镜像不一定适 合使用者的计算机硬件,由于软盘容量很小,不能容纳尽可能多的硬件驱动,每个磁盘镜像也不能支持太多的硬件设备,因此就需要根据自己计算机的具体硬件环境 定制PicoBSD。

要定制PicoBSD,就需要一个安装了全部源代码的FreeBSD系统,并且这个FreeBSD系统的内核要支持伪设备vn及具备对应 的设备文件,以便PicoBSD的设置程序能完成磁盘镜像文件的创建工作。PicoBSD 的源代码位于系统的/usr/src/release/picobsd目录下,这个目录中包含编译、配置PicoBSD 的说明,以及不同PicoBSD版本的配置。定制PicoBSD系统要使用的该目录的子目录build中的build脚本,为了制作一个PicoBSD的磁盘镜像,就需要在这个目录下启动build命令:
# cd /usr/src/release/picobsd
# cd build
# ./build
build 命令使用菜单将让使用者选择不同的PicoBSD的基本版本,如dial、isp、net和router ,根据不同的目的进行选择,此后选择n(no change)就能继续进行制作镜像文件的处理。当这个执行过程结束之后,build子目录下就产生了一个1.44MB的磁盘镜像文件 picobsd.bin。此后可以在FreeBSD 下,或者在DOS下将镜像文件写入软盘,则一个单软盘的PicoBSD系统就制作完毕了。

build进程将使用/mnt来装载vn0设备,因此必须保证/mnt没有装载其他文件系统,而且vn0设备没有被占用。否则就会遇到错误。

然而这样制作的PicoBSD使用的还是缺省的设置,如果要定制PicoBSD系统,就需要更改缺省设置。首先应该根据具体的需要,选择功能相近版本的PicoBSD,再进一步更改硬件设置。

每一个PicoBSD版本的设置都位于具有相同名字的子目录下,例如net版本PicoBSD的目录为 /usr/src/release/picobsd/net/ ,在这个目录之下的conf子目录为PicoBSD内核的定制目录,而crunch1目录中为最后复制到 PicoBSD系统中的应用程序的名字列表。

当需要针对运行防火墙的计算机更改硬件设置时,需要更改conf子目录中的内核设置文件PICOBSD,这个文件就是PicoBSD的内 核设置文件,可以删除或增加设置选项,改变对不同硬件设置的支持。如果要更改复制到软盘镜象中的执行程序的数量,就需要更改同样位于该版本目录下的 crunch1子目录中的文件。只是注意软盘空间有限,因此只能装载有限的程序。

更改完这些设置之后,就可以转回build子目录重新定制 PicoBSD,这样产生的镜象文件就为与硬件设置相符合的设置。将镜象文件写 入软盘之后,就可以使用这个软盘启动防火墙系统,然后再使用命令行进行手工设置。需要注意的是,此时更改的只是写在内存文件系统MFS中的文件,而不是在 软盘中文件,因此一旦系统重新启动,配置就不会保留下来。必须使用update命令将更改后的文件写回磁盘中之后,设置才能保留回磁盘中。

该文章最后由 阿炯 于 2011-02-23 01:50:04 更新,目前是第 5 版。