Debian下Golang安全加固清单
一 系统与基础防护
二 Go工具链与依赖安全
三 应用运行时与权限最小化
四 代码与应用层安全
五 部署与运维清单
| 环节 | 关键动作 | 命令或配置示例 |
|---|---|---|
| 系统基线 | 更新与加固、自动安全更新 | sudo apt update && sudo apt full-upgrade -y;配置unattended-upgrades |
| 访问控制 | 防火墙仅放行必要端口 | sudo ufw allow 22,80,443/tcp;sudo ufw enable |
| SSH安全 | 禁用root登录与密码登录 | /etc/ssh/sshd_config:PermitRootLogin no,仅密钥登录 |
| 运行身份 | 专用非特权用户 | 创建用户app或www-data,服务以该用户运行 |
| 低端口绑定 | 最小权限能力授予 | sudo setcap ‘cap_net_bind_service=+ep’ /opt/yourapp |
| 进程托管 | systemd或Supervisord托管 | 见第三节示例;Supervisord使用supervisorctl reread/update/start |
| 日志与审计 | 集中日志与告警 | 使用journald或进程管理器日志;关注**/var/log/auth.log** |
| 漏洞治理 | 工具扫描与版本跟踪 | govulncheck、go vet、-race、订阅golang-announce |