|
利用FreeBSD组建安全的网关(1) FreeBSD在网络服务器的领域里占有一席之地,不管是在高端应用,还是小型企业里,使用FreeBSD做服务器都是不错的选择,但是如何才能建立一个安全的网络呢?
首先我们来做一个这样的假设,某公司有两台服务器,需要建立一个以FreeBSD为平台的网关,并且还能提供电子邮件、DNS、WEB等服务,看起来好象这是一个很简单的事情,然而要建立一个安全性高的却不简单,在此我将为大家介绍如何去做,首先我凭着自己对FreeBSD的熟练程度,做了以下设计:
Internet
________
Gateway
---------
__________________________
_______ ________
LAN WWW
---------- ----------
以上是我为该公司设计的网络结构图,首先我们来分析一下这个图,由于Gateway是一个与Internet直接连接的服务器,糟受的攻击自然也是最多的,所以也是最危险了。而且由于该服务器担任着公司的网关,该服务器只要一出问题,也将影响到全公司。为了稳定性、安全性,我考虑该服务器要跑的服务越少越好。服务越少,那么漏洞出现的可能性也越少。而WWW服务器由于放在了Gateway里面,受Gateway的保护,所以一般来说遭受的攻击比较少,所以一般可以满足足够多的服务,但是这些服务怎么样才能让Internet上的人访问呢?这就会在下面我们详细介绍了。
首先我们来安装Gateway,Gateway要使用的Internet的IP为x.x.x.x网卡为xl0,内部IP为192.168.0.1网卡为xl1,由于Gateway起到网关的作用,所以为了安全性,在该服务器上做安全是非常重要的,FreeBSD有自带了一个ipfirewall防火墙,既然有,我们当然要利用上了,首先编译内核:
cd /sys/i386/conf
cp GENERIC ./kernel_IPFW
用编辑器打开kernel_IPFW这个文本文件,在该文件里加入以下内容:
options IPFIREWALL //通知操作系统的内核检查每个IP数据包,将它们与规则集进行比较
options IPDIVERT //启用由ipfw divert使用的转向IP套接字。这一选项需要与natd联合使用。
options IPFIREWALL_VERBOSE //向系统的注册程序发送注册信息包。
options IPFIREWALL_VERBOSE_LIMIT=100 //限制一台机器注册的次数。
options IPSTEALTH //启动支持秘密转发的代码,这一选项在使防火墙不被traceroute和类似工具发现时很有用。
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP //接受过滤器中的静态连接
|