每次新购 VPS 或重装系统后,有几步安全配置是我必做的。这些操作不需要高深的运维知识,但能挡住 90% 的自动化攻击。以下以 Ubuntu 22.04 为例。

1. SSH 密钥登录 + 禁用密码登录

这是最重要的一步。先在本地生成密钥对,上传公钥,然后修改 SSH 配置禁用密码登录和 root 远程登录:

# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes

改完后 systemctl restart sshd保持当前会话不要断开,另开一个终端测试密钥登录是否正常。确认无误后再关闭旧会话。

2. 防火墙规则

使用 ufw 可以快速配置防火墙。只开放必要的端口:SSH(22)、HTTP(80)、HTTPS(443)。其他服务如 MySQL(3306)不对外开放,改为通过 SSH 隧道或内网连接。

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

3. Fail2ban 防暴力破解

即使关了密码登录,开启 Fail2ban 仍然有必要——它能阻止恶意 IP 反复尝试连接,减少日志噪音。安装后基本不需要额外配置,默认规则就能拦截大部分攻击。

4. 自动安全更新

apt install unattended-upgrades 并启用安全更新自动安装。大部分 Linux 安全漏洞在有补丁后的 24 小时内就会被扫描器利用,手动更新根本赶不上。自动更新虽然有一定风险(偶发兼容问题),但远好于被入侵。