海外云服务器Linux系统SSH安全加固与防暴力破解指南
文章分类:行业新闻 /
创建时间:2025-08-19
在使用海外云服务器的过程中,SSH暴力破解是最常见的安全威胁之一。黑客通过暴力破解SSH密码入侵后,可能窃取敏感数据或执行恶意操作。本文从现象识别、快速诊断到具体加固方法,手把手教你为Linux系统SSH筑牢安全防线。
SSH暴力破解的典型现象
当海外云服务器的Linux系统遭受SSH暴力破解时,服务器会释放明确的“危险信号”。登录日志里突然出现大量“Failed password”记录,这些尝试往往来自不同国家的陌生IP;原本稳定的CPU和内存使用率无预警飙升,后台进程列表中出现异常的sshd连接;网络带宽被异常占满,远程操作延迟明显增加——这些都是暴力破解正在发生的典型表现。
30秒快速诊断暴力破解
判断是否遭遇SSH暴力破解,关键看登录日志的异常记录。在Linux系统中,SSH登录日志默认存储于/var/log/auth.log文件。打开终端输入命令:
cat /var/log/auth.log | grep "Failed password"
如果输出结果中出现成百上千条失败记录,且IP地址持续变化(如显示“from 192.168.1.1”“from 10.0.0.2”等不同来源),基本可确认服务器正在遭受暴力破解攻击。若日志量过大,可添加时间筛选,例如:
cat /var/log/auth.log | grep 'Jun 10' | grep 'Failed password'
精准定位当日攻击详情。
四步完成SSH安全加固
第一步:修改默认SSH端口
黑客攻击通常从扫描默认22端口开始,修改端口能直接提升攻击成本。用vim打开SSH配置文件:
vim /etc/ssh/sshd_config
找到“Port 22”行,将端口改为1024-65535间的非知名端口(如2222)。保存退出后重启SSH服务:
systemctl restart sshd
注意:修改后需在本地终端用新端口连接(如ssh user@服务器IP -p 2222),避免自己无法登录。
第二步:启用密钥认证替代密码
密码认证存在被撞库风险,密钥认证更安全。本地终端执行:
ssh-keygen -t ed25519 # 推荐ed25519算法,比RSA更高效
按提示生成密钥对(默认存储于~/.ssh目录)。将公钥复制到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@服务器IP -p 2222
完成后,在服务器SSH配置文件中禁用密码认证:
vim /etc/ssh/sshd_config
将“PasswordAuthentication yes”改为“no”,保存并重启sshd服务。后续登录仅需私钥,无需输入密码。
第三步:用防火墙限制SSH访问
防火墙能拦截非信任IP的连接尝试。若使用iptables,执行以下命令:
iptables -A INPUT -p tcp --dport 2222 -s 你的信任IP -j ACCEPT # 允许信任IP访问
iptables -A INPUT -p tcp --dport 2222 -j DROP # 拒绝其他所有IP
若偏好简单配置,可使用ufw(Uncomplicated Firewall):
ufw allow 2222/tcp # 开放2222端口
ufw enable # 启用防火墙
双重防护确保只有授权IP能连接SSH。
第四步:安装Fail2Ban自动反制
Fail2Ban是自动防御暴力破解的利器,它会监控日志并封禁高频失败IP。通过以下命令安装:
apt-get install fail2ban -y
编辑配置文件/etc/fail2ban/jail.local,添加:
[sshd]
enabled = true
port = 2222 # 对应修改后的端口
filter = sshd
logpath = /var/log/auth.log
maxretry = 3 # 连续失败3次即封禁
bantime = 3600 # 封禁1小时(可根据需求调整)
保存后重启服务:
systemctl restart fail2ban
后续若有IP尝试3次以上失败登录,会被自动加入黑名单。
海外云服务器的安全防护是长期工程,除了上述操作,建议定期更新系统补丁、监控登录日志,并开启自动备份功能(重要数据可同步至对象存储)。通过多维度加固,能有效降低SSH暴力破解风险,为业务稳定运行保驾护航。