免费而强大的策略防火墙: APF
昨天发布的【 DDoS Deflate 的安装和使用】一文里面提到了 DDoS Deflate {注1}强烈建议使用 APF 策略防火墙 来配合 DDoS Deflate 使用以达到最好的防御 DDos 攻击,下面笔者就简单的给大家介绍一下这个免费而强大的策略防火墙—— APF 。

如果您不是精通linux的高手,如果您对 iptables{注2} 不熟悉,这里有一款免费而强大的linux防火墙:APF
为Linux加防火墙:APF的安装与设置
service apf start打开service apf stop关闭
什么是APF?
APF: Advanced Policy Firewall,是 Rf-x Networks 出品的Linux环境下的软件防火墙。APF采用Linux系统默认的 iptables 规则。APF可以算是Linux中最出名的软件防火墙之一。
下载最新版的APF:
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz
解压:
tar -zxvf apf-current.tar.gz
进入APF目录:
cd apf-版本
安装
./install.sh
安装完以后,开始配置APF
vi /etc/apf/conf.apf
查找 USE_DS=”0″ ,将之更改为 USE_DS=”1″ ;查找 USE_AD=”0″ ,将之更改为 USE_AD=”1″ 。
然后开始配置最主要的部分:端口
以下提供 cPanel, Ensim 和 Plesk以及DirectAdmin 的推荐配置。
cPanel
IG_TCP_CPORTS=”20,21,22,25,26,53,80,110,143,443,465,993,995,2082,2083,2086,2087,2095,2096,2222″
IG_UDP_CPORTS=”21,53,873″EGF=”1″
EG_TCP_CPORTS=”21,22,25,26,27,37,43,53,80,110,113,443,465,873,2089″
EG_UDP_CPORTS=”20,21,37,53,873″
Ensim
IG_TCP_CPORTS=”21,22,25,53,80,110,143,443,19638″
IG_UDP_CPORTS=”53″EGF=”1″
EG_TCP_CPORTS=”21,22,25,53,80,110,443″
EG_UDP_CPORTS=”20,21,53″
Plesk
IG_TCP_CPORTS=”20,21,22,25,53,80,110,143,443,465,993,995,8443″
IG_UDP_CPORTS=”37,53,873″EGF=”1″
EG_TCP_CPORTS=”20,21,22,25,53,37,43,80,113,443,465,873″
EG_UDP_CPORTS=”53,873″
下面列出常规的端口,方便大家进行配置:
- 21/tcp ftp
- 22/tcp ssh
- 25/tcp smtp
- 26/tcp 备用smtp端口
- 80/tcp http
- 110/tcp pop3
- 143/tcp imap
- 443/tcp https
- 993/tcp imaps
- 995/tcp pop3s
- 3306/tcp mysql
- 5432/tcp postgres
- 53/udp dns
配置完成后保存退出,并启动APF防火墙:
/usr/local/sbin/apf -s
请注意,此时防火墙是运行在调试模式,每五分钟重洗配置。这样能避免因为错误的配置而使服务器瘫痪。
确保配置无误后,再次进入配置文件(nano /etc/apf/conf.apf),将 DEVM=”1″ 更改为 DEVM=”0″ 。这样APF就会运行在常规模式下。
重启APF(/usr/local/sbin/apf -s)。
注意事项:如果你的Linux内核将iptables直接编译而非模块模式的话,请将配置文件中的 MONOKERN=”0″ 更改为 MONOKERN=”1″ 。
可选配置
APF有个新的功能便是防止DoS攻击(/etc/apf/ad)。其日志文件保存在/var/log/apfados_log。
下面我们将配置APF使其遇到DDoS后发送电子邮件给管理员
打开配置文件:
vi /etc/apf/ad/conf.antidos
查找 [E-Mail Alerts] 。
CONAME=”Your Company”为你的网站或公司名称。
将 USR_ALERT=”0″ 更改为 USR_ALERT=”0″ ,从而使系统发送电子邮件。
USR=”your@email.com”为你的电子邮件地址。
保存并退出,重启APF(/usr/local/sbin/apf -r)。
另外,如果需要让系统每次重新启动后自动运行APF,则执行以下命令:
chkconfig –level 2345 apf on
需要去除自动启动的话:
chkconfig –del apf
希望大家都能顺利的为自己的Linux架设起一道有效的安全屏障。