V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jmyz0455
V2EX  ›  Linux

如何检验 fail2ban ssh 真正生效了?

  •  
  •   jmyz0455 · 2020-04-05 12:12:20 +08:00 · 3027 次点击
    这是一个创建于 1475 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器系统是 Ubuntu 19.10 ,用 ufw 只放行 443 和 5230 端口,禁止 root 登录和密码登录,只允许密钥登录,修改 ssh 的端口为 5230,并安装了 fail2ban 。然后把复制出来的 /etc/fail2ban/jail.local 里面内容全部删除了,写入如下配置:

    [sshd]
    enabled = true
    port    = 5230
    logpath = %(sshd_log)s
    backend = %(sshd_backend)s
    

    接着 fail2ban 启动后,输入以下命令得出:

    $ systemctl --no-pager status fail2ban
    ● fail2ban.service - Fail2Ban Service
       Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
       Active: active (running) since Sun 2020-04-05 10:09:52 CST; 1h 45min ago
         Docs: man:fail2ban(1)
      Process: 31898 ExecStartPre=/bin/mkdir -p /var/run/fail2ban (code=exited, status=0/SUCCESS)
     Main PID: 31908 (fail2ban-server)
        Tasks: 9 (limit: 1078)
       Memory: 12.1M
       CGroup: /system.slice/fail2ban.service
               └─31908 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
    
    Apr 05 10:09:52 vps systemd[1]: Starting Fail2Ban Service...
    Apr 05 10:09:52 vps systemd[1]: Started Fail2Ban Service.
    Apr 05 10:09:52 vps fail2ban-server[31908]: Server ready
    
    $ fail2ban-client status
    Status
    |- Number of jail:  1
    `- Jail list:   sshd
    
    $ fail2ban-client ping
    Server replied: pong
    

    这只能证明 fail2ban 正在运行,输入 iptables -L | grep '*f2b*' 没有任何结果,看网上的文章里是会有带 f2b 的输出,这是否意味着 fail2ban 只是启动但是没有真正生效呢。接下来清空并滚动输出 /var/log/fail2ban.log ,发现在另一个终端用 ssh 口令登录时,没带密钥和带错密钥导致登录失败,都不会记录在 fail2ban.log 上。

    请问如何验证这段 fail2ban ssh 规则真正生效了?

    3 条回复    2020-04-07 10:45:02 +08:00
    formaxin
        1
    formaxin  
       2020-04-05 12:38:05 +08:00 via Android
    fail2ban-client status sshd
    就能看到几百个被封的 ip 了
    saytesnake
        2
    saytesnake  
       2020-04-06 02:53:04 +08:00 via Android
    fail2ban-client status xxx

    完全默认的情况下,会优先使用 ufw,虽然实际上本体也是 iptables,另外封掉的信息会累积在用户目录 ~ 的 dead_latter 里面可以查看。
    ps1aniuge
        3
    ps1aniuge  
       2020-04-07 10:45:02 +08:00   ❤️ 1
    分享 Linux 中执行的 powershell 脚本:ssh-deny-host
    这是 powershell 版的 ssh deny host,
    支持 centos7,centos8,debian9,debian10,Ubuntu1604,Ubuntu1804

    用任务计划 每分钟执行即可。
    * * * * * /usr/bin/pwsh -file /tmp/sshdenyhost.ps1

    我的所有 powershell 脚本,下载地址:
    https://pan.baidu.com/s/16deKKe3ZnCg809lffiVZWg
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2734 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 14:52 · PVG 22:52 · LAX 07:52 · JFK 10:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.