CentOS7如何使用fail2ban防范SSH暴力破解攻击
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