一、APF防火墙介绍
APF是一款Linux下的iptables防火墙,由R-fx Networks开发维护,实现代码基本为SHELL。个人觉得这是Linux下最易用,且强大的防火墙脚本。类似级别的还有Bastille,FireHol,Kill my firewall等。但我还是喜欢APF。
二、APF快速安装
代码如下 | 复制代码 |
cd /tmp wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz tar -xvzf apf-current.tar.gz cd apf-9.7-1 ./install.sh cd .. rm -rf apf-9.7-1 |
三、APF的配置文件设置 — /etc/apf/conf.apf
代码如下 | 复制代码 |
# 设置服务器允许被访问的TCP端口 – 以cPanel服务器为例 IG_TCP_CPORTS=”20,21,22,25,26,80,110,143,443,465,993,995,2077,2078,2082,2083,2086,2087,2095,2096,3306,6666″ # 设置服务器允许被访问的UDP端口 IG_UDP_CPORTS=”53″ # 设置服务器允许对外访问的TCP端口 EG_TCP_CPORTS=”21,25,80,443,43,2089″ # 设置服务器允许对外访问的UDP端口 EG_UDP_CPORTS=”20,21,53″ # 开启Dshield,屏蔽互联网上有恶意行为的IP # IP列表:feeds.dshield.org/top10-2.txt DLIST_DSHIELD=”1″ |
四、APF命令的常用操作
代码如下 | 复制代码 |
apf -s # 启动APF防火墙 apf -r # 重启APF防火墙 apf -f # 刷新APF防火墙配置文件 apf -l # 列出APF的配置信息,与iptables -nL类似 apf -st # APF信息统计。主要包括白名单,黑名单信息。 apf -a IP地址/IP段(FQDN) “注释” # 将IP/IP段添加到白名单 apf -d IP地址/IP段(FQDN) “注释” # 将IP/IP段添加到黑名单 apf -u # 将IP/IP段从白/黑名单中删除 |
五、APF如何自定义Iptables命令
/etc/apf下有2个配置文件postroute.rules和preroute.rules。把Iptables的POSTROUTE和PREROUTE命令放入对应的配置文件,APF在启动时就会自动调用实现NAT转发。
其他Iptables自定义命令可以直接写入/etc/apf/firewall里面。
六、APF的访问列表应用
APF的ACL配置文件为/etc/apf/allow_hosts.rules,/etc/apf/deny_hosts.rules
例:只允许来自192.168.0.2的IP访问服务器的SSH端口,屏蔽其他来访。
代码如下 | 复制代码 |
# 在/etc/apf/allow_hosts.rules添加如下信息: tcp:in:d=22:s=192.168.0.2 out:d=22:d=192.168.0.2 # 在/etc/apf/deny_hosts.rules添加如下信息: tcp:in:d=22:s=0/0 out:d=22:d=0/0 |
下面列出常规的端口,方便大家进行配置:
代码如下 | 复制代码 |
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
时间: 2024-09-19 14:25:41