云服务器SSH防暴力破解终极配置指南
在当今数字化时代,云服务器安全是每个运维人员必须重视的问题。SSH作为远程管理服务器的标准协议,常常成为黑客暴力破解的目标。本文将详细介绍7种有效的SSH防护策略,帮助您构建坚不可摧的服务器防线。
一、修改默认SSH端口
攻击者通常会扫描22端口寻找攻击目标,修改默认端口是最简单有效的防护措施:
- 编辑SSH配置文件:
sudo vim /etc/ssh/sshd_config - 找到
#Port 22,取消注释并修改为其他端口(如23456) - 保存后重启SSH服务:
sudo systemctl restart sshd - 确保防火墙开放新端口
建议选择1024-65535之间的高位端口,避免与常见服务冲突。
二、禁用root直接登录
禁止root账户直接SSH登录可以大幅提升安全性:
# /etc/ssh/sshd_config
PermitRootLogin no
UsePAM yes
配置完成后,建议:
- 创建具有sudo权限的普通用户
- 使用
su -或sudo -i切换root
三、配置Fail2Ban自动封禁
Fail2Ban可自动检测并封禁恶意IP:
- 安装:
sudo apt install fail2ban(Ubuntu) - 创建本地配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local - 修改[sshd]部分配置:
[sshd]
enabled = true
port = 23456 # 修改为您设置的SSH端口
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
重启服务生效:sudo systemctl restart fail2ban
四、启用密钥认证
相比密码认证,SSH密钥更安全:
生成密钥对
ssh-keygen -t rsa -b 4096
# 将公钥上传到服务器
ssh-copy-id -p 23456 user@server_ip
配置SSH
# /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
五、配置防火墙策略
使用UFW或iptables限制访问:
UFW示例
sudo ufw allow 23456/tcp
sudo ufw enable
sudo ufw status verbose
进阶防护
仅允许特定IP访问SSH:
sudo ufw allow from 192.168.1.100 to any port 23456
六、其他增强措施
| 措施 | 配置方法 | 安全效果 |
|---|---|---|
| 限制用户登录 | AllowUsers user1 user2 |
★★★★☆ |
| 设置登录时间窗口 | AllowGroups ssh-users |
★★★☆☆ |
| 启用2FA认证 | 使用Google Authenticator | ★★★★★ |
| 日志监控 | 配置logwatch或Splunk | ★★★★☆ |
七、定期安全检查
建议每月执行以下检查:
- 查看失败登录记录:
sudo grep "Failed password" /var/log/auth.log - 检查当前登录用户:
w或who - 更新系统和安全补丁:
sudo apt update && sudo apt upgrade
通过以上多层防护措施,您的云服务器SSH安全性将得到极大提升,有效抵御99%的暴力破解攻击。
