加固RackNerd VPS
吃灰两年的阿里云服务器马上到期了,不想续费,感觉一直放着挺浪费。不过 RackNerd 黑五又有优惠,忍不住入手了一台 2 核 VPS,花了 17 刀,续费同价,用着也比较安心,就顺手记录一下云服务器的安全加固流程。
这台服务器使用 Ubuntu 24.04,与我之前写的 CentOS7 加固篇不同,如果你的是 CentOS,可以参考这篇:👉 CentOS7 云服务器安全加固
1. 开启防火墙(UFW)
Ubuntu 默认带有 ufw 防火墙,先检查当前状态:
ufw status如果未开启,执行:
ufw enable开放 SSH 所需的 22 端口:
ufw allow 22/tcp2. SSH 安全配置
SSH 是服务器被攻击的主要入口,因此必须重点加固,包括:
- 禁止 root 登录
- 禁止密码登录
- 使用密钥登录
- 设定允许的用户
2.1 创建新用户并禁用 root 登录
在禁用 root 登录之前,需要先创建一个新用户并加入 sudo 组:
useradd xxx
passwd xxx
usermod -aG sudo xxx修改 /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers xxx这能有效减少暴力破解的风险。
2.2. 配置 SSH 公钥登录
相比密码登录,SSH 密钥的安全性更高,同时不容易被暴力破解。
2.2.1 生成密钥对
在本地机器执行:
ssh-keygen -t ed25519生成的密钥位于 ~/.ssh/ 内,将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub xxx@vps_ip2.2.2 禁用密码登录
编辑 /etc/ssh/sshd_config:
PubkeyAuthentication yes
PermitEmptyPasswords no
PasswordAuthentication no2.2.3. 使用 Putty 登录(可选)
如果你习惯使用 Putty,可以将生成的私钥转换成 .ppk 格式。
- 打开
PUTTYGEN.EXE - 菜单:
Conversions -> Import Key - 导入之前生成的私钥
id_ed25519,保存后缀为.ppk的私钥文件

再在 Putty 中:
Connection -> SSH -> Auth -> Credentials
选择刚保存的 .ppk 私钥文件即可。

2.3. 其他 SSH 安全建议
以下设置可进一步减少被扫描和滥用的风险:
X11Forwarding no
UseDNS no
MaxAuthTries 3
MaxSessions 3修改完成后重启 SSH:
sudo systemctl restart ssh3. 启用 Fail2ban 设置黑名单
公网服务器每天都会遭遇大量 SSH 暴力扫描,安装 fail2ban 可以自动封禁恶意 IP。
3.1 安装与启动
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban3.2 配置
拷贝默认配置:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local编辑 /etc/fail2ban/jail.d/defaults-debian.conf:
[sshd]
enabled = true
maxretry = 3
findtime = 1d
bantime = -1maxretry = 3:3 次失败即封禁findtime = 1d:在一天内触发封禁bantime = -1:永久封禁(根据需要可改)
重启服务:
sudo systemctl restart fail2ban查看被封禁的 IP:
sudo fail2ban-client status sshd以上就是我对 RackNerd 的 Ubuntu VPS 做的基础安全加固步骤。做好这些配置后,服务器基本能抵挡大部分扫描和低级攻击,安全性也会大大提升。