给朋友远程指导装服务器,他问我:"第一件事装宝塔还是装 Docker?"都不是。开箱前 30 分钟不属于建站,属于加固。这份清单按分钟排,照着做即可。
第 0–5 分钟:换锁
本地生成密钥对,公钥写入服务器,然后关掉密码登录。公网上的机器人每时每刻都在爆破密码——本站日志里那些"SSH 失败登录"记录就是证据。关掉密码登录的那一刻,爆破产业对你失效。
ssh-keygen -t ed25519
ssh-copy-id user@server
# 确认密钥能登录之后,再编辑 /etc/ssh/sshd_config:
# PasswordAuthentication no
systemctl restart sshd
第 5–15 分钟:更新与防火墙
dnf upgrade打满全部补丁——镜像积累的漏洞不会自己消失;- 防火墙只放行 22/80/443,其余默认拒绝;
- 云控制台的安全组做同样的最小放行(两层保险,缺一不可);
- 启用自动安全更新:
dnf install dnf-automatic并设为开机自启。
第 15–25 分钟:装"会自己干活"的东西
nginx、certbot、以及最重要的 systemd timer 习惯——从第一台服务器起就让"备份与统计"成为默认存在的服务,而不是"以后再补"的欠账。它们会在未来的某个凌晨替你救场。
第 25–30 分钟:留下证据
记录三样东西到一个本地文件:系统版本、放行端口清单、密钥指纹。半年后你会感谢这三十秒。做完这些,才轮到装 nginx、写第一个页面——地基打完,剩下的都是乐趣。
服务器的安全感不来自配置多复杂,来自"每一项都知道为什么存在"。