===== BYOD Relais =====
==== Anforderung ====
Für die Nutzung von [[print2forms:nachrichten:20140829_web_anwendung_fuer_router|Sicherem Drucken oder Roaming]] in (p2f) wird eine App oder eine Web-Anwendung auf einem Smartphone oder Tablet eingesetzt, welche über das Netzwerk des Unternehmens Kommandos an den (p2f)-Router schicken, und so den Druck auslösen.
Dazu ist es notwendig, dass das betroffene Smartphone oder Tablet Bestandteil des Unternehmensnetzwerks wird. Im Falle, dass zu diesem Zweck Geräte der Firma zusammen mit einer entsprechenden VPN-Lösung zum Einsatz kommen, ist das sicherheitstechnisch unbedenklich.
Im Falle von Endgeräten, die Mitarbeitern oder gar externen Personen (Lieferanten, Kunden, etc) gehören, ist die Netzwerkanbindung dieser Geräte aus Sicht der Sicherheit aber äusserst problematisch. Es entsteht zumindest ein nicht unbedeutender Verwaltungsaufwand für die firmenfremden Geräte.
Von daher erscheint die Nutzung der App durch fremde Geräte und/oder Personen nicht praktikabel.
\\
\\
==== Realisierung ====
Mit dem (p2f)-Router, der mit dem (p2f)-Installer Build 289 ausgeliefert wird, steht jetzt eine Funktion zur Verfügung, die zusammen mit einer Art **Relais** ((Der Begriff Relais ist nicht im strengen Sinne des Wortes zu verstehen, weil die eingehenden Netzwerkpakete umgebaut werden müssen, bevor sie weitergeleitet werden.\\ \\ )), auf einem Server der SPE Systemhaus GmbH gewährleistet, dass beliebige Endgeräte mit Internetzugang auf den Router innerhalb einer Firma zugreifen können, ohne dass diese Endgeräte Verbindung zum Firmennetzwerkes haben. Es ist sogar sichergestellt, dass keinerlei Netzwerkpakete des Endgeräts das Firmen(-)netzwerk erreichen können.
Für alle beteiligten Netzwerkverbindungen zwischen Smartphone und dem Relais sowie dem Relais und dem Router wird eine **verschlüsselte HTTPS-Verbindung** (TLS 1.2) benutzt. Dabei werden zwei verschiedene Zertifikate eingesetzt, sodass schon alleine von daher kein Durchkommen von nicht geprüften Netzwerk(-)paketen des Smartphones möglich ist.
Die Inhalte, der vom Smartphone ankommenden Anfragen werden vom Relais entschlüsselt, entpackt, geprüft, ausgewertet, umkodiert, neu verschlüsselt und dann erst zum Router weitergeleitet. Der Rückweg von Antworten geschieht entsprechend.
Vereinfachtes Schema:
\\
{{ print2forms:tips:0077-3.png }}
\\
\\
Der funktionale Ablauf ist in etwa folgender:
* Der (p2f)-Router in der Firma nimmt von seiner Seite aus eine gesicherte Verbindung mit dem Relais auf. Dabei teilt er auch mit, mit welcher **Lizenznummer** ((Eineindeutige mindestens neunstellige Zahl, die von der SPE Systemhaus GmbH vergeben wird. Die Lizenznummer ist über eine Signatur geschützt, Sie kann im äussersten Notfall von der SPE Systemhaus GmbH auch nachträglich geändert werden.\\ \\ )) er läuft, und was seine **Objekt-Identifikation** ((Ein mindestens siebenstelliger alphanumerischer Kode, der vom (p2f)-Administrationsprogramm vergeben wird, und nicht vom Anwender geändert werden kann. Der Kode ist über eine Signatur geschützt.\\ \\ )) in (p2f) ist. Damit kann ein Relais die Router verschiedener Firmen auseinander halten.
* Damit diese Verbindung aufgebaut werden kann, ist es notwendig, dass die **Firewall** der Firma eine **abgehende (!) Verbindung** mit einer festen IP-Adresse (hier aktuell die [GetIP spe-systemhaus.net]) erlaubt. Diese Verbindung (rote Linien) wird dann für die Dauer der Laufzeit des Routers aufrecht erhalten. ((Damit die Leitung nicht von anderen Netzwerkkomponenten (Router, Gateways, Switches, etc) wegen Inaktivität abgebaut wird, sendet der Router etwa alle 30 Sekunden Keep-Alive-Pakete. Sollte die Verbindung trotzdem abgebaut werden oder zusammenbrechen, wird der Router sie schnellstmöglich wiederherstellen.\\ \\ )) Es kann sich also niemand quasi //von der Seite// in diese Verbindung einklinken.
* Wird auf dem Smartphone oder Tablet jetzt mit der (p2f)-Router-App oder mit einem simplen Browser die Adresse https://router.spe-systemhaus.net aufgerufen, wird eine weitere Verbindung zum Relais aufgebaut (grüne Linien). Auch hier wird bei der Anmeldung die Lizenznummer und die Identifikation des konfigurierten Routers übertragen ((Muss vom Benutzer der App oder Web-Anwendung vorher natürlich konfiguriert worden sein.\\ \\ )). Damit weiss das Relais, mit welchem Router das Smartphone verbunden werden will.
* Geschah der Aufruf nicht von einer App, sondern über einen Browser, wird dieser nach HTML, CSS und JavaScript-Dateien anfragen. Diese werden vom internen Web-Server des Relais direkt - ohne Beteiligung des Routers - ausgeliefert. ((Damit bekommen Browser immer die neueste Version der Web-Anwendung, die aber eventuell von der App etwas abweichen kann.\\ \\ ))
* Gelangt jetzt die Web-Anwendung im Browser oder die App an eine Stelle, an der sie XML-Dateien mit dynamischen Informationen benötigt, wird diese Anfrage erkannt und an den entsprechenden Router weitergeleitet. Dessen Antwort wird dann an die anfragende Web-Anwendung oder die App weitergeleitet.
\\
==== Konfiguration ====
{{print2forms:tips:0077-2.png}}
Auf Seiten des (p2f)-Routers gibt es im Kontrollfeld einen neuen Tab mit dem Namen **SSL Verbindung**. Hier wird unter **%%SSL%% Relay Server** die Adresse des Relais angegeben - immer **router.spe-systemhaus.net**. Die **Portnummer** ist immer fest **55522**.
Mit dem Eintrag unter **Zertifikat** wird bestimmt, mit welchem Zertifikat die %%SSL%%-Verbindung verschlüsselt werden soll. Bei der Installation von (p2f) wird ein festes für diesen Zweck von der SPE Systemhaus GmbH ausgestelltes Zertifikat mitgeliefert.
Es ist nicht (!) möglich, dieses Zertifikat auszutauschen, weil sowohl der Router als auch der Relais Teile des Zertifikats prüfen.
\\
Soll das erste Mal aus einer Android **App** heraus eine Verbindung zum Relais aufgebaut werden, muss als erstes die Konfiguration aktualisiert werden. Dazu wird auf das Zahnrad-Symbol in der rechten oberen Ecke der Startseite getippt. Es erscheint der nebenstehende Dialog.
Es wird unter **Netzwerkanbindung** eine Auswahlliste angeboten, aus der die Einstellung **Sicheres Relais (HTTPS)** auszuwählen ist.
Unter **Lizenznummer** ist die Zahl einzutragen, die in der XML-Datei der Lizenz unter dem Tag mit dem Namen **CustomID** zu finden ist.
Für die Eintragung unter **Kennzeichen des Routers** entnehmen Sie dem Administrationsprogramm von (p2f) die interne Bezeichnung des Routers. Es ist der alphanumerische Kode, der in der rechten Hälfte in der ersten Zeile hinter dem Wort 'Objekt:' angezeigt wird.
Nach Tippen auf die Schaltfläche **Abspeichern** ist die Konfiguration abgeschlossen.
Die App speichert die Daten in ihrem **lokalen Speicher**. Wird dieser aufgeräumt oder aus Platzmangel gelöscht, muss die Konfiguration wiederholt werden.
{{ print2forms:tips:0077-4.png?300}}
\\
Wird das erste Mal von einem **Browser** durch simples Surfen auf https://router.spe-systemhaus.net eine Verbindung zum Relais aufgebaut, muss als erstes die Konfiguration aktualisiert werden. Dazu wird auf das Zahnrad-Symbol in der rechten oberen Ecke der Startseite geklickt (oder getippt). Es erscheint der nebenstehende Dialog.
Unter **Lizenznummer** ist die Zahl einzutragen, die in der XML-Datei der Lizenz unter dem Tag mit dem Namen **CustomID** zu finden ist.
Für die Eintragung unter **Kennzeichen des Routers** entnehmen Sie dem Administrationsprogramm von (p2f) die interne Bezeichnung des Routers. Es ist der alphanumerische Kode, der in der rechten Hälte in der ersten Zeile hinter dem Wort 'Objekt:' angezeigt wird.
Nach einem Klick (oder Tippen) auf die Schaltfläche **Abspeichern** ist die Konfiguration abgeschlossen.
Die eingegebenen Daten werden im **internen Speicher** des Browsers abgelegt. Wird dieser Speicher vom Benutzer gelöscht, muss die Konfiguration wiederholt werden!
{{ print2forms:tips:0077-1.png?300}}
\\
==== Sicherheitsüberlegungen ====
Zur Betrachtung der Sicherheit dieser Lösung muss als erstes darauf hingewiesen werden, dass der Router nur **Metadaten** über Druckaufträge austauscht und niemals Druckdaten selbst. Deshalb kann es nicht passieren,
* dass sich jemand unberechtigt einen Druckauftrag ansehen oder gar holen kann,
* dass jemand einen Ausdruck auf einen anderen Drucker umleiten kann, als die Drucker, die in der Firma für diesen Router konfiguriert sind.
Die Frage, welche Informationen möglicherweise Unbefugten in die Hände fallen können, lässt sich wie folgt beantworten:
* Ein Benutzer, der die Lizenznummer und die Identifikationsnummer des Routers kennt, kann sehen, wie die Drucker und Gateways heissen, die von diesem Router kontrolliert werden.
* Ein Benutzer, der die Lizenznummer, die Identifikationsnummer des Routers, eine Benutzerkennung und die zugehörige PIN kennt, kann sehen, welche Druckaufträge für die verfügbaren Drucker oder Gateways vorliegen. Er kennt den Namen des Auftrags, die Warteschlange, in der der Auftrag steht, den Rechner und den Benutzer, der die Ausgabe erzeugt hat, die Druckzeit, die Seitenzahl und den (p2f)-Prozess, der den Auftrag bearbeitet hat.
Die grösste Gefahr besteht darin, dass ein Benutzer, der die Lizenznummer, die Identifikationsnummer des Routers, eine Benutzerkennung und die zugehörige %%PIN%% kennt, einen **Druckauftrag löschen** kann.
Diese Gefahr besteht vor allem natürlich bei ehemaligen Mitarbeitern. Es ist klar, dass deren Benutzerkennung und %%PIN%% im (p2f)-Administrationsprogramm schnell gelöscht gehören. Sollte es im Einzelfall ein Problem sein, dass dieser Personenkreis die konfigurierten Drucker und Gateways sieht, kann der Router im (p2f)-Administrationsprogramm neu angelegt werden. Er erhält dann eine neue Identifikationsnummer, die dann allerdings den aktuellen Benutzern mitgeteilt werden muss, damit diese ihre Konfiguration ändern können.
Für die Beantwortung der Frage, ob Daten der Firma A irgendwie fälschlich an Firma B gelangen können, ist wichtig zu wissen, dass dies von der Konstruktion her nur durch einen **Identitätsdiebstahl** möglich wäre. Das bedeutet, ein möglicher Angreifer müsste die Lizenznummer der Firma, die interne Identifikationsnummer des Routers, aber auch Benutzerkennung und das zugehörige Passwort kennen oder raten.
Das ist nicht unmöglich, aber die Konstruktionsregeln der Lizenznummern und der internen Identifikations(-)nummer des Routers machen es sehr schwierig, von Firma A auf Firma B zu schliessen.
Leichter ist natürlich der Identitätsdiebstahl innerhalb der Firma, weil dazu nur die Benutzerkennung und die %%PIN%% bekannt sein müssen. Das liegt aber weitestgehend in der Verantwortung der Firma, die den Router betreibt.
Die Frage nach der Verwundbarkeit der Lösung durch von aussen **eingeschleusten Schadcode** beschränkt sich weitestgehend auf die Verwundbarkeit des Relais. Hier kommen theoretisch viele Angriffszenarien aus dem Web-Umfeld in Frage. Da der im Relais eingestzte Web-Server ein minimalistischer, nur für diesen Zweck kodierter Server ist, ohne jedes serverseitige Skripting, dafür aber mit hart kodierten Zugriffsrechten, fallen viele der bekannten Angriffsmethoden aus.
Auf der Router-Seite des Relais werden ausschliesslich XML-Dateien ausgetauscht, die mit entsprechenden Parsern in DOMs konvertiert werden. Von daher besteht keine bekannte Möglichkeit, auf dieser Seite ausführbaren Kode zu transportieren.
Das Relais ermittelt und speichert im Regelbetrieb keine Daten über die angemeldeten Endgeräte oder Browser. Zur Analyse von technischen Anormalitäten oder gar Angriffen können jedoch Log-Dateien mitgeschrieben werden. Diese Daten werden ausschliesslich im Rahmen der DSGVO genutzt und anschliessend gelöscht.
\\
\\
==== Hinweise ====
* Es ist der SPE Systemhaus GmbH vollkommen klar, dass an den **Sicherheitsaspekten** der Lösung noch gehörig Potential nach oben ist. Aber es galt eine Lösung zu finden, die vom Installations- und Administrationsaufwand, sowie von den Zusatzkosten (für den Anwender 0 Euro) her in einem vernünftigen Verhältnis zur Aufgabe steht.
* Kunden mit hohen Sicherheitsanforderungen werden für Roaming und sicheres Drucken auf kosten(-)pflichtige Lösungen mit Chipkarten, RFID oder NFC zurückgreifen müssen. (p2f) unterstützt dies dadurch, dass die für die Identifikation des Benutzers notwendigen Metadaten im Druckdatenstrom mitgeliefert werden können.
* Es ist der SPE Systemhaus GmbH vollkommen klar, dass diese Lösung nicht mit hunderten von Benutzern in einer Firma funktioniert - dafür ist sie einfach auch nicht gedacht. Sollte wieder Erwarten irgendwann einmal ein Lastproblem auf dem Relais auftreten, werden wir das durch Duplikation des Relais lösen.
* Die SPE Systemhaus GmbH prüft zur Zeit, ob eventuell eine schwarze Liste von Smartphones geführt werden kann, die es erlaubt, Geräte schon auf dem Relais zu sperren. Das ist wegen der DSGVO allerdings juristisch heikel.
* Für die App des (p2f)-Drucker-/Gateway-Services kann dieses Relais nicht genutzt werden. Wenn in einer nächsten Version von (p2f) jedem Service auch ein Objekt zugeordnet wird, wird auch die Relais-Funktion nutzbar werden.
\\
\\