Skip to content

11.8 安全加固清单 ​

概述

安全加固按层次组织:配置层(密钥/开关)、网络层(暴露面/代理)、数据层(账号/备份)、应用层(上传/权限)。威胁→控制全景见 4.10 安全架构设计。

配置层加固(上线必须) ​

text
□ jwt.secret 高强度随机(≥32 字节随机串),与环境隔离
□ captcha.bypassCode = ""(万能验证码清空)
□ app.demo = false
□ app.errorMsg = false(不暴露内部错误)
□ server.errorStack = false
□ database.default.debug = false
□ redis.default.pass 强密码(非 123456)
□ file.fileExt 按业务收紧(公网上传移除 js/css/sql)
□ cors.allowOrigin 收敛为具体域名(非同域部署时)

网络层加固 ​

text
□ 数据库/Redis 内网访问(安全组/防火墙仅放应用网段)
□ 后端 :8000 不直接对外(仅 Nginx 反代)
□ HTTPS 全站(前置代理终止;HSTS 可选)
□ api.proxyIps 只列真实反代出口(防 XFF 伪造)
□ /swagger 与 /api.json 收紧(内网/Basic Auth/关闭暴露)
□ 管理后台可加 IP 白名单(Nginx allow/deny)

数据层加固 ​

text
□ 数据库独立账号(非 root;仅目标库 DML 权限)
□ 定期备份(见 11.9 备份与恢复)+ 恢复演练
□ 初始 admin 强密码(导入种子后立即改)
□ 敏感配置不进 git(.env 注入;私有仓库)
□ 日志目录权限最小化(含操作日志脱敏后仍属敏感)

应用层加固 ​

text
□ 限流开启(authLimit 10/分钟/IP 不调大——防暴力破解)
□ 权限最小化授予(新接口必须声明 permission;定期审计角色授权)
□ 超管账号专人管理(通配权限 *:*:*)
□ 在线用户定期巡检(异常会话强退——双令牌拉黑)
□ 操作日志定期审计(登录日志看异常 IP/归属地)
□ 上传目录禁止执行权限(Nginx 对 /upload 不解析脚本)
□ 富文本外链不本地化已防 SSRF(保持该行为,勿自行"增强")

运维层加固 ​

text
□ 服务器最小化安装(关无用端口/服务)
□ SSH 密钥登录、禁 root 直登
□ 系统安全补丁定期更新
□ 容器场景:非 root 运行、镜像扫描
□ 日志采集与告警(错误激增/登录失败激增)
□ 应急预案:禁用账号/封禁 IP/回滚流程演练

定期审计项(月度) ​

text
1. 角色权限盘点:长期不用的角色/权限回收
2. 在线用户:异地/异常会话清理
3. 登录日志:失败尝试 Top IP(配合限流阈值评估)
4. 操作日志:高危操作(删除/导出)追溯
5. 备份可用性:随机抽恢复演练
6. 依赖漏洞:go mod / pnpm audit
7. /api.json 权限点核对(防新接口漏配 permission)

应急响应 ​

事件动作
账号泄露禁用账号 + 在线用户强退(双令牌拉黑)+ 改密 + 审计日志
令牌泄露RemoveToken 撤销指定令牌;必要时改 jwt.secret 全量失效
数据库泄露改库密码/轮换密钥;评估备份与日志暴露面
恶意上传收紧 fileExt;清理上传目录;审计上传记录
DDoS/刷接口调小 rateLimit 阈值;前置 WAF/CDN;封禁 IP 段

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