在 TOR 中使用 tomcat servlet 引擎

Use tomcat servlet engine with TOR

我想使用 Tomcat 作为 tor 网络上的 servlet 容器作为隐藏服务。在没有任何 IP 泄漏或堆栈跟踪泄露 IP 地址的情况下,最简单、最安全的方法是什么?

提前致谢

设置匿名 Tor/Tomcat 服务非常简单:

1.在 Tomcat 默认安装中,编辑 META-INF/context.xml 以仅允许来自 localhost:

的连接
<Context>
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
           allow="0:0:0:0:0:0:0:1,127\.0\.0\.1" />
</Context>

2。在 Tor 默认安装中,编辑 torrc 文件以提供通过 Tor 网络访问本地服务的权限,例如:

HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

(torrc 通常位于 /etc/tor。如果你在基于 debian 的发行版上设置它,比如 ubuntu,你应该使用他们的 repo,not the distro's repo )

就是这样。你完成了。你已经建立了一个匿名服务 ~ 这个世界上 99.99% 的人都无法破解,只要他们愿意(这个数字只是一个有根据的猜测,但你明白了)。

现在,请允许我稍微脱离特定主题,以便将您的问题放在上下文中:

这里真正的风险是您发布的内容的匿名泄露。三重检查你之前的那些 post 任何东西。

紧随其后的是您的应用程序代码或服务器堆栈的任何其他点上的漏洞。你将永远拥有那些。您必须始终领先一步,在其他任何有兴趣发现您网站的人之前发现它们并修补它们。

我不会讨论您可能打算或可能不打算做的事情的道德和伦理,但如果您不能理解和假设如果您的服务足够长的时间并且变得足够受欢迎,那么您不应该这样做最终会受到损害。因此,请准备好应对这种情况并制定应急计划/灾难恢复策略。

为了最大程度地降低风险,我建议您只部署具有经过全面测试的开源代码且积极维护的应用程序。稳定且最新的版本由具有多年安全性项目经验的技术人员编写。在投入生产之前,您的团队编写的每一行代码都必须经过仔细审查。除了该评论,请记住 any quality product should have at least 40% of the staff dedicated exclusively to test it。这既适用于用户体验,也适用于安全问题。我怎么强调都不为过:

始终保持一切最新

去掉你不需要的东西,只留下最低要求。检查后安全地擦除每个日志文件(一个相当简单的 logrotate 配置可以自动为你做,但不要忘记在擦除之前检查日志是否成功攻击。你会习惯它,因为大多数尝试都是非常很明显,过一会儿你就会知道哪些可以立即忽略,哪些你应该检查)。对公开的 API 方法或任何类型的用户输入要格外小心。清理并验证从另一端传入的所有内容。部署前彻底测试。如果您的服务变得流行,您需要可以信任的技术人员不断尝试以任何可能的方式破坏您的应用程序。您可以聘请安全公司对您部署的应用程序的基本代码进行审计。除非你是一个 24/7 全天候奉献的天才,否则你无法独自完成这样的任务。即使是顶尖天才也不会一夜之间成为 IT 安全专家;这需要大量的经验和努力。

一些有用的links:

作为奖励,这与技术无关,但是关于 disaster avoidance and recovery measures 的非常好的阅读和参考文档。