系统层面安全基线
Go 运行环境与依赖管理
应用代码与运行时安全
进程运行与最小权限
部署与运维安全清单
| 检查项 | 推荐做法 | 关键命令或配置 |
|---|---|---|
| 系统与内核 | 及时更新、最小化安装、开启自动安全更新 | sudo apt update && sudo apt upgrade -y;sudo apt install unattended-upgrades && sudo dpkg-reconfigure unattended-upgrades |
| 防火墙 | 仅放行 22/80/443,默认拒绝其他入站 | sudo ufw allow 22,80,443/tcp && sudo ufw enable |
| SSH | 密钥登录、禁用 root、限制可登录用户 | /etc/ssh/sshd_config:PermitRootLogin no;AllowUsers youruser |
| Go 安装 | 官方仓库优先;特定版本走官方包并设 GOROOT | sudo apt install golang;或解压至 /usr/local 并设置 PATH/GOROOT |
| 依赖与漏洞 | 定期扫描与更新依赖 | go list -m all;govulncheck ./… |
| 运行身份 | 专用非特权系统用户 + systemd | User=goapp;ExecStart=/usr/local/bin/myapp;Restart=always |
| 端口与能力 | 反向代理到低端口;必要时 setcap 绑定特权端口 | sudo setcap ‘cap_net_bind_service=+ep’ /usr/local/bin/myapp |
| 日志与监控 | 集中采集与告警 | journalctl -u myapp -f;/var/log/auth.log;GoAccess 分析访问日志 |