Linux on IBM Cloud - Fail2ban

fail2ban

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

http://baike.baidu.com/item/Fail2ban

 

fail2ban 在防御对SSH服务器的暴力密码破解上非常有用

https://linux.cn/article-5067-1.html

 

功能和特性

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。如果想要发邮件,那必需安装postfixsendmail

 

安装设置

//下载rpmforge (里面有大量最新的rpm)

# wget URL< URL请用扩展阅读中的地址替换>

//安装rpmforge

# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

//yum安装fail2ban

# yum install fail2ban

安装完成后,fail2ban 的设定档在这里

# /etc/fail2ban

fail2ban.conf 日志设定文档

jail.conf 阻挡设定文档

/etc/fail2ban/filter.d 具体阻挡内容设定目录

默认fail2ban.conf里面就三个参数,而且都有注释。

-------------------------------

#默认日志的级别

loglevel = 3

#日志的目的

logtarget = /var/log/fail2ban.log

#socket的位置

socket = /tmp/fail2ban.sock

-------------------------------

jail.conf配置里是fail2ban所保护的具体服务的配置,这里以SSH来讲。

jail.conf里有一个[DEFAULT]段,在这个段下的参数是全局参数,可以被其它段所覆盖。

-------------------------------

#忽略IP,在这个清单里的IP不会被屏蔽

ignoreip = 127.0.0.1 172.13.14.15

#屏蔽时间

bantime = 600

#发现时间,在此期间内重试超过规定次数,会激活fail2ban

findtime = 600

#尝试次数

maxretry = 3

#日志修改检测机制

backend = auto

[ssh-iptables]

#激活

enabled = true

#filter的名字,在filter.d目录下

filter = sshd

#所采用的工作,按照名字可在action.d目录下找到

action = iptables[name=SSH, port=ssh, protocol=tcp]

mail-whois[name=SSH, dest=root]

#目的分析日志

logpath = /var/log/secure

#覆盖全局重试次数

maxretry = 5

#覆盖全局屏蔽时间

bantime = 3600

-------------------------------

jail.conf进行一定的设置后,就可以使用fail2ban了。

//启动fail2ban

# service fail2ban start

启动之后,只要符合filter所定义的正则式规则的日志项出现,就会执行相应的action

 

fail2ban示例

以下是保护sshvsftpd的配置文件代码

[vsftpd-iptables]

enabled = true

filter = vsftpd

action = iptables[name=VSFTPD, port=ftp, protocol=tcp]

sendmail-whois[name=VSFTPD, dest=you @mail. com]

logpath = /var/log/secure

maxretry = 3

[ssh-iptables]

enabled = true

filter = sshd

action = iptables[name=SSH, port=ssh, protocol=tcp]

sendmail-whois[name=SSH, dest=you @example. com, sender=fail2ban @example. com]

logpath = /var/log/secure.log

maxretry = 5

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值