Onion Lab: Von zu Hause hosten und ausgehenden Traffic durch Tor leiten
Ich finde Tor aus einem sehr praktischen Grund unglaublich cool: Ich kann einen Webservice auf einem Rechner zu Hause verfügbar machen, ohne Portforwarding auf meinem Router einzurichten und ohne irgendwo eine Domain zu registrieren.
Den Service lokal starten, Tor einen Onion Service erstellen lassen und die .onion-Adresse teilen. Wer Tor Browser verwendet, kann ihn erreichen, obwohl ich keinen HTTP-Port ins Internet geöffnet habe. Dass sich diese Möglichkeit mit so einem kleinen Setup umsetzen lässt, finde ich faszinierend.
Ich habe Onion Lab gebaut, damit sich diese Idee mit Docker Compose leicht ausprobieren lässt. Die Demo stellt eine kleine Website und einen SSH-Service über Tor bereit, ohne Web- oder SSH-Ports auf dem Docker-Host zu veröffentlichen.
Dann wollte ich die Demo weiter auf die Spitze treiben. Was wäre, wenn die Anwendungen auch ihren ausgehenden Traffic wieder durch das Tor-Netzwerk schicken müssten, selbst wenn sie nichts von Proxys wissen?
Daraus entstand die zweite Hälfte des Labs: Onion Services für eingehende Verbindungen, transparentes Tor-Routing für ausgehende TCP-Verbindungen der Anwendungen und alles in einem kleinen Compose-Stack definiert.
Weiterlesen