
香港VPS服务器SSH被暴力破解后如何进行诊断与防御
2025-08-19 17:50
阅读量:60
如果香港VPS服务器的 SSH 服务被暴力破解,攻击者可能会获取服务器的访问权限,威胁服务器安全。
1. 立即处理
1.1 切断服务器访问
为了防止进一步的入侵和损害,立即切断 SSH 连接或限制访问:
- 通过防火墙只允许特定 IP 登录:
bash
sudo ufw allow from <your_ip> to any port 22 sudo ufw deny 22
- 或停止 SSH 服务(仅在您有其他方式访问服务器时使用,如通过控制面板):
bash
sudo systemctl stop sshd
2. 诊断与排查
2.1 检查登录记录
通过 last
和 lastb
命令查看最近登录和失败的尝试:
bash
last
lastb
重点:
- 查找是否有异常的登录时间或未知 IP。
- 记录下恶意登录的 IP 地址。
2.2 检查 SSH 日志
查看 SSH 的日志文件,找到攻击行为的证据:
- Ubuntu/Debian:
bash
sudo cat /var/log/auth.log | grep "sshd"
- CentOS/RHEL:
bash
sudo cat /var/log/secure | grep "sshd"
重点关注:
Accepted password
:表示成功登录的记录,重点排查可疑账户。Failed password
:暴力破解尝试的记录。Invalid user
:尝试使用不存在用户登录。
示例:
plaintext
Aug 19 10:15:01 server sshd[12345]: Accepted password for root from 192.168.1.100 port 53212 ssh2
Aug 19 10:15:01 server sshd[12345]: Failed password for invalid user admin from 203.0.113.45 port 12345 ssh2
2.3 检查新增账户
攻击者可能会创建后门账户,检查系统中是否有异常用户:
bash
cat /etc/passwd | grep '/bin/bash'
- 正常用户:例如
root
、ubuntu
、admin
。 - 异常用户:检查是否有您不认识的用户名。
如发现可疑用户,删除账户:
bash
sudo userdel -r <username>
2.4 检查计划任务
攻击者可能会通过计划任务定期执行恶意脚本。检查系统的 Cron 任务:
bash
crontab -l
sudo cat /etc/crontab
sudo ls /etc/cron.d/
删除任何可疑的 Cron 任务。
3. 清理被篡改的文件
3.1 查找最近修改的文件
攻击者可能已经修改了系统文件或上传了恶意脚本:
bash
find / -type f -mtime -7
-mtime -7
:查找最近 7 天被修改的文件。- 仔细检查
/root
、/tmp
、/var/www
、/etc
等目录。
3.2 检查运行中的进程
查看是否有异常的进程正在运行:
bash
ps aux | grep -v "root"
- 检查是否有陌生的进程名或路径。
- 杀死可疑进程:
bash
sudo kill -9 <PID>
3.3 检查网络连接
查看是否有可疑的外部连接:
bash
netstat -tulnp
- 检查是否有未知的服务监听端口。
- 如果发现恶意进程建立的连接,立即阻止其 IP:
bash
sudo iptables -A INPUT -s <malicious_ip> -j DROP
4. 防御措施
4.1 禁用密码登录,启用密钥认证
密码登录容易被暴力破解,建议改用 SSH 公钥认证。
生成密钥对(本地电脑运行):
bash
ssh-keygen -t rsa -b 4096
默认会生成 id_rsa
(私钥)和 id_rsa.pub
(公钥)。
将公钥上传到服务器:
bash
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
修改 SSH 配置:
编辑 SSH 配置文件 /etc/ssh/sshd_config
,启用密钥认证并禁用密码登录:
plaintext
PasswordAuthentication no
PubkeyAuthentication yes
重启 SSH 服务:
bash
sudo systemctl restart sshd
4.2 修改默认 SSH 端口
攻击者通常扫描默认的 SSH 端口(22)。更改 SSH 端口可以减少被暴力破解的几率。
修改配置:
编辑 /etc/ssh/sshd_config
,找到 Port
选项,修改为非默认端口(如 2222):
plaintext
Port 2222
重启 SSH 服务:
bash
sudo systemctl restart sshd
注意:
- 更改端口后,需要在防火墙中开放新端口:
bash
sudo ufw allow 2222
4.3 限制登录 IP
如果仅需从固定 IP 登录香港VPS服务器,可以通过防火墙限制 SSH 访问:
bash
sudo ufw allow from <your_ip> to any port 22
4.4 安装 Fail2ban
Fail2ban 可以自动检测和封禁多次尝试登录失败的 IP。
安装:
bash
sudo apt install fail2ban
配置:
编辑 /etc/fail2ban/jail.local
:
plaintext
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
重启 Fail2ban 服务:
bash
sudo systemctl restart fail2ban
查看封禁的 IP:
bash
sudo fail2ban-client status sshd
4.5 定期检查系统漏洞
- 更新系统和软件:
bash
sudo apt update && sudo apt upgrade -y
- 安装安全工具(如 ClamAV 或 RKHunter):
- 检查是否存在恶意软件或后门:
bash
sudo apt install rkhunter sudo rkhunter --checkall
- 检查是否存在恶意软件或后门:
5. 总结
步骤 | 操作 |
---|---|
切断访问 | 停止 SSH 或限制 IP 登录。 |
检查登录记录 | 使用 last 、lastb 和 SSH 日志排查异常登录。 |
清理恶意文件 | 查找最近修改的文件,检查计划任务和运行中的进程。 |
启用密钥认证 | 禁用密码登录,使用 SSH 公钥认证。 |
修改 SSH 端口 | 修改默认端口,减少被扫描的风险。 |
安装 Fail2ban | 自动封禁暴力破解 IP。 |
定期更新系统 | 安装最新补丁,修复已知漏洞。 |
通过以上诊断和防御措施,您可以有效防止 SSH 暴力破解攻击,并提升服务器的整体安全性。如果VPS服务器已经被严重入侵,建议重新安装系统并恢复干净的数据备份。
- Tags:
- 香港VPS服务器,VPS服务器,香港VPS
上一篇:租用香港服务器如何通过 RAID 配置提升服务器存储性能
下一篇:香港服务器网站代码中被挂黑链怎么办 ?