保护应用程序及其管理访问,限制后端监听器,保护洋葱服务密钥,并通过兼容客户端测试发布内容。洋葱路由只是设计中的一层。它不会消除应用程序漏洞、已发布内容中的错误,也不会消除定义谁应拥有访问权限的需要。
定义发布内容及其受众
从合法的发布目的和受众描述开始。公开研究出版物和受限项目门户有不同的访问要求。确定哪些内容旨在公开、哪些需要应用程序身份验证、哪些绝不应进入 Web 根目录。将这些决策与用于访问站点的传输方式分开。
在部署前编写一份小型数据清单:页面、上传内容、数据库内容、管理员账户和服务配置。为更新和事件处理指定负责人。站点使用洋葱地址这一事实并不能解决保留期限、内容权利或安全责任问题。这些仍是需要明确运营计划的实际应用程序决策。
保持后端监听器的审慎配置
洋葱服务将连接映射到本地应用程序端点。审查该端点监听的位置以及其他网络能否访问它。Tor Project 的设置指南将 Unix 套接字描述为避免将后端暴露到本地网络的一种有用方式。选择你的服务器支持的方法,并验证其实际可达性。
通过 Tor 可用的连接可能与意外的公开监听器并存。测试预期的访问路径以及后端周围的边界。避免泛泛的配置假设;阅读应用程序的监听设置和 Web 服务器的虚拟主机路由。将管理界面与面向公众的服务区分开,并限制谁可以更改这些设置。
审查应用程序发布的内容
以读者会遇到的方式检查页面、上传文件、错误输出和嵌入资源。应用程序可能通过调试消息泄露运营细节,或链接到外部资源,而这些在其主要设计中并不明显。审查生成的 URL 和内容元数据。仅提供发布所需的资源,并了解其发起的任何第三方请求。
对于示例研究站点,在启动前审查一篇示例文章、附件和联系页面。验证私有编辑文档和环境文件位于公共目录之外。检查上传内容时使用非敏感测试材料。成功的洋葱连接证明可达性;此内容审查检查服务实际向其受众披露了什么。
将服务身份视为受保护材料
洋葱服务配置包含必须保持私密的密钥材料。将其放在公共网站文件之外,并限制只有需要它的操作人员才能访问。规划合法恢复如何保留预期的服务身份,以及如何应对泄露。不要将服务密钥放入公共存档、支持消息或共享项目仓库。
在恢复设计中包含应用程序、数据和所需的服务配置,并为每一项提供适当的保护。仅备份站点内容可能无法恢复预期地址,而包含私钥的副本会形成敏感备份。记录谁可以解密和恢复它,并在不将密钥暴露在演练报告中的情况下测试该访问。
明确选择公开访问或受限访问
应用程序登录和 Tor 客户端授权是不同的层。Tor Project 记录了客户端授权,使对 v3 洋葱服务的访问取决于客户端凭据。确定该模型是否适合受众和运营流程。公开出版物并不自动需要它,并且一旦客户端连接,它也不能替代应用程序的权限。
考虑一个仅限小型获批小组访问的项目门户。你需要一种私下分发、替换和撤销访问材料的方式,以及管理应用程序账户。分别测试移除已授权客户端和应用程序用户。下表将这些控制措施区分开,而不是承诺某一项设置能解决所有访问问题。
| 控制措施 | 它回答的问题 | 独立责任 |
|---|---|---|
| 后端监听器 | 谁可以访问本地应用程序端点? | Web 服务器和网络配置 |
| 客户端授权 | 哪些客户端可以连接到洋葱服务? | 私密凭据分发和撤销 |
| 应用程序权限 | 已连接用户可以做什么? | 账户角色和数据访问 |
| 发布审查 | 站点披露了什么? | 内容、上传和错误处理 |
通过读者的连接进行测试
使用兼容客户端通过预期的洋葱访问路径测试页面、导航、表单和下载。使用无害测试流量观察错误和应用程序资源使用情况。避免仅测量本地后端请求,因为它不会检验读者的完整连接。保持测试账户和任何受限访问凭据私密。
同时检查恢复和维护程序。应用程序更新应有回滚点,以及之后验证洋葱路由的方法。定义有用的运营日志和保留期限,不要假设分发或传输标签会形成零日志政策。保留足够证据以诊断故障,同时避免不必要的收集。
将托管选项视为设计的组成部分
SwissOctet Veil 列出了应用程序栈、洋葱地址和备份选项。选择你的软件所期望的栈,以及足够工作负载使用的 CPU、内存和存储。在依赖它之前,确认实际服务如何处理部署、服务身份和恢复。该目录的瑞士位置与你的应用程序的隐私行为是分开的。
保持服务用于合法发布和授权用户。规划管理员更新、访问审查以及对应用程序凭据泄露的响应。当内容、后端暴露和恢复都可理解时,洋葱发布效果最佳;传输应支持该计划,而不是成为跳过普通软件安全的借口。
您的实用清单。
- 在部署前定义公开内容和受限内容。
- 验证后端监听器的实际暴露情况。
- 审查页面、上传内容和外部资源请求。
- 保护并测试服务密钥材料的恢复。
- 将客户端授权与应用程序角色分开。
- 通过洋葱路径测试维护和读者旅程。
重要细节。
洋葱托管本身会使应用程序匿名吗?+
不会。已发布内容、配置、账户和运营实践可能泄露信息。应审查整个服务,而不是依赖连接方式。
每个洋葱站点都应使用客户端授权吗?+
不。根据预期受众决定。客户端授权限制连接访问并增加凭据生命周期;应用程序权限仍然分开。
在恢复副本中我必须保护什么?+
站点数据和配置需要适当的访问控制。其中包含的任何服务密钥材料都特别敏感,在存储和恢复期间必须保持私密。
前往来源。
这些参考资料支持本指南中的技术概念。在更改生产系统之前,请遵循当前文档。
- Tor Project:设置你的洋葱服务 community.torproject.org
- Tor Project:高级洋葱服务设置 community.torproject.org
- Tor Project:客户端授权 community.torproject.org
由 SwissOctet 提供编辑指导。示例仅作说明。服务规格、可用选项和合同条件必须单独核实。