# 安全要求(规格 §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 可管理)。 - 客户密码由你设定初值,首次交付后建议客户自行改。