用FreeBSD+IPFW配置防火墙

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

FreeBSD操作系统本身带有二种内置的IP信息包检查机制:ipfw和ipfilter。在创建决定允许哪些信息包进入系统、哪些信息包会被拒之系统门外的规则集方面,二种机制各有自己独特的语法。而在这里我们将使用ipfw配置FreeBSD系统的防火墙。

IPFW本身是FreeBSD内置的,要使用IPFW设置防火墙需要重新编译FreeBSD内核。注意,因为在编译后IPFW默认拒绝所有网络服务,包括对系统本身都会拒绝,所以在配置过程中一定要小心谨慎。

Step 1,对IPFW的一些基本参数进行配置:

#cd /sys/i386/conf

//如果没有这个目录,说明你的系统没有安装Ports服务,要记得装上。

#cp GENERIC ./kernel_IPFW

用 vi 打开kernel_IPFW文件,在文件未尾加入以下个行:

options IPFIREWALL //将包过滤部分代码编译进内核。

options IPFIREWALL_VERBOSE

//启用通过Syslogd记录日志;如果没有指定这个选项,即使你在过滤规则中指定了记录包,也不会真的记录它们。

options IPFIREWALL_VERBOSE_LIMIT=10

//限制通过Syslogd记录的每项包规则的记录条数。如果你受到了大量的攻击,想记录防火墙的活动,但又不想由于Syslog洪水一般的记录将你淹没,那么这个选项将会很有用。当使用了这条规则,当规则链中的某一项达到限制数值时,它所对应的日志将不再记录下来。

options IPFIREWALL_DEFAULT_TO_ACCEPT

//注意,关键地方了,本句把默认的规则动作从“deny”改成“allow”了,作用是在默认状态下IPFW将会接受任何的数据。

输入完成后,保存,并退出。

Step 2,编译系统内核:

#/usr/sbin/config kernel_IPFW

#cd ../compile/kernel_IPFW

//注意,FreeBSD 4.X版本是../../compile/kernel_IPFW,而FreeBSD 5.X版本却是../compile/kernel_IPFW。

#make

#make install //开始编译内核。

Step 3,编辑/etc/rc.conf

加入如下参数:

firewall_enable=“YES“

//激活Firewall防火墙

firewall_script=“/etc/rc.firewall“

//Firewall防火墙的默认脚本

firewall_type=“/etc/ipfw.conf“

//Firewall 自定义脚本

firewall_quiet=“NO“

//启用脚本时是否显示规则信息;假如你不再修改防火墙脚本,那么可以把这里设成“YES“。

firewall_logging_enable“YES“

编辑/etc/syslog.conf 文件,在文件最后加入:

!ipfw

*.* /var/log/ipfw.log

//这行的作用是将IPFW的日志写到/var/log/ipfw.log/文件里。你可以为日志文件指定其它路径。

最后,重启服务器。

重启之后,你就可以用SSH登录你的服务器了,之后你可以在/etc/ipfw.conf中添加过滤规则来防止入侵了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航