本文遵循“署名非商业性使用相同方式共享 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
通过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
我这里暂时还没有被阻止的地址