使用fail2ban防止ssh恶意攻止

昨天写了一下使用iptables拒绝恶意攻击,其实除了使用iptables外,还有一个方法也是可以使用的,而且效果不错,那就是fail2ban。
安装:yum -y install fail2ban
如果提示找不到的话,先yum -y install epel-release 安装一下这个源。
安装过后,编辑配置文件:

vim /etc/fail2ban/jail.conf

找到[ssh-iptables] 这一段

[ssh-iptables]

enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp] #在iptables INPUT 链中的信息
sendmail-whois[name=SSH, dest=admin@163.com, sender=admin@163.com, sendername="Fail2Ban"]

#dest是配置受到攻击后发送警报邮件的地址,sender配置发送人邮件可以随便写,sendername配置发件人可以不改
logpath = /var/log/secure #日志存放位置
maxretry = 5 #尝试登录次数,如果ssh登录错误超过5次,禁止在bantime设置的时间内再次尝试登录了

如果登录超过5次都失败的话,在bantime设置的时间内,用户是无法登录的。默认bantime的设置是300秒,也就是5分钟,我设置的是3600秒,也就是1小时。
如果你想让某些IP不受fail2ban的控制,可以修改ignoreip 这个参数。
:wq 保存后。启动服务

service fail2ban start

设置服务开机启动

chkconfig fail2ban on

在开启服务后你的邮箱就可以收到一封fail2ban服务启动的邮件,相应的停止服务也会收到邮件
开启服务邮件 正文

Hi,
The jail SSH has been started successfully.
Regards,
Fail2Ban

停止服务邮件正文

Hi,
The jail SSH has been stopped.
Regards,
Fail2Ban

拒绝登录邮件正文

Hi,
The IP 222.186.56.101 has just been banned by Fail2Ban after
5 attempts against SSH.
Here is more information about 222.186.56.101:
missing whois program
Regards,
Fail2Ban


如果你仔细的查看配置文件就会发现,fail2ban 不只能防止ssh的恶意攻击,还有好多项目可以配置如:
pop3, nagios,mysql, asterisk, php, vsftp, apache等的登录都可以进行设置,只不过默认的只有ssh的enabled的参数是true,其他项目的都是false
由于我这台机器是跳板机,通过路由器设置对外开放的只是22端口因此默认的就够用了。

更多Linux方面的资料请访问:http://www.aminglinux.com/bbs/?fromuid=4297
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值