还是更新自述文件
This commit is contained in:
63
README.md
63
README.md
@@ -43,37 +43,38 @@ AFI 是 Go 编写的轻量级文件服务器, 是基于 Gossa 的现代化增强
|
|||||||
- 使用普通用户, chroot 或容器运行
|
- 使用普通用户, chroot 或容器运行
|
||||||
|
|
||||||
|
|
||||||
- 安全设计:
|
安全设计:
|
||||||
- 可防止路径穿越攻击
|
- 可防止路径穿越攻击
|
||||||
- 有基本的权限管理系统 (基于 HTTP Basic Authentication)
|
- 有基本的权限管理系统 (基于 HTTP Basic Authentication)
|
||||||
- 不安全设计:
|
|
||||||
- 不能防范且无法容忍的攻击
|
不安全设计:
|
||||||
- 如上文所述, 这里没写不等于没有, 欢迎通过 issues 提出
|
- 不能防范且无法容忍的攻击
|
||||||
- 未防范但几乎不可能成功的攻击
|
- 如上文所述, 这里没写不等于没有, 欢迎通过 issues 提出
|
||||||
- Timing Attack (未防范, 密码在后端明文比较, 但可通过设置较不寻常的用户名规避) -> 我们未来大概率不会改
|
- 未防范但几乎不可能成功的攻击
|
||||||
- 能防范的攻击
|
- Timing Attack (未防范, 密码在后端明文比较, 但可通过设置较不寻常的用户名规避) -> 我们未来大概率不会改
|
||||||
- XSS 攻击
|
- 能防范的攻击
|
||||||
- Symlink 逃逸攻击 (可选且默认开启, 但开启后您就不能使用 linux 的符号链接便利了)
|
- XSS 攻击
|
||||||
- 路径穿越攻击
|
- Symlink 逃逸攻击 (可选且默认开启, 但开启后您就不能使用 linux 的符号链接便利了)
|
||||||
- CSRF 攻击 (HTTP Basic Authentication 天然防范)
|
- 路径穿越攻击
|
||||||
- 其他不安全设计:
|
- CSRF 攻击 (HTTP Basic Authentication 天然防范)
|
||||||
- 密码以明文形式传输 (因此千万不要在非 HTTPS 环境公网部署或预留 HTTP 访问, 除非您完全不配置用户(相当于原版 Gossa 的只读模式)) -> 我们未来会改, 但会在增加 Argon2 的基础上保留明文与 MD5 模式
|
- 其他不安全设计:
|
||||||
- 后端密码参数化 (可登录服务器后轻松用 ps 或类似工具查看), 已经可以环境变量安全设置, 但不会移除 `-auth` 选项以防您需要测试或使用 PaaS 部署
|
- 密码以明文形式传输 (因此千万不要在非 HTTPS 环境公网部署或预留 HTTP 访问, 除非您完全不配置用户(相当于原版 Gossa 的只读模式)) -> 我们未来会改, 但会在增加 Argon2 的基础上保留明文与 MD5 模式
|
||||||
- DoS 攻击 - 我们认为这件事应该由 nginx 反向代理预防
|
- 后端密码参数化 (可登录服务器后轻松用 ps 或类似工具查看), 已经可以环境变量安全设置, 但不会移除 `-auth` 选项以防您需要测试或使用 PaaS 部署
|
||||||
- 请求大小和配额无限制导致的超大文件占用和可能导致的 OOM 崩溃 - 我们认为这件事应该由 nginx 反向代理或磁盘配额限制预防, 并且就事实而言, 内部威胁不在模型内, 这很大程度上是有权限的用户行为不当引起的问题
|
- DoS 攻击 - 我们认为这件事应该由 nginx 反向代理预防
|
||||||
- 无自带的响应超时: 可能招致 Slowloris 服务瘫痪 - 但这可由 nginx 反向代理预防
|
- 请求大小和配额无限制导致的超大文件占用和可能导致的 OOM 崩溃 - 我们认为这件事应该由 nginx 反向代理或磁盘配额限制预防, 并且就事实而言, 内部威胁不在模型内, 这很大程度上是有权限的用户行为不当引起的问题
|
||||||
- 权限提升风险: AFI 以什么用户运行, 就有什么权限 -- 如果以 root 运行且将分享目录设置为根目录, 则任何登录用户都能删除系统, 或者通过上传 `.ssh/authorized_keys` 或 `.bashrc` 远程控制您的服务器操作系统 -> 我们改不了
|
- 无自带的响应超时: 可能招致 Slowloris 服务瘫痪 - 但这可由 nginx 反向代理预防
|
||||||
- 未默认杜绝的隐私问题:
|
- 权限提升风险: AFI 以什么用户运行, 就有什么权限 -- 如果以 root 运行且将分享目录设置为根目录, 则任何登录用户都能删除系统, 或者通过上传 `.ssh/authorized_keys` 或 `.bashrc` 远程控制您的服务器操作系统 -> 我们改不了
|
||||||
- 外部字体 Referer 泄露 (仅会得知您访问的链接, 但如果您需要, 可以移除前端中引用的在线字体链接) 就事实而言, 我们认为外部字体提供商不太可能有收集这种数据的动机, 但如果您在高敏感内网部署, 则您可能不希望任何外部服务能够得知内网的文件结构
|
- 未默认杜绝的隐私问题:
|
||||||
- 日志可能泄漏敏感信息 (可以通过修改源代码编译解决, 但我们提供的二进制释出没有移除敏感信息输出)
|
- 外部字体 Referer 泄露 (仅会得知您访问的链接, 但如果您需要, 可以移除前端中引用的在线字体链接) 就事实而言, 我们认为外部字体提供商不太可能有收集这种数据的动机, 但如果您在高敏感内网部署, 则您可能不希望任何外部服务能够得知内网的文件结构
|
||||||
- 未对特定安全需求进行的设计:
|
- 日志可能泄漏敏感信息 (可以通过修改源代码编译解决, 但我们提供的二进制释出没有移除敏感信息输出)
|
||||||
- 不自带 https 服务器 - 如果您在公网直接跑这个程序并且使用它, 您等同于裸奔
|
- 未对特定安全需求进行的设计:
|
||||||
- 不支持细粒度权限控制 (我们支持配置多个用户, 但登录后您就只能是对分享目录下的文件完全可写(取决于运行 afi 的用户)的状态了)
|
- 不自带 https 服务器 - 如果您在公网直接跑这个程序并且使用它, 您等同于裸奔
|
||||||
- 没有自带的防暴力破解机制
|
- 不支持细粒度权限控制 (我们支持配置多个用户, 但登录后您就只能是对分享目录下的文件完全可写(取决于运行 afi 的用户)的状态了)
|
||||||
- 没有操作审计日志
|
- 没有自带的防暴力破解机制
|
||||||
- 没有密码哈希存储 (后端明文比较)
|
- 没有操作审计日志
|
||||||
- 可能被误解为是不恰当的设计
|
- 没有密码哈希存储 (后端明文比较)
|
||||||
- 代码中不恰当的注释, 但这些注释(html, js 和 css 中的)事实上会被 go 的 embed 清除(即使有 "dev" tag), 因此您不必担心这些注释会随页面传递给浏览器, 在"查看源代码页"呈现给用户
|
可能被误解为是不恰当的设计:
|
||||||
|
- 代码中不恰当的注释, 但这些注释(html, js 和 css 中的)事实上会被 go 的 embed 清除(即使有 "dev" tag), 因此您不必担心这些注释会随页面传递给浏览器, 在"查看源代码页"呈现给用户
|
||||||
|
|
||||||
> 注意: 这些不安全设计并非都是运维或服务器管理员能解决的, 因此请量需求而行
|
> 注意: 这些不安全设计并非都是运维或服务器管理员能解决的, 因此请量需求而行
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user