Skip to content

11.8 安全加固清单 ​

概述

安全是分层纵深:应用红线(prod 模式)→ 网络暴露面收敛 → 传输加密 → 数据与账号。本页按层给出可执行的加固项。

应用层(硬红线) ​

项要求
app.prodtrue——触发启动拒绝
JWT 密钥强随机长串,非默认样例值
captcha.bypassCode空
generator.enablefalse
api.docsfalse(或网关封锁 /swagger、/api.json)
api.metricsfalse 或内网保护
database.debugfalse(SQL 不落日志)

prod 模式不满足以上红线时拒绝启动——这是最后一道闸,不可绕过。

网络层 ​

  • MySQL/Redis 端口仅内网(compose 默认仅绑回环,保持)
  • 应用 8000 不对公网,仅 Nginx 反代
  • api.proxyIps 与真实拓扑一致,严禁 0.0.0.0/0(等于允许伪造来源 IP)
  • 防火墙仅放行 443(必要时 80 跳转)

传输层 ​

  • HTTPS 全站(Nginx 终止 TLS,HSTS 可选)
  • 文件域址(file.domainUrl)同样 https,防混合内容
  • 内网 MySQL/Redis 可用 TLS 或纯内网隔离

数据层 ​

  • 数据库应用账号最小权限(仅 gin_* DML)
  • Redis 设置密码
  • 备份文件加密存放(11.9)
  • 日志脱敏:密码、Token 永不入日志(框架已保证,自定义日志注意)

入口防护 ​

防护配置
限流rateLimit 默认开启;公网可再降阈值
请求体限制api.maxBodyMB + nginx client_max_body_size
CORSallowOrigin 收敛到实际域名
temp 封禁nginx 与应用回退均已封(保持)
SVGnginx 强制附件下载(保持,防内嵌脚本)

运维层 ​

  • 上线走 make check 质量门禁
  • 定期跑依赖漏洞扫描(govulncheck / 前端 audit)
  • 账号:超管口令强且独立;离岗即回收角色
  • 审计:操作日志/登录日志保留期符合合规

相关 ​

小蚂蚁云团队 · 提供技术支持