Protonet: Sicherheitslücke und bedenkliches Reverse-Proxy-Konstrukt im „einfachsten Server der Welt“
Update vom 20. Dezember 2013:
Protonet ist auf unsere Kritk in ihrem Blog eingegangen.
„… unser Proxydienst ist eben ein solches Hilfsmittel. Die Nutzung von DynDNS, Portforwarding und eigenen Zertifikaten ist natürlich auch mit der Protonet Box möglich, bedarf allerdings manueller Umstellung – und Expertenwissen.“
Ali Jelveh
Das Reverse-Proxy bleibt also erhalten, anstatt den Benutzern bei der Absicherung mittles SSL-Zertifikat etc. unter die Arme zu greifen – damit für die Benutzer die Handhabung der Box einfacher wird. Ich hoffe, das wird in Zukunft auch so an die Kunden kommuniziert.
Die Protonet-Box ist ein privater Server, der die Vorteile der Cloud mit der eigenen Datenhoheit verknüpft. Wir haben über das junge Startup Protonet schon mehrfach berichtet, zuletzt, um euch „Protonet Soul“, also das Interface der Protonet-Box, zu zeigen – und haben dabei einen Blick hinter die Kulissen geworfen.
Protonet: Vermeindliche Datenhoheit
Stolz zeigt das Team hinter Protonet einen Videoclip aus den ARD-Tagesthemen die über „Datensicherheit made in Germany“ berichten. Darin wird vom Misstrauen gegenüber Rechenzentren gesprochen und ein Protonet-Kunde meint: „Als Anwalt müsse immer der sicherste Weg gegangen werden […] die [Daten] möglichst in der eigenen Hand zu behalten“ und eine Stimme aus dem Off meint: „Seine Daten sollen den Raum nicht verlassen.“
Dass dem leider nicht so ist, beweist die Tatsache, dass schon bei den ersten Tests des Protonet-User-Interface Daten zuerst über das Internet bewegt wurden, bevor sie auf dem Server verfügbar waren, obwohl wir eigentlich die Daten lokal und direkt auf der Box abgespeichert hatten.
Zentraler Reverse-Proxy ermöglicht ein Ausspionieren
Lässt man die Protonet-Box wie im Auslieferungszustand konfiguriert und greift über die standardmäßig eingestellte protonet.info-Subdomain (zum Beispiel t3n.protonet.info) auf seine Protonet-Box zu, ist das zwar unheimlich bequem und der Transfer der Daten erfolgt – zumindest auf den ersten Blick – auch SSL-verschlüsselt. Was jedoch vermutlich die wenigsten Protonet-Kunden wissen können, ist die Tatsache, dass hierbei der komplette Datenverkehr zwischen dem Benutzer und der eigenen Protonet-Box über einen zentralen Reverse-Proxy-Rootserver von Protonet läuft, gehostet von hetzner.de. Schlimmer noch: Das Reverse-Proxy-Konstrukt ist aktuell so aufgebaut, dass ein Auslesen sämtlicher Daten der Protonet-Boxen durch die Firma Protonet nicht ausgeschlossen werden kann, da die eigene Box die Daten zwischen der eigenen Protonet-Box und dem Reverse-Proxy nur über ein Port-Forwarding innerhalb eines SSH-Tunnels vermittelt (siehe Grafik).
Dabei ist zu betonen, dass Protonet immer artikuliert hat, die Datenhoheit bliebe beim Kunden. Allerdings werden die Kunden bislang weder über den Reverse-Proxy aufgeklärt, noch haben sie eine Möglichkeit, dieses Konstrukt zu deaktivieren, sodass sie gezwungener Maßen – und entgegen der Ankündigungen – alle Daten automatisch durch die „Cloud“ bewegen müssen.
Nach langer Korrespondenz zwischen t3n und dem Entwickler-Team wurde heute von Protonet ein Update zur Verfügung gestellt, das eine Deaktivierung des Reverse-Proxys ermöglicht. Das Update behebt zudem einige kritische Sicherheitslücken, sodass jeder Protonet-Kunde schnellstmöglich updaten sollte.
Kritische Sicherheitslücke durch unsicheres Image-Proxy-Script
Neben dem Reverse-Proxy-Konstrukt sind uns bei Tests weitere Probleme mit der Protonet-Box aufgetreten. So war es uns zum Beispiel möglich, über das eingebaute Image-Proxy-Script der Protonet-Box (das zum Beispiel die Hintergrund-Fotos beim Login zur Verfügung stellt), vergleichsweise umfangreich über simple HTTP-Requests aus dem Internet heraus Grafiken aus dem internen Netz der Protonet-Box nach außen zu tunneln. Dazu gehörte auch das Ausspionieren der internen Infrastruktur durch das Image-Proxy-Script der Protonet-Box (Herausfinden von internen Webdiensten und des eingesetzten Router-Modells). Ebenso konnte die Protonet-Box durch das Image-Proxy-Script vergleichsweise einfach überlastet werden. In der neuesten Firmware-Version wurde das Image-Proxy-Script jetzt komplett ersetzt und die Sicherheitslücken geschlossen.
Update der Protonet-Box-Firmware
Für ein Update muss die eigene Protonet-Box zunächst auf die neueste Software-Version gebracht werden. Hierzu loggt man sich als Admin in das Protonet-Webinterface ein und klickt unter „Systemeinstellungen / Update“ auf „Jetzt Update installieren“. Die Protonet-Box installiert dann die aktuellste Firmware und startet anschließend neu.
Deaktivieren des Reverse-Proxy-Zugriffs
Nach dem Firmware-Update auf die zur Zeit aktuellste Version „AutumnAcorn (stable/41)“ steht im Webinterface die Funktion zur Deaktivierung des Reverse-Proxys über den Protonet-Hetzner-Server (von Protonet „Web-Freigabe“ genannt) zur Verfügung. Entgegen der etwas irreführenden Bezeichnung und Beschreibung, dass die Protonet-Box durch das Deaktivieren der Web-Freigabe nicht mehr von überall erreichbar sei, ist das jedoch nach wie vor möglich. Durch ein einfaches Port-Forwarding am eigenen Router und zum Beispiel mit einem der gängigen Dyn-DNS-Provider ist die eigene Protonet-Box weiterhin – und diesmal wirklich unabhängig von externen Rechenzentren und der Firma Protonet – an das Internet anzubinden. An dieser Stelle wünschen wir uns die Möglichkeit, ein eigenes SSL-Zertifikat über ein Webformular in die Protonet-Box einbinden zu können.
Offizielle Stellungnahme von Protonet
Natürlich haben wir die Firma Protonet frühzeitig mit der Reverse-Proxy-Thematik konfrontiert und um eine Stellungnahme gebeten.
Liebes T3N Team,
wir freuen uns, dass euch unser Produkt so gut gefallen hat. Wir freuen uns auch, dass ihr euch detailliert mit der Technologie von Protonet auseinandergesetzt habt. Für genau diese Transparenz liefern wir alle unsere Boxen mit dem vollen Protonet-Sourcecode aus. Wir glauben an eine Welt, in der jeder seine eigene Infrastruktur betreiben kann, ohne sich mit der Technik auseinandersetzen zu müssen.
Wenn jedoch die erste Experience beim Auspacken der Box die Aufforderung ist, einen eigenen Dyndns, Portforwarding und ein gültiges und vertrauenswürdiges Zertifikat einzurichten, dann werden wir dieser Vision nur sehr schwer näher kommen. Wir haben uns daher bewusst dazu entschieden hier einen zentralen Dienst einzurichten, diesen zu verwalten und um uns um Dinge wie Zertifikate und Verbindungssicherheit zu kümmern.
Eine solche zentrale Stelle birgt immer auch Risiken und Missbrauchspotential. Diese Risiken und Missbrauchspotentiale möchten wir minimieren und wir glauben fest daran, dass es in Zukunft gute – und vor allem einfache – Lösungen zu unseren heutigen Problemen in Sachen Konnektivität und Verschlüsselung geben wird (IPV6, veränderte CA-Trusting Regelungen).
Wir denken, dass wir heute einen guten Kompromiss zwischen Einfachheit und Sicherheit gefunden haben, der unseren Kunden eine gute out-of-the-box Experience ermöglicht und dennoch einen hohen Grad an Sicherheit bietet. Für diejenigen Kunden, die diesen Dienst nicht in Anspruch nehmen möchten, gab es bisher die Möglichkeit den Dienst über die Kommandzeile zu deaktivieren. Nach den Gesprächen mit der T3N-Redaktion haben wir uns entschieden die Funktionsweise unseres Dienstes aktiver zu kommunizieren und die Deaktivierung zu vereinfachen.
Wir sind davon überzeugt, dass die Zukunft des Internets verteilt ist, dass jeder von uns ein Stück sozialer, unglaublich einfach zu nutzender Infrastruktur besitzen wird und wir werden die Ersten sein, die die Abschaltung zentraler Dienste zelebrieren.
Ali Jelveh, CRO Protonet GmbH
Fazit: Alleinstellungsmerkmal adé?
Die Protonet-Box ist in vielen Punkten wirklich durchdacht und von ihrem Konzept wegweisend. Umso mehr sind wir verwundert, wie leichtfertig mit dem Alleinstellungsmerkmalen „Sicherheit“ und „Hoheit der eigenen Daten“ bei Protonet umgegangen wird. Jedem Protonet-Nutzer können wir nur empfehlen, seine Box dringend auf die neueste Firmware zu aktualisieren, die sogenannte „Web-Freigabe“ über den Protonet-Reverse-Proxy komplett zu deaktivieren und sich wie bei einem eigenen Server eine eigene Domain inklusive Port-Forwarding mit eigenem SSL-Zertifikat auf der Protonet-Box einzurichten, so wie das die meisten NAS-Anbieter wie Synology oder ähnliche Anbieter „out of the box“ anbieten. Protonet-Kunden sollten also spätestens jetzt hinterfragen, wie die Protonet-Box hinter der Kulisse funktioniert.
Neben den in unseren Tests aufgefallenen Problemen mit der Datensicherheit und offensichtlichen Sicherheitslücken sollten sich Kunden fragen, wie sie sich vor einem Ausfall der neu gewonnenen Datenfreiheit (Festplatten-Schaden, aber auch Software- oder Anwenderfehler) schützen können oder wie es mit einer Verschlüsselung der Daten auf der lokalen Festplatte der eigenen Protonet-Box aussieht – ganz besonders im Falle eines Diebstahls.
Nach unsere Einschätzung ist das Kernproblem, dass Protonet anscheinend Prioritäten falsch setzt und gute Bedienbarkeit gegen die angepriesene Datensicherheit und -hoheit tauscht: Ein Schuss ins eigene Knie?
Guter Bericht. Vor Allem in Anbetracht des extremen Preises der Box umso ärgerlicher.
Sehr fragwürdig. Nicht nur die technische Schwachstelle, sondern auch, dass diese nicht offen kommuniziert wurde. Das Vertrauen in diese Firma ist dahin.
Danke für den etwas vertieften Beitrag! Es ist ja nicht so einfach Details zur protonet Box im Netz zu finden. Ich denke, die Qualität der Arbeit der Leute vin Protonet sehen wir in der Reaktion auf Berichte wie diese. Die este Reaktion finde ich persönlich ganz ok. Nächste Schritte sollten also sein, ein paar advanced Features zu entwickeln. Ich wünsche mir am dringendsten:
1. Einfache Einrichtung eines eigenen Ssl-Zertifikats
2. Festplattenverschlüsselung bei hoher Performance nach dem Vorbild von Apples Filevault
3. Verschlüsseltes performantes Offsite-Backup, dass auf Blockebene nur die Änderungen synchronisiert, die notwendig sind
4. Versionierung
5. Papierkorb für versehentlich gelöschte Dateien
Ich hoffe sehr, dass Protonet nicht der Versuchung erliegt, den Fokus auf neue Features zu setzen, die zwar Applaus bringen, aber die Kernaufgabe der Box aus dem Blick verlieren. Und bitte keine Ressourcen für eine Consumer verschwenden. Ich bin aber auch optimistisch.
Nebenbei, ich habe so eine Box gekauft und hoffe, dass wir in unserem Unternehmen damit die nächsten Jahre produktiv arbeiten werden. Da muss sich die Box aber noch beweisen. Vielleicht berichte ich von meinen Erfahrungen demnächst mal auf meinem Blog.
Ich finde es wichtig, dass über solche Schwachstellen berichtet wird und auch zeugt es von gutem Stil, dass t3n die Korrespondenz mit protonet sucht – dafür ein Kompliment.
Das Fazit des Artikels finde ich allerdings etwas brüchig. Protonet ist gem. selbst gewähltem Slogan der „einfachste Server der Welt“ und nicht der sicherste. Einfachheit ist USP #1 und es sollte niemanden wundern, wenn einfachere Bedienung dann eben doch über der Sicherheit steht.
Der Bericht ist gut. Ich finde es allerdings ein wenig übertrieben dem Unternehmen vorzuwerfen, es habe Prioritäten vollkommen falsch gesetzt. Offensichtlich ist das Produkt für Unternehmen, die keine oder nur beschränkte IT_Ressourcen und Know-How in Ihrem Unternehmen zur Verfügung stehen haben. Für ein Start-Up ist es daher überlebenswichtig die Prioritäten dahin zu verschieben, dass genau diese Kunden es auch kaufen.
Dennoch ist Euer Bericht natürlich sehr wichtig, da er das Unternehmen nun dazu zwingt zumindest eine Alternative anzubieten. Die prompte Reaktion des Unternehmens finde ich aber sehr sympathisch, es scheint keinesfalls so als ob da jemand etwas verschweigen wollte.
Glückwunsch an Protonet: Wenn es schon Leute gibt, die dein Produkt in den Medien so kritisch diskutieren, dann hat man was geschafft – über die meisten Startups wird nicht annähernd so viel geredet wie Protonet. Das muss einen Grund haben.
Dass Protonet zügig reagiert und auf seine Kunden und Medien hört, das hätte man sich doch von Microsoft und Apple auch gewünscht. Das ist der große Vorteil: Protonet sitzt nicht im Elfenbeinturm Infinity Loop, sondern in Hamburg. Da arbeiten noch Leute, die einfach das geilste Produkt bauen wollen. Und keiner kann sagen, dass das einfach wäre. Deswegen helfen kritische Artikel wie dieser nur, das Ziel der Datensicherheit zu erreichen.
Und dieses Ziel ist immer ein Trade-Off zwischen Einfachheit und Sicherheit. Niemand kann erwarten, dass es von beidem immer die Perfektion geben wird. Dass Protonet hier zügig reagiert hat, zeigt mir doch als User, dass sie sich Gedanken dazu machen und fortschrittlich daran arbeiten, das Problem zu lösen. Da sehe ich als User gar kein Problem.
(P.S.: Ich für meinen Teil kann noch sagen: Wer einmal die Protonet-Software für Kollaboration, Projektmanagement, etc. ausprobiert hat, denkt anders. Das Ding ist der Hammer.)
Warum macht Protonet nicht einfach einen eigenen DynDNS Dienst hinter „t3n.protonet.info“?
Ist doch nicht so kompliziert und man ist weiterhin einfach UND sicher unterwegs ohne Reverse-Proxy.
Hallo Jakob,
Deinen Kommentar möchte ich so nicht stehen lassen, und zwar aus den folgenden Gründen:
1) Jemandem zu gratulieren, weil kritische Sicherheitslücken aufgedeckt wurden, halte ich für äußerst fragwürdig.
2) Protonet hat zügig reagiert. Sie wussten, weil wir sie darauf aufmerksam gemacht haben, Bescheid. Des weiteren haben wir ihnen auch eine Deadline gegeben.
3) „Das geilste Produkt“? Zu versuchen, „das geilste Produkt“ zu bauen, aber beim Sicherheitsaspekt so viele Schwachstellen zu produzieren und dann auch noch zu kommunizieren, dass Anwälte etc. diese Box verwenden könnten, passt einfach nicht zusammen.
4) Was Du persönlich meinst, schön und gut. Dabei lässt Du aber offensichtlich außer acht, wie hier mit höchst sensiblen Daten von Menschen (Klienten, Patienten etc.) umgegangen wird.
5) Die Tatsache, dass im Fernsehen von Datensicherheit und -hoheit gesprochen wird, das aber absolut nicht zutrifft, setzt dem Ganzen leider die Krone auf.