我们专注服务于当下互联网基础设施建设与云计算、大数据时代的各种需求!

APF防火墙介绍安装及简单实用

APF防火墙的安装配置

一、APF防火墙介绍

APF是一款Linux下的iptables防火墙,由R-fx Networks开发维护,实现代码基本为SHELL。个人觉得这是Linux下最易用,且强大的防火墙脚本。类似级别的还有Bastille,FireHol,Kill my firewall等。但我还是喜欢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

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 -e停止防火墙的所有策略

 

 

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

 

APF可用于调整非常复杂的安全策略,这里只介绍APF入门应用。有兴趣的朋友可以详细阅读/etc/apf/doc/README.apf或与笔者探讨。