版权声明: 
本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议 
您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品 
您可以根据本作品演义自己的作品 
您必须按照作者或者许可人指定的方式对作品进行署名。 
您不得将本作品用于商业目的。 
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许 
可协议发布基于本作品的演绎作品。 
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。 
如果得到著作权人的许可,您可以不受任何这些条件的限制。

                                                                                                         asram 

      iptables很多时候大家会觉得不好使用,希望能有个容易操作的工具来配置策略。感谢Rf-x Networks,他们提供了2款基于shell的工具:APF(Advanced Policy Firewall)高级策略防火墙和BFD(Brute Force Detection)暴力穷举侦测。2款工具都是小巧,可以在通过下面方法下载:

wget http://www.rfxn.com/downloads/apf-current.tar.gz

wget http://www.rfxn.com/downloads/bfd-current.tar.gz

他们的依赖关系是这样的,iptables必须安装,APF依赖于iptables,BFD依赖于APF。

一、APF 1.安装

#tar –zxvf apf-current.tar.gz

#cd apf-9.7-1/

#./install.sh

2.配置

编辑/etc/apf/conf.apf,这里0=disabled,1=enabled

首先我们修改一下默认的部分参数

/*禁用调试模式,不过这个是在你确定配置正确之后才修改的。在调试模式下APF会每5分钟重新刷新配置,避免错误配置造成服务器无法提供服务。*/

DEVEL_MODE="1" > DEVEL_MODE="0"

/*开启阻止地址响应,他允许防火墙跟踪并阻止一些和重要策略冲突的地址*/
RAB="0" >RAB="1"

/*选择RAB的端口扫描等级,0是禁止,1是低安全,2是中等安全,3是高等安全*/
RAB_PSCAN_LEVEL="2" > RAB_PSCAN_LEVEL="3"

/*禁止traceroute请求在定义的范围内*/
TCR_PASS="1" > TCR_PASS="0"

/*启用阻止列表,这里的列表来自网络上rfxn.com、www.spamhaus.org和feeds.dshield.org,主要包含了如垃圾邮件的黑名单,DShield公司手机的恶意活动名单*/
DLIST_PHP="0" > DLIST_PHP="1"
DLIST_SPAMHAUS="0" >DLIST_SPAMHAUS="1"
DLIST_DSHIELD="0" > DLIST_DSHIELD="1"
DLIST_RESERVED="0" > DLIST_RESERVED="1"

接下来就是针对我们的服务进行配置了

/*指定数据包进出的网卡*/

IFACE_IN="eth0"
IFACE_OUT="eth0"

/*指定相信的网段一般是DMZ和×××等*/

IFACE_TRUSTED=""

/*允许被访问的TCP和UDP的端口*/

IG_TCP_CPORTS="”

IG_UDP_CPORTS="”

/*允许出口数据包过滤,允许对外访问的端口*/

EGF="1"

EG_TCP_CPORTS="”

EG_UDP_CPORTS="”

/*对于进出的ICMP协议过滤*/

IG_ICMP_TYPES=""

EG_ICMP_TYPES=""

3.命令和开启启动服务

 

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 –s

允许开机运行服务

#chkconfig –level 35 apf on

APF日志产生在/var/log/apf_log

4.主机访问规则

在/etc/apf/有2个文件:allow_hosts.rules和deny_hists.rules,这2分文件用来配置允许或禁止远程主机访问本地某服务的。

# 在/etc/apf/allow_hosts.rules添加如下信息:

tcp:in:d=22:s=远程主机地址、网段、域名

out:d=22:d=远程主机地址、网段、域名

# 在/etc/apf/deny_hosts.rules添加如下信息:

tcp:in:d=22:s=远程主机地址、网段、域名

out:d=22:d=远程主机地址、网段、域名

具体例子可以看上述2个文档。

5.查看产生的策略

可以通过iptables –L -nv,也可以通过apf命令来查看

#apf –l 

iptables组件--APF和BFD_BFD

通过ctrl+v和ctrl+y来进行上下页面翻转。

二、BFD 1.安装

#tar –zxvf bfd-current.tar.gz

#cd bfd-1.4/

#./install.sh

2.配置

编辑/usr/local/bfd/conf.bfd

/*设置事件失败次数,达到此数值后禁止引发此事件的IP地址*/

TRIG="5"

/*允许发送告警邮件,设置邮件地址,设置邮件主题*/

EMAIL_ALERTS="1"

EMAIL_ADDRESS=”root@126.com”

EMAIL_SUBJECT="Brute Force Warning for $HOSTNAME"

也可以设置信任列表

编辑/usr/local/bfd/igonre.hosts

每行一个IP

3.启动服务

#bfd –s

在BFD安装后他已经将一个cron任务添加到/etc/cron.d/bfd下,每3分钟执行一次。

BFD日志产生在/var/log/bfd_log。

4.查看被阻止的地址

#bfd –a 

iptables组件--APF和BFD_休闲_02

我这里暂时还没有被阻止的地址