CentOS SSH 防护配置

fail2ban 是一个 Python 写的安全工具,能够监控日志文件并在检测到可疑行为时(如连续 SSH 登录失败)自动封禁 IP。

  1. 安装 fail2ban

    sudo yum install epel-release -y
    sudo yum install fail2ban -y
    
  2. 配置 SSH 防护规则

    创建配置文件(不要直接修改 jail.conf):

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    

    然后编辑:

    sudo vi /etc/fail2ban/jail.local
    

    找到 [sshd] 相关配置部分,确保以下内容存在并启用:

    [sshd]
    enabled = true
    port = ssh
    logpath = %(sshd_log)s
    maxretry = 5
    findtime = 600
    bantime = 3600
    

    含义如下:

    • maxretry=5:5 次密码错误
    • findtime=600:在 600 秒(10 分钟)内出现以上错误
    • bantime=3600:封禁时间 1 小时(单位为秒)
  3. 启动并设置开机启动

    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    
  4. 查看当前被封的 IP(可选)

    sudo fail2ban-client status sshd