新服务器上线 30 分钟内应做完的事。按清单逐项打勾,大部分攻击面直接关闭。
| 项目 | 要点 |
|---|---|
| SSH 加固 | 禁用密码登录,仅密钥;root 不允许直接登录;改端口可选 |
| 防火墙 | 默认拒绝入站,只放行 22/80/443;云安全组与系统防火墙双保险 |
| 暴力破解防护 | fail2ban:10 分钟内失败 3 次封禁 1 小时 |
| 自动安全更新 | unattended-upgrades 只装安全补丁,减少漏打 |
| 最小化运行 | 每个服务专用低权用户;能不开的服务不开;数据库只监听本机 |
| 文件权限 | 数据库文件 600;.env/密钥 600 且不入 git |
| 日志与监控 | 登录失败日志每周看一眼;CPU/内存/磁盘设置阈值告警 |
| 备份 | 见备份教程:没有异地备份的安全加固是半成品 |
# SSH:仅密钥登录(先确认密钥能登录再执行!) sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config.d/*.conf systemctl reload ssh # 防火墙(nftables,放行 22/80/443 后默认拒绝) nft add rule inet filter input tcp dport 443 accept # fail2ban apt install -y fail2ban && systemctl enable --now fail2ban