Ubuntu 20.04香港服务器SSH暴力破解防护指南
部署Ubuntu 20.04的香港服务器常因开放SSH服务面临暴力破解风险。这类攻击通过反复尝试弱密码登录,轻则占用服务器资源,重则导致数据泄露。本文从攻击识别到防护设置,手把手教你为香港服务器构建安全防线。

识别信号:SSH暴力破解的典型特征
SSH暴力破解就像"黑客在门外试钥匙"——攻击者通过脚本批量尝试常见密码,意图撞开服务器大门。判断是否遭遇攻击,最直接的方法是查看/var/log/auth.log日志文件。如果发现凌晨2点突然出现"Failed password for invalid user"等提示,且同一IP短时间内失败登录超5次,基本可判定为暴力破解。曾有用户反馈,其香港服务器单日收到2000+次异常登录请求,CPU使用率因日志写入飙升30%,足见此类攻击的破坏性。
定位威胁:快速分析攻击来源
要精准打击攻击者,需先定位"试钥匙的手"。通过两条命令即可锁定高频攻击IP:
# 筛选所有失败的SSH登录记录
grep "Failed password" /var/log/auth.log
# 统计各IP的失败次数(降序排列)
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr
执行后会看到类似"5 192.168.1.100"的结果,数字5代表该IP尝试了5次失败登录。若某IP失败次数超10次,基本可确认为恶意攻击源。
三步防护:从工具到策略全面加固
第一步:用Fail2Ban自动封禁恶意IP
Fail2Ban就像"智能门卫",能自动识别异常登录并锁死攻击者IP。安装配置分三步:
1. 安装工具:执行`sudo apt update && sudo apt install fail2ban`完成安装;
2. 复制配置模板:`sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local`(避免直接修改默认文件);
3. 定制规则:用`sudo nano /etc/fail2ban/jail.local`打开配置文件,在[sshd]部分添加:
[sshd]
enabled = true # 启用SSH防护
port = ssh # 监听SSH端口
filter = sshd # 使用默认SSH过滤器
logpath = /var/log/auth.log # 监控的日志路径
maxretry = 3 # 允许3次失败尝试
bantime = 3600 # 封禁1小时(单位:秒)
保存后执行`sudo systemctl restart fail2ban`生效。实测中,启用后攻击IP封禁率可达90%以上。
第二步:修改SSH默认端口
默认SSH端口22是攻击者的"重点照顾对象",就像家门上贴了"这里能进"的标签。修改端口可大幅降低被扫描概率:
1. 编辑配置文件:`sudo nano /etc/ssh/sshd_config`;
2. 找到"Port 22"行,改为"Port 65432"(建议选1024-65535间的冷门端口);
3. 保存后重启服务:`sudo systemctl restart sshd`。
注意连接时需指定新端口,如`ssh user@服务器IP -p 65432`。
第三步:启用密钥认证替代密码
密码再复杂也可能被撞库,而密钥认证相当于"双保险"——用私钥(本地电脑)+公钥(服务器)完成身份验证。操作步骤:
1. 本地生成密钥对:执行`ssh-keygen -t rsa`(连续回车使用默认路径);
2. 上传公钥到服务器:`ssh-copy-id -i ~/.ssh/id_rsa.pub user@服务器IP -p 65432`(输入服务器密码完成授权);
3. 禁用密码登录:编辑sshd_config文件,将`PasswordAuthentication yes`改为`no`,保存后重启sshd服务。
完成后,只有持有私钥的设备能登录,彻底杜绝密码泄露风险。
通过这三步设置,Ubuntu 20.04香港服务器的SSH防护能力将显著提升。建议每月检查一次/auth.log日志,定期更新密钥,让服务器始终保持"高安全模式"运行。