CentOS 安装配置 Fail2Ban

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

(以上来自百度百科 Fail2ban)


安装

可到官网 http://www.fail2ban.org/wiki/index.php/Downloads 下载最新包

wget https://github.com/fail2ban/fail2ban/archive/0.9.3.tar.gz
tar -xzvf fail2ban-0.9.3.tar.gz
cd fail2ban-0.9.3
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 = 3

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-iptables

移除禁止的ip

iptables -L 列出数据

iptables -D
iptables -D fail2ban-SSH 1 移除ip






你可能感兴趣的:(linux)