今天才知道apf防火墙是linux中的iptables防火墙了,下面我就来给各位同学介绍一下linux系统APF防火墙的安装配置方法,希望例子对各位同学会有所帮助.
一、APF防火墙介绍
APF是一款Linux下的iptables防火墙,由R-fx Networks开发维护,实现代码基本为SHELL,个人觉得这是Linux下最易用,且强大的防火墙脚本,类似级别的还有Bastille,FireHol,Kill my firewall等,但我还是喜欢APF.
二、APF快速安装,代码如下:
- cd/tmp
- wgethttp://www.rfxnetworks.com/downloads/apf-current.tar.gz
- tar-xvzfapf-current.tar.gz
- cdapf-9.7-1
- ./install.sh
- cd..
- rm-rfapf-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-aIP地址/IP段(FQDN)“注释”#将IP/IP段添加到白名单
- apf-dIP地址/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--phpfensi.com
- out:d=22:d=0/0
下面列出常规的端口,方便大家进行配置:
- 21/tcpftp
- 22/tcpssh
- 25/tcpsmtp
- 26/tcp备用smtp端口
- 80/tcphttp
- 110/tcppop3
- 143/tcpimap
- 443/tcphttps
- 993/tcpimaps
- 995/tcppop3s
- 3306/tcpmysql
- 5432/tcppostgres
- 53/udpdns
配置完成后保存退出,并启动APF防火墙:/usr/local/sbin/apf -s.