Ubuntu 22.04云服务器SSH暴力破解防护指南
文章分类:售后支持 /
创建时间:2025-12-12
在Ubuntu 22.04云服务器的日常使用中,SSH暴力破解是不容忽视的安全隐患。攻击者通过高频次尝试用户名和密码组合,试图突破登录限制获取服务器权限。为保障云服务器数据安全与稳定运行,掌握针对性的防护配置方法至关重要。
识别攻击:SSH暴力破解的典型特征
云服务器遭受SSH暴力破解时,系统会留下明显痕迹。查看/var/log/auth.log日志文件,可发现短时间内大量"Failed password"记录,这些失败登录请求可能来自单一IP,也可能分散在多个IP地址(常见于僵尸网络攻击)。此外,频繁的登录尝试会占用CPU和网络资源,导致服务器响应速度下降,部分敏感业务甚至可能出现短暂卡顿。
定位源头:快速诊断攻击方式
通过分析日志能精准定位攻击来源。执行命令`sudo cat /var/log/auth.log | grep "Failed password"`,可提取失败登录的时间戳、源IP及尝试用户名。若某IP在10分钟内发起超过5次失败登录,基本可判定为暴力破解;若多个IP同时发起类似请求,则需警惕僵尸网络攻击。结合日志中的时间规律(如凌晨高发),还能辅助判断攻击是否为自动化程序驱动。
防护配置:三步构建安全屏障
1. 调整SSH默认端口
攻击者通常优先扫描22号默认端口,修改端口可大幅降低被盯上的概率。编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config找到"Port 22"行,将其改为未被占用的自定义端口(如2222)。保存后重启SSH服务生效:
sudo systemctl restart sshd2. 部署Fail2Ban自动封禁
Fail2Ban(开源入侵防御工具)能监控日志并自动封禁异常IP。安装命令:
sudo apt-get install fail2ban复制默认配置文件并编辑自定义规则:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local在[sshd]部分添加以下配置:
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3 # 允许3次失败登录
bantime = 3600 # 封禁1小时(单位:秒)保存后重启服务使规则生效:
sudo systemctl restart fail2ban3. 启用密钥认证替代密码
密码易被暴力破解,密钥认证通过公私钥对验证更安全。本地生成RSA密钥对:
ssh-keygen -t rsa按提示完成生成后,将公钥上传至云服务器:
ssh-copy-id -p 2222 username@服务器IP(-p指定修改后的端口,username为服务器用户名)
最后禁用密码认证,编辑sshd_config文件:
sudo nano /etc/ssh/sshd_config将"PasswordAuthentication yes"改为"no",保存后重启SSH服务。
通过端口调整、自动封禁工具部署和密钥认证三重防护,可显著提升Ubuntu 22.04云服务器的SSH安全系数,有效抵御暴力破解攻击,为业务稳定运行和数据安全提供坚实保障。
工信部备案:苏ICP备2025168537号-1