41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# 安全要求(规格 §29/§52)
|
||
|
||
## Secrets 管理
|
||
|
||
- **绝不**把 token/密码写死在 `docker-compose.yml`,全部走 `.env`(已 `.gitignore`)。
|
||
- AList admin token、NocoDB token、n8n 加密密钥都只在 `.env`。
|
||
- `.env` 加密备份(见 BACKUP_RESTORE.md),不提交 Git。
|
||
|
||
## 双层防护(规格 §16/§52)
|
||
|
||
1. **应用层**:AList role scope + Check path limit + read-only bitmask。
|
||
2. **文件系统层**:NAS 目录以 `:ro` 只读挂载。
|
||
|
||
即使 AList 权限配置出错,客户也无法通过 AList 改写 NAS 文件。
|
||
|
||
## 网络暴露
|
||
|
||
| 服务 | 公网 |
|
||
|---|---|
|
||
| AList 客户入口 | ✅ 经 DSM nginx(access.hoelee.com) |
|
||
| AList Admin API | ❌ 仅内网(n8n 经 bridge_hoelee) |
|
||
| NocoDB admin | ❌ 不直连公网 |
|
||
| n8n editor | ❌ 不直连公网 |
|
||
|
||
## 权限默认值(客户 user)
|
||
|
||
- `permission` = `16384`(仅 Check path limit bit,所有写位=0)
|
||
- 无 upload/mkdir/rename/move/copy/delete/webdav-write/ftp-write
|
||
- 每客户专属 role,绝不共享(避免权限污染,规格 §7)
|
||
|
||
## 路径安全(规格 §32)
|
||
|
||
- 资源路径只允许 `/Class/...` 逻辑路径。
|
||
- 拒绝 `../`、编码遍历、反斜杠、绝对 host 路径等。
|
||
- NocoDB 中的 `alist_path` 需校验(n8n 侧或表单侧)。
|
||
|
||
## 强密码 / 2FA
|
||
|
||
- AList admin 强密码;支持 2FA 则启用(`/api/admin/user/cancel_2fa` 已确认存在,说明 2FA 可管理)。
|
||
- 客户密码由你设定初值,首次交付后建议客户自行改。
|