SSH暴力破解防护工具安装与安全配置
在Linux系统中,安装和配置SSH暴力破解防护工具(如Fail2Ban)是提升服务器安全性的关键步骤。以下是详细的安装与配置指南:1. 安装Fail2Ban
基于Debian/Ubuntu的系统
sudo apt update
sudo apt install fail2ban -y
基于RHEL/CentOS的系统
sudo yum install epel-release# 启用EPEL仓库(如未安装)
sudo yum install fail2ban -y
启动并启用服务
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
2. 配置Fail2Ban
主配置文件
[*]全局配置:/etc/fail2ban/jail.conf(建议复制为jail.local以避免升级被覆盖)
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
关键配置项
[*]默认策略(部分):
ignoreip = 127.0.0.1/8# 忽略本地IP或信任的IP段
bantime = 1h # 封禁时长(示例:1小时)
findtime = 10m # 检测时间窗口(10分钟内多次失败则触发)
maxretry = 3 # 允许的最大失败次数
[*]SSH防护策略(部分):
enabled = true
port = ssh # 监听的SSH端口(默认22)
filter = sshd # 使用预定义的SSH过滤规则
自定义过滤规则(可选)
[*]编辑/etc/fail2ban/filter.d/sshd.conf,可调整匹配的正则表达式(如忽略特定错误消息)。
3. 应用配置并验证
sudo systemctl restart fail2ban
sudo fail2ban-client status# 查看服务状态
sudo fail2ban-client status sshd# 检查SSH防护的封禁列表
4. 强化SSH安全(辅助措施)
修改SSH默认端口
[*]编辑/etc/ssh/sshd_config:
Port 2222# 改为非标准端口(如2222)
[*]重启SSH服务:
sudo systemctl restart sshd
禁用Root登录与密码认证
[*]在/etc/ssh/sshd_config中设置:
PermitRootLogin no
PasswordAuthentication no# 仅允许密钥认证
使用防火墙限制访问
[*]UFW(Ubuntu):
sudo ufw allow 2222/tcp# 允许新SSH端口
sudo ufw enable
[*]Firewalld(CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
5. 监控与日志
[*]查看Fail2Ban日志:
sudo tail -f /var/log/fail2ban.log
[*]手动解封IP(如误封):
sudo fail2ban-client set sshd unbanip <IP地址>
6. 其他防护工具(可选)
[*]DenyHosts:类似Fail2Ban,专注于SSH防护。
[*]OSSEC:集成入侵检测系统(IDS),提供更全面的监控。
注意事项
[*]测试配置:修改配置后,先使用fail2ban-client reload测试,避免服务中断。
[*]备份配置:修改前备份原始文件(如jail.conf)。
[*]定期更新:保持Fail2Ban和系统更新,修复潜在漏洞。
通过以上步骤,可有效防御SSH暴力破解攻击,并结合多层次安全策略提升服务器整体安全性。
页:
[1]