CentOS7如何使用fail2ban防范SSH暴力破解攻击

IDC服务

CentOS7如何使用fail2ban防范SSH暴力破解攻击

2024-11-01 01:15


在CentOS 7上使用Fail2ban防范SSH暴力破解攻击的详细步骤如下: ? 步骤一:安装Fail2ban 首先,以管理员权限登录CentOS 7的终端。

                                            




在CentOS 7上使用Fail2ban防范SSH暴力破解攻击的详细步骤如下:

? 步骤一:安装Fail2ban

首先,以管理员权限登录CentOS 7的终端。

sudo yum install epel-release -y

解释:这条命令安装EPEL(Extra Packages for Enterprise Linux)仓库,为CentOS提供额外的软件包支持。

sudo yum install fail2ban -y

解释:安装Fail2ban软件包,它可以监控日志文件并自动封禁可疑的IP地址。

? 步骤二:配置Fail2ban

复制默认配置文件,避免直接修改原始文件:

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

解释jail.local文件用于自定义配置,防止升级时覆盖设置。

编辑 jail.local文件:

sudo vi /etc/fail2ban/jail.local

在文件中找到 [sshd]部分,确保以下配置:

  • 将 enabled = false修改为 enabled = true

    [sshd]
    enabled = true
    

    重要:启用对SSH服务的监控。

  • 确认 port设置为SSH端口号(默认22):

    port = 22
    
  • 可根据需要调整最大失败尝试次数 maxretry(默认5次):

    maxretry = 5
    

    解释:超过设定的失败次数后,Fail2ban将封禁该IP地址。

保存并关闭文件(在vi编辑器中按 Esc键,输入 :wq回车)。

? 步骤三:启动并设置Fail2ban服务

启动Fail2ban服务:

sudo systemctl start fail2ban

解释:立即启动Fail2ban,使其开始监控日志。

设置开机自启:

sudo systemctl enable fail2ban

解释:确保服务器重启后,Fail2ban服务自动运行。

? 步骤四:验证Fail2ban运行状态

检查Fail2ban服务状态:

sudo systemctl status fail2ban

解释:确认服务是否active(running),表示运行正常。

查看Fail2ban监控的jail(监狱)列表:

sudo fail2ban-client status

解释:显示当前启用的监控项,例如 sshd

查看 sshd jail的详细信息:

sudo fail2ban-client status sshd

解释:可查看被封禁的IP地址和其他统计信息。

? 步骤五:测试Fail2ban配置

为了确保Fail2ban正常工作,可以尝试从另一台设备多次输入错误的SSH登录密码,观察Fail2ban是否封禁该IP。

注意:测试时谨慎操作,避免将自己的IP地址封禁。

? 常见配置调整

  • 修改封禁时间:默认封禁时间为600秒(10分钟),可在 jail.local中调整 bantime参数:

    bantime = 3600
    

    解释:将封禁时间设置为3600秒(1小时)。

  • 设置白名单IP:防止可信任的IP被封禁,添加 ignoreip参数:

    ignoreip = 127.0.0.1/8 ::1 <你的IP地址>
    

    解释ignoreip指定Fail2ban忽略的IP地址或范围。

  • 调整监控日志路径:如果SSH日志文件路径不同,可修改 logpath参数:

    logpath = /var/log/secure
    

? 额外安全建议

  • 更改SSH默认端口:修改SSH端口可以减少被扫描的可能性。

    sudo vi /etc/ssh/sshd_config
    

    在文件中修改 Port参数,例如:

    Port 2222
    

    重启SSH服务:

    sudo systemctl restart sshd
    
  • 禁用密码登录,启用密钥认证:提高SSH访问的安全性。

? 结语

通过以上步骤,您已成功在CentOS 7上配置Fail2ban来防范SSH暴力破解攻击。? 这将大大提升服务器的安全性,保护您的系统免受非法入侵。


✨ 温馨提示

  • 定期检查Fail2ban日志,了解封禁情况:

    sudo cat /var/log/fail2ban.log
    
  • 如果不慎被封禁,可手动解封IP地址:

    sudo fail2ban-client set sshd unbanip <被封禁的IP地址>
    

    解释:解封指定的IP地址,恢复其访问权限。



标签:
  • CentOS7
  • fail2ban
  • SSH