敬业的IT人 >> 操作系统 >> FreeBSD >> FreeBSD构建防火墙

FreeBSD构建防火墙

敬业的IT人 互联网 佚名 2008-1-3 10:42:35

  防火墙的主要目标是控制内部网络和外部Internet之间的连接,有限制的允许内部网络中的计算机访问Internet 上的服务,但限制外部网络访问内部计算机。为了实现这个目的,至少需要一个具有两个(或更多)网络界面的计算机,它的一个网络界面连接外部网络,另一个网络界面连接内部网络。然而如何实现限制网络访问的方法却有所不同,主要就可以分为基于IP数据包过滤的防火墙和基于代理的防火墙。ipfw/natd和ipfilter都是基于包过滤和网络地址转换的软件工具,而代理服务器通常通过代理服务器软件来实现。

  FreeBSD下用于防火墙的最重要的代理软件是fwtk,它提供了多种代理服务器和统一的认证方式。FreeBSD 上也能运行其他的代理服务器,然而那些代理服务器主要用于代理单个协议,不能单独用于构建全面功能的防火墙系统,而fwtk则提供了多种代理服务器,为构建一个完整的防火墙系统提供了基础。然而fwtk不是一个设置完好的防火墙系统,而只是一组构建防火墙的组件。因此要使用fwtk来设定防火墙,仍然是一个复杂的任务。虽然在FreeBSD 下可以使用Ports Collectiborder="0" alt="FreeBSD构建防火墙(图一)" width="409" height="215" />

  最简单的情况为使用具备两个网络界面的一个防火墙来分隔内部与外部网络。这种形式简单易行,适合大部分只需要访问Internet,而不需要对外发布信息的网络。一旦要向外发布信息,那么所提供的服务就会降低网络的安全性,造成相应的安全问题。

  • 如何重装xp系统图解
  • 下载Flash播放插件
  • 巧妙清除Windows 2000/XP登录密码
  • 如何利用路由器设置局域网
  • QQ空间打不开
  • 开机后鼠标不动怎么办
  • Excel密码保护的解除方法与解除原理
  • Windows XP注册表详解
  • 3dmax不锈钢金属材质的制作方法
  • 硬盘变成raw格式怎么办

  为了避免在向外提供服务的服务器被侵入之后,影响内部网络的安全性,就需要将对外提供服务的服务器和只访问外部网络的客户计算机分隔到不同的网络上。可以采用上面的方式,防火墙使用三个网络界面,分别用于外部网络、内部网络和提供服务的服务器。

FreeBSD构建防火墙(图三)

  使用单个防火墙的网络,网络安全被一台防火墙的安全所限制,更复杂的情况是同时使用多个防火墙系统。例如使用两个防火墙,第一层防火墙与第二层防火墙之间可以放置允许外部访问的服务器,这个区域被称为停火区,即使入侵者进入这个区域,还需要近一步攻击内部防火墙才能接触内部网络。

  如果这两个防火墙使用不同的技术,如外部防火墙为网络地址转换方式,而内部防火墙为代理服务器方式,这样即使入侵者侵入一个防火墙,但另一个防火墙使用的是完全不同的技术,就给入侵者带来更大的阻碍,提高整个网络的安全性。

  利用这些工具,网络可以设置的非常安全。事实上当前大部分安全问题仍然来源于人的因素,如管理不善造成的口令泄露等。这就使得正常的安全措施无法正常应用,而带来不可避免的安全问题。

  • PicoBSD

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

进入讨论组讨论。

  通常安装的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命令将更改后的文件写回磁盘中之后,设置才能保留回磁盘中。

Web: 进入讨论组讨论。
粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com