通常,我们需要在Linux环境下手写iptables/ipchains规则,并设置为每次启动时运行。由于技术水平等因素制约,规则的内容并不全面,效率也不够高。
现在有了Easy Firewall Generator,事情就变得简单多了。它是一个用PHP语言编写的程序,用户向其提交一些参数,就可以获得一套防火墙规则,拷贝下来就可以使用了。
我们可以从EFG提供的方案中学到很多东西,例如:每条链最末一条规则的action都是RETURN,这样当数据包不符合先前规则时,就可以提前退出,而不再试图匹配后面的规则,提高了整体性能。
关于Easy Firewall Generator使用的几点技巧:我们配置防火墙,通常是先关掉所有端口,再开放一系列端口,但在EFG的参数设置里,只能输入一个端口,怎么办呢?我们可以这样做:选中“Allow Inbound Services”并提交,然后输入一个端口,例如110,再提交,在获取的规则中查找110字符串,按照所在行的规则续写就可以了。另外,如果想使用我们稍后提到的fireparse工具,还需要将“Log entries in a Fireparse format”选中。
接下来我们开始使用fireparse。fireparse是一个用perl语言编写的日志解析程序,更确切的讲,它是ADMLogger的一个重要的插件;它还会将分析结果寄至管理员的邮箱,便于快速反应和维护。
fireparse的安装方法如下:
首先到aaron.marasco.com下载ADMLogger(已经内含parser插件)。
然后仔细阅读doc/README.ADMLogger。尤其是搞懂第三步:mailfirst一定要加上;如果parse日志已经设置为按日期保存(强烈推荐),则不必拷贝那个轮转文件了。最后执行一下 /var/adm/logger/logger.pl,在确认无误后,即可放入cron文件自动运行。