VPS 到手后的安全加固清单
新开一台 VPS,装系统、配服务之前,先花 20 分钟过一遍安全加固。这份清单是我每次开新机器的固定流程,按顺序做。
1. 更新系统 + 设时区
apt update && apt upgrade -y
timedatectl set-timezone Asia/Shanghai
别小看时区,日志时间对不上,排错时能把人绕晕。
2. 新建普通用户,禁用 root 直登
adduser deploy
usermod -aG sudo deploy
# 编辑 /etc/ssh/sshd_config:
# PermitRootLogin no
# PasswordAuthentication no
systemctl restart sshd
root 密码登录是暴力破解的重灾区。注意顺序:先配好 deploy 用户的密钥登录,测试能进,再关 root 和密码。顺序反了就把自己锁外面了。
3. 改 SSH 端口(可选但推荐)
把 22 改成 20000 以上的随机端口,能挡掉 99% 的自动化扫描。不是高深的安全措施,就是减少噪音,日志干净很多。
# /etc/ssh/sshd_config
Port 22334
4. 防火墙:默认拒绝,只开必要的
ufw default deny incoming
ufw default allow outgoing
ufw allow 22334/tcp # SSH
ufw allow 80/tcp # Web
ufw allow 443/tcp # Web
ufw --force enable
用 ufw 就够了,别手搓 iptables,容易把自己玩死。云厂商的安全组也要同步配,双层保险。
5. 自动安全更新
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
让系统自动装安全补丁。应用层的东西自己管,但内核、openssl 这种基础包的漏洞,有自动更新能省很多心。
6. 装个 fail2ban
apt install -y fail2ban
systemctl enable --now fail2ban
默认配置就能挡 SSH 暴力破解。改了 SSH 端口后其实很少触发,但装上不亏。
7. 检查清单
ss -tlnp:看监听的端口是不是都是你认识的,不认识的查一下是什么进程lastlog/lastb:看有没有异常的登录尝试- 云厂商控制台:快照备份开一个,万一玩脱了能回滚
安全加固不是一劳永逸,是个习惯。每装一个新服务,回头想一下:端口有没有必要对外?密码是不是默认的?日志有没有地方看?
这套做完,一台 VPS 的基础安全就及格了。剩下的就是业务层面的事:应用漏洞、数据备份,那是另一个话题。