主动式防火墙fail2ban的安装与配置

安全 黑客攻防
这个fail2ban是很方便的一个工具,几乎不需要太多的配置。可能有的人需要通过程序端,例如php进行防火墙的操作,正如我现在所做的一样,程序会定期将IP写入一个文件中,通过过滤器直接取出ip进行封堵即可。

Linux、网络和安全服务器、网络和安全对于一个成熟的网站来说,每天没有受到几次攻击是说不过去的。

[[114269]]

之前我写过一个shell script,实现过“主动式防火墙”,即从访问特征中找到潜在的威胁,通过iptables防火墙直接deny。大致原理也很简单:

cat 日志,并通过awk从日志中分离出来源ip

通过sort + uniq -c 对IP和访问数量进行统计

获取访问量最高的几个来源,一旦达到阀值启动iptables策略进行封堵。

这样一个脚本只要定期通过cron服务调用就可以实现主动防火墙的效果。但时间一长,这个方法的弊端就体现出来,首先是不够灵活,对于时间的粒度调整和黑白名单的设置上就很麻烦;其次是这种方法仅能针对某一种服务,例如apache的80号,对于类似全端口扫描之类的联合攻击反而起不到应有的作用。

本来我打算用python写一个综合的入侵日志分析+iptables调用框架,没想到确实有先人已经早我很久实现了,这就是本文要介绍的fail2ban。

安装fail2ban

还是ubuntu,apt库中就有这个项目apt-get install fail2ban

service fail2ban start 启动这个服务。

如果确实需要源码编译,可以到该项目的主页下载源码,安装过程更接近于python扩展的安装。需要说明的是fail2ban是基于gamin服务框架的,编译时需要安装python-gamin的支持库。

配置服务

apt方式安装后,/etc/fail2ban目录下有几个配置文件 fail2ban.conf 主要是定义了服务器的日志和监听端口什么的,可以不去理会,直接打开jail.conf

[DEFAULT]为默认的配置配置参数很多,主要介绍几个常用的吧:

ignoreip = 127.0.0.1/8 白名单地址,支持网段,多个地址之间用空格隔开。此地址段的地址不会被封堵。

bantime = 600 封堵时间,单位是秒

maxretry = 3 个人觉得这个配置有点误导,其实是过滤器(后面说)过滤出来的日志中符合规则需要封堵的次数。

我们用默认的[ssh]服务来介绍针对于某一个服务的配置:

enabled = true 是否启用,没什么好说的

port = ssh 封堵端口,支持端口号和协议名两种方式,多个端口用逗号隔开

filter = sshd 过滤器名称,默认的过滤器在/etc/fail2ban/filter.d目录下,以.conf结尾,本例中针对/etc/fail2ban/filter.d/sshd.conf

logpath = /var/log/auth.log 日志路径

maxretry = 6 最大重试次数,同上

过滤器的配置其实很简单,需要懂得使用正则表达式来进行日志过滤,

failregex = reject: RCPT from (.*)[]: 554 过滤的正则表达式,可以通过多行表示多个规则。

fail2ban还有一个客户端工具叫做 fail2ban-client ,可以通过它完成整个fail2ban的配置,相对来说比较简单,这里也就不累述了。

其他

个人觉得这个fail2ban是很方便的一个工具,几乎不需要太多的配置。可能有的人需要通过程序端,例如php进行防火墙的操作,正如我现在所做的一样,程序会定期将IP写入一个文件中,通过过滤器直接取出ip进行封堵即可。

责任编辑:蓝雨泪 来源: 开源小站
相关推荐

2014-09-24 09:27:02

2015-01-06 09:03:18

2020-07-15 20:32:45

fail2banFirewallD系统运维

2012-09-06 09:53:49

2015-03-17 09:50:00

2015-12-10 11:04:31

2014-07-23 10:39:03

2021-03-03 08:00:00

CrowdSec防火墙Linux

2009-02-22 09:30:24

2018-01-31 19:00:32

2011-03-11 16:02:05

2010-09-14 14:26:50

2011-03-15 15:47:15

Iptables防火墙

2009-12-09 14:34:58

2010-09-14 15:13:15

2010-02-03 13:18:19

Linux Samba

2010-08-17 16:54:45

2011-03-25 11:18:51

2010-03-08 09:09:48

2009-12-10 16:02:11

Juniper防火墙配
点赞
收藏

51CTO技术栈公众号