fail2ban阻止SSH暴力破解

2018-02-26 09:24:49 4093

fail2ban简介

fail2ban是由Python语言开发监控软件,通过监控系统日志的登录信息来调用iptables屏蔽相应登录IP,以阻止某个IP(fail2ban读对应日志文件,Debian/Ubuntu:/var/log/auth.log、CentOS/Redhat:/var/log/secure)不停尝试密码。fail2ban在防御对SSH服务器的暴力密码破解上非常有用。

fail2ban安装配置

使用《OneinStack》,内置fail2ban,一键安装并设置好即可:

  1. wget mirrors.linuxeye.com/oneinstack.tar.gzpushd oneinstack./addons.sh  #选择8安装fail2ba

1.png1.png

fail2ban配置文件说明

  1. [root@OneinStack ~]# cat /etc/fail2ban/jail.local
    [DEFAULT]
    ignoreip = 127.0.0.1/8       #指定哪些地址可以忽略 fail2ban 防御
    bantime  = 86400             #客户端主机被禁止的时长(秒)
    findtime = 600               #查找失败次数的时长(秒)
    maxretry = 5                 #客户端主机被禁止前允许失败的次数
    [ssh-iptables]
    enabled = true
    filter  = sshd
    action  = iptables[name=SSH, port=22, protocol=tcp]
    logpath = /var/log/secure

fail2ban会自动禁止在最近10分钟内有超过5次访问尝试失败的任意IP地址。这个IP地址将会在24小时内一直被禁止访问SSH服务。安装设置启用后,Fail2ban会在iptables添加相关规则,如下:

2.png


fail2ban测试

ssh 你的服务器IP,输错密码5次以上,查看日志/var/log/fail2ban.log [ssh-iptables] Ban 91.195.103.166即被禁用

3.png


fail2ban状态

  1. /usr/local/python/bin/fail2ban-client status ssh-iptable

显示出被禁止IP地址列表

4.png

fail2ban解锁IP

为了解锁特定的IP地址命令:

  1. /usr/local/python/bin/fail2ban-client set ssh-iptables unbanip 91.195.103.166


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

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

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

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