Files
easygoadmin-wiki/EasyGoAdmin_GoFrame_NaiveVue/zh/deploy/security.md
T
2026-10-20 21:53:26 +08:00

86 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 11.8 安全加固清单
:::tip 概述
安全加固按层次组织:配置层(密钥/开关)、网络层(暴露面/代理)、数据层(账号/备份)、应用层(上传/权限)。威胁→控制全景见 [4.10 安全架构设计](../architecture/security)。
:::
## 配置层加固(上线必须)
```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 段 |