Wie OnionShare funktioniert
OnionShare startet Webserver lokal auf deinem Rechner und macht sie anderen Leuten als Tor `Onion-Dienste<https://community.torproject.org/onion-services/>`_ zugänglich.
Standardmäßig sind OnionShare-Webadressen mit einem privaten Schlüssel geschützt.
OnionShare-Adressen sehen etwa so aus:
http://oy5oaslxxzwib7fsjaiz5mjeyg3ziwdmiyeotpjw6etxi722pn7pqsyd.onion
Und private Schlüssel sehen etwa so aus:
K3N3N3U3BURJW46HZEZV2LZHBPKEFAGVN6DPC7TY6FHWXT7RLRAQ
Du bist für die sichere Weitergabe dieser URL und des privaten Schlüssels über einen Kommunikationskanal deiner Wahl verantwortlich, z. B. über eine verschlüsselte Chatnachricht oder über etwas weniger Sicheres wie eine unverschlüsselte E-Mail, je nach deinem Bedrohungsmodell.
Die Empfänger Ihrer URL müssen diese in ihrem Tor Browser öffnen, um auf den OnionShare-Dienst zuzugreifen. Der Tor Browser wird nach einem privaten Schlüssel fragen, welcher anschließend vom Empfänger, z.B. über Copy-Paste, eingegeben werden kann.
Solltest du deinen Laptop in den Ruhemodus versetzen und währenddessen Dateien mit jemandem teilen, so werden die Dateien erst versandt, sobald sich dein Laptop nicht mehr im Ruhemodus befindet. OnionShare funktioniert am besten, wenn du mit den Leuten, mit denen du Dateien teilst, in Echtzeit in Verbindung stehst.
Weil dein eigener Rechner der Webserver ist, hat kein Dritter Zugriff auf das, was in OnionShare passiert, nicht einmal die Entwickler von OnionShare. Es ist vollständig geheim. Und weil OnionShare auch auf Tors Onion-Diensten basiert, schützt es auch deine Anonymität. Für weitere Informationen siehe security design.
Dateien freigeben
Du kannst OnionShare dazu verwenden, um Dateien und Ordner sicher und anonym an andere Leute zu schicken. Öffne einfach einen Freigabe-Reiter, ziehe die freizugebenden Dateien und Ordner dort hinein und klicke auf „Freigabe starten“.
Nachdem du Dateien hinzugefügt hast, werden dir Einstellungsmöglichkeiten angezeigt. Wähle die passenden Einstellungen, bevor du die Freigabe startest.
Sobald jemand deine Dateien vollständig heruntergeladen hat, wird OnionShare das Teilen der Dateien automatisch beenden und die Webseite vom Internet nehmen. Um mehreren Personen das Herunterladen zu ermöglichen, öffne die Einstellungen von OnionShare und entferne den Haken bei „Server nach Download der Dateien stoppen“.
Wenn du diesen Haken entfernst, können Leute außerdem die Dateien einzeln herunterladen (anstelle einer einzigen komprimierten Datei, die alle Einzeldateien enthält).
Wenn du bereit zum Freigeben bist, klicke auf den „Freigabe starten”-Button. Du kannst jederzeit auf “„Freigabe beenden” klicken oder OnionShare beenden, um die Webseite augenblicklich vom Internet zu nehmen. Du kannst außerdem auf den „Nach oben”-Pfeil in der oberen rechten Ecke klicken, um dir den Verlauf und den Fortschritt der Downloads anzeigen zu lassen.
Jetzt, wo du eine OnionShare-Freigabe hast, kopiere die Adresse und schicke sie der Person, die die Dateien empfangen soll. Falls die Dateien vor Anderen geschützt bleiben sollen oder die Empfängerperson anderweitig in Gefahr ist, nutze einen verschlüsselten Messenger zum Senden der Adresse.
Diese Person muss nun die Adresse mit dem Tor Browser öffnen. Nachdem sie sich mit dem zufällig erzeugten Passwort eingeloggt hat, das in der Adresse enthalten ist, kann sie die Dateien direkt von deinem Rechner über den Link „Dateien herunterladen” in der Ecke herunterladen.
Dateien und Nachrichten empfangen
Du kannst OnionShare verwenden, um anderen Personen zu ermöglichen, anonym Dateien und Nachrichten direkt an deinen Computer zu übertragen, wodurch er quasi zu einer Art anonymer Dropbox wird. Öffne dazu den Tab „Empfangen“ und wähle die gewünschten Einstellungen.
Du kannst ein Verzeichnis zum Speichern von Nachrichten und Dateien auswählen, die übermittelt werden.
Du kannst die Option „Übermittlung von Nachrichten deaktiveren“ anwählen, wenn du nur Datei-Uploads zulassen möchtest. Umgekehrt ist das genauso möglich, wenn du nur Nachrichten zulassen möchtest, indem du „Hochladen von Dateien deaktivieren“ anwählst. So kannst du beispielsweise ein anonymes Kontaktformular errichten.
Du kannst die Option „Benachrichtigungs-Webhook verwenden“ anwählen und eine Webhook-URL festlegen, wenn du über neu eingetroffene Dateien oder Nachrichten bei deinem OnionShare Service benachrichtigt werden willst. Wenn du dieses Feature benutzt, stellt OnionShare jedes Mal, wenn eine neue Datei oder Nachricht eingetroffen ist, eine HTTP POST Anfrage an die von dir festgelegte URL. Wenn du beispielsweise eine verschlüsselte Nachricht über die Messaging-App Keybase erhalten willst, starte eine Unterhaltung mit dem @webhookbot, schreibe ``!webhook create onionshare-alerts``und der Bot antwortet mit einer URL. Diese URL verwendest du als Webhook-URL. Wenn nun jemand eine Datei oder Nachricht an deinen OnionShare Service übermittelt, erhältst du eine Nachricht vom @webhookbot auf Keybase.
Wenn du bereit bist, klicke auf „Empfangsmodus starten“. Jetzt startet der OnionShare Service. Jeder, der zu der angezeigte Adresse in seinem Tor Browser navigiert, hat die Möglichkeit, Dateien und Nachrichten direkt an deinen Computer zu übertragen.
Du kannst außerdem auf den „Nach unten”-Pfeil in der oberen rechten Ecke klicken, um dir den Verlauf und den Fortschritt der an deinen Computer übertragenen Dateien anzeigen zu lassen.
So sieht es aus, wenn dir jemand Dateien und Nachrichten sendet.
Wenn jemand Dateien oder Nachrichten an deinen Empfangsdienst überträgt, werden sie standardmäßig in einem Ordner namens OnionShare
in dem Home-Verzeichnis deines Computers abgelegt. Die empfangenen Dateien werden automatisch in Unterordnern anhand des Empfangszeitpunktes organisiert.
Ein solcher OnionShare-Empfangsdienst ist besonders für Journalisten und andere interessant, die Dokumente von anonymen Quellen erhalten. So genutzt, ist OnionShare sozusagen eine leichtgewichtige, einfachere und nicht ganz so sichere Variante von SecureDrop, einem Einsendesystem für Whistleblower.
Nutzung auf eigene Gefahr
Ähnlich wie bei bösartigen E-Mail-Anhängen kann es sein, dass jemand versucht deinen Rechner anzugreifen, indem er eine bösartige Datei auf deinen OnionShare-Dienst hochlädt. OnionShare selbst hat keine Sicherheitsmechanismen, um deinen Rechner vor solchen Angriffen zu schützen.
Wenn du ein Office- oder PDF-Dokument über OnionShare erhältst, kannst du diese in sichere PDF-Dateien überführen, indem du Dangerzone nutzt. Du kannst dich auch schützen, indem du nicht vertrauenswürdige Dokumente in Tails oder in einer Qubes-Wegwerf-VM öffnest.
Allerdings ist es stets unbedenklich, über OnionShare gesendete Textnachrichten zu öffnen.
Tipps für einen OnionShare-Empfangsdienst
Wenn du deinen eigenen anonymen OnionShare-Briefkasten betreiben willst, solltest du dies auf einem separaten, eigens dafür eingerichteten Rechner tun, der immer läuft und mit dem Internet verbunden ist; nicht mit dem Rechner, den du sonst regelmäßig benutzt.
Falls du deine OnionShare-Adresse auf deiner Webseite oder deinen Social Media-Profilen veröffentlichen willst, solltest du den entsprechenden Reiter speichern (siehe Reiter speichern) und den Service als öffentlich festlegen. (siehe disable password). In diesem Fall wäre es auch eine gute Idee, einen benutzerdefinierten Titel festzulegen (siehe Benutzerdefinierte Titel).
Eine Webseite hosten
Um eine statische HTML-Webseite mit OnionShare zu hosten, öffne den Webseiten-Reiter, ziehe die Dateien und Ordner hinein, aus denen die statische Webseite besteht, und klicke auf „Webseite veröffentlichen“.
Wenn du eine index.html
-Datei hinzufügst, wird sie beim Öffnen der Webseite dargestellt. Du solltest auch alle anderen HTML-Dateien sowie CSS- und JavaScript-Dateien und Bilder mit einbeziehen, aus denen die Webseite besteht. (Beachte, dass OnionShare nur statische Webseiten hosten kann. Es kann keine Webseiten hosten, die Code ausführen oder auf Datenbanken zugreifen. So kann man z.B. WordPress nicht verwenden.)
Wenn du keine index.html
-Datei hast, wird stattdessen eine Verzeichnisstruktur angezeigt; beim Aufruf können Personen die Dateien durchsehen und herunterladen.
Nachdem du Dateien hinzugefügt hast, werden dir Einstellungsmöglichkeiten angezeigt. Wähle die passenden Einstellungen, bevor du die Freigabe startest.
Content-Security-Policy
Standardmäßig sichert OnionShare deine Webseite, indem es einen strikten Content-Security-Policy-Header setzt. Das verhindert allerdings auch das Laden von Inhalten von Drittanbietern innerhalb deiner Webseite.
Wenn du Inhalte von Webseiten Dritter laden möchtest, z. B. Assets oder JavaScript-Bibliotheken aus CDNs, hast du zwei Möglichkeiten:
Du kannst das Senden eines Content Security Policy-Headers deaktivieren, indem du das Kästchen „Content Security Policy-Header nicht senden (erlaubt deiner Webseite, Ressourcen von Drittanbietern zu verwenden)“ aktivierst, bevor du den Dienst startest.
Du kannst einen benutzerdefinierten Content Security Policy-Header senden.
Tipps zum Betreiben eines Webseiten-Dienstes
Falls du eine Webseite längerfristig über OnionShare anbieten (also nicht nur kurz jemandem etwas zeigen) möchtest, solltest du dies auf einem separaten, eigens dafür eingerichteten Rechner tun, der immer läuft und mit dem Internet verbunden ist; nicht auf dem Rechner, den du sonst regelmäßig benutzt. Außerdem solltest du den entsprechenden Reiter speichern (see Reiter speichern), so dass du die Webseite dann mit derselben Adresse anbieten kannst, wenn OnionShare zwischenzeitig beendet und neu gestartet wird.
Wenn du deine Webseite öffentlich betreiben willst, solltest du sie als öffentlichen Dienst starten (see disable_passwords).
Anonym chatten
Mit OnionShare kannst du einen komplett anonymen, sicheren Chatroom aufsetzen, der nichts aufzeichnet. Öffne einfach einen Chat-Reiter und klicke auf „Chat starten“.
Nachdem du den Dienst gestartest hast, kopiere die OnionShare-Adresse und schicke sie den Leuten, die dem anonymen Chat beitreten sollen. Falls es wichtig ist, den Teilnehmerkreis strikt zu beschränken, solltest du einen verschlüsselten Messenger zum Teilen der OnionShare-Adresse verwenden.
Man kann dem Chatroom beitreten, indem man die OnionShare-Adresse im Tor Browser aufruft. Der Chatroom setzt JavaScript voraus, d.h. jeder Teilnehmer muss im Tor Browser seinen Sicherheitslevel auf „Standard“ oder „Safer“ (anstelle von Safest) setzen.
Beim Betreten des Chatrooms wird einem ein zufällig erzeugter Name zugewiesen. Man kann den Namen ändern, indem man einen neuen Namen im Textfeld in der linken Seitenleiste eingibt und Enter drückt. Ein Chatverlauf wird nicht angezeigt, selbst wenn andere bereits zuvor im Chatroot gechattet hatten, da der Chatverlauf nirgendwo gespeichert wird.
In einem OnionShare-Chatroom ist jeder anonym. Jeder kann seinen Namen beliebig ändern und die Identität der Nutzer kann nicht überprüft werden.
Allerdings kannst du dir einigermaßen sicher sein, dass die Leute im Chatroom auch wirklich deine Freunde sind, wenn du die OnionShare-Adresse nur an eine kleine Anzahl vertrauenswürdiger Freunde über einen verschlüsselten Kanal geschickt hast.
Wozu soll das gut sein?
Worin liegt der Sinn in OnionShare-Chatrooms, wenn du ohnehin einen verschlüsselten Messenger benutzen solltest? Sie hinterlassen weniger Spuren.
Solltest du zum Beispiel eine Nachricht an eine Signal-Gruppe schicken, dann bleibt eine Kopie deiner Nachricht auf jedem Gerät aller Teilnehmer der Gruppe.
OnionShare-Chats ermöglichen es außerdem einander unbekannten Personen, miteinander zu chatten ohne dafür eigene Benutzerkonten erstellen zu müssen. Beispielsweise könnte eine Quelle einem Journalisten über eine Wegwerf-E-Mail-Adresse eine OnionShare-Adresse schicken und dann warten, bis der Journalist den Chat betritt, ohne dass die Quelle dabei ihre Anonymität gefährdet.
Wie funktioniert die Verschlüsselung?
Weil OnionShare auf Tors Onion-Dienste aufbaut, sind alle Verbindungen zwischen Tor Browser und OnionShare Ende zu Ende verschlüsselt (E2EE). Wenn jemand eine Nachricht in einem OnionShare-Chatroom absetzt, wird diese durch die E2EE-Onion-Verbindung an den Chatserver gesendet, welcher sie dann wiederum an alle anderen Mitglieder des Chatrooms über sog. WebSockets weiterschickt, wiederum durch deren eigene E2EE-Onion-Verbindungen.
OnionShare bringt keine eigene Chatverschlüsselung mit sich. Die Verschlüsselung beruht stattdessen auf der des Onion-Dienstes.