CentOS上Golang安全配置要点
一 系统与运行时加固
二 Go应用安全编码与依赖管理
三 网络与防火墙配置
四 快速检查清单
| 领域 | 关键动作 | 验证方式 |
|---|---|---|
| 系统与账户 | 更新系统、禁用不必要root登录、服务最小权限运行 | rpm -q yum; ps -eo user,comm; systemctl show |
| 防火墙与端口 | 仅开放必要端口与来源网段 | firewall-cmd --list-all; ss -lntp |
| SELinux | 保持Enforcing并最小化策略 | getenforce; ausearch -m avc -ts recent |
| Go依赖 | 使用Go Modules、定期更新与漏洞扫描 | go list -m all; go mod tidy |
| 传输与浏览器安全 | 全站TLS、HSTS、CSP、X-Frame-Options、X-XSS-Protection | curl -I https://host; 浏览器开发者工具Security/CSP报告 |
| 输入与注入 | 参数化查询/ORM、输入校验与输出编码 | 代码审计、单元测试与模糊测试 |
| 认证与会话 | bcrypt存储、JWT密钥轮换、会话ID轮换与仅HTTPS | 日志审计、抓包验证 |
| 限流与抗滥用 | 登录/注册/API限流与熔断 | 压测与监控告警 |
| 文件上传 | 类型/大小校验、隔离存储、内容扫描 | 上传测试与安全扫描 |
| 日志与监控 | 关键操作与错误日志集中化、告警规则生效 | 日志查询与告警验证 |