fail2ban阻止SSH暴力破解

Linux1021阅读模式

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

fail2ban阻止SSH暴力破解-图片1

安装配置Fail2ban

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

  1. wget mirrors.linuxeye.com/oneinstack.tar.gz
  2. pushd oneinstack
  3. ./addons.sh  #选择8,安装fail2ban

Fail2ban配置文件说明

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

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

fail2ban阻止SSH暴力破解-图片2

fail2ban测试

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

fail2ban状态

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

显示出被禁止IP地址列表

fail2ban阻止SSH暴力破解-图片3

fail2ban解锁IP

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

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

Fri Mar  3 15:49:43 CST 2017

 
  • 本文由 yeho 发表于 2017-03-03
  • 转载请务必保留本文链接:https://linuxeye.com/455.html
  • fail2ban
  • 阻止SSH暴力破解
Linux

Nginx反向代理永久性缓存

Nginx缓存简介 Nginx缓存方式有两种: 永久性的缓存:这种缓存若不手动删除,该缓存文件会一直生效,因此,永久缓存只是用于缓存网站中几乎不会更改的内容; 临时缓存:这种缓存是根据请求连接进行哈希...
Linux

Consul集群配置

consul原理 上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Se...
    • 简简单单
      简简单单

      看到更新支持Fail2ban,还以为重点是做系统监测,原来还有这个大作用,看来该升级升级阿里云的镜像去了。
      另外这个评论功能的QQ自动输入功能不错,赞一个。

      • 禅猫
        禅猫

        这是要再下载一遍安装包?不能wget到scr里嘛?
        沙发233

        • 大大的小蜗牛
          大大的小蜗牛

          我今天把自己ban了2次

          • 凉拌三丝/ty
            凉拌三丝/ty

            马上装了一个试试

            • CN_Lin
              CN_Lin

              cat /var/log/fail2ban.log发现有错误发生,
              具体为:iptables -w -I INPUT -p tcp –dport 22 -j f2b-SSH — stdout: ”,因此开始翻阅资料,
              发现是因为iptables 1.4.0版以后去掉的-w参数,所以需要编辑/etc/fail2ban/action.d/iptables-common.conf
              lockingopt = -w 修改为 #lockingopt = -w
              iptables = iptables 修改为 iptables = iptables
              查找了半天,终于找到了这个解决办法。
              :grin:

              • 请输入您的QQ号
                请输入您的QQ号

                那 pureftp 怎么保护呢

                • Echo
                  Echo

                  已经尝试了禁封手机ip和解禁,好强大。感谢!

                匿名

                发表评论

                匿名网友
                确定

                拖动滑块以完成验证