In diesem Artikel möchte ich die Sicherheitsarchitektur der cloud-Lösung beschreiben.
Ich werde dabei auch etwas in die technischen Details gehen, soweit notwendig und hilfreich.
Auktuell benötigt das System mindestens zwei Server:
Ein virtualisierter Server, der die Installation von open3A und den anderen Anwendungen hostet,
sowie einen Backup-Server.
Zu letzterem komme ich in einem weiteren Artikel, zunächst möchte ich den Anwendungsserver beschreiben und warum er sicher ist.
Die einfachste Methode um den Zugriff auf einen Server zu limitieren, ist, die Anzahl der offenen Ports zu reduzieren. Daher hat der Anwendungsserver nur zwei offene Ports:
Port 443 für die HTTPS-Verbindungen
Auf Port 443 bauen die Browser die Verbindung zum Apache Webserver auf, um die Anwendungen aufzurufen.
Port 22 für das Management via SSH
Der SSH-Server wurde so konfiguriert, dass ein Login als Root-Benutzer und mit Passwort nicht möglich ist. Zulässig ist also nur ein neu angelegter Benutzer, der sich mit einem von zwei unterschiedlichen Schlüsseln ausweisen kann:
Ein Schlüssel zur Verwaltung
Ein Schlüssel für das Deployment-System, um neue Versionen hochzuladen
Der Zugriff auf den Server ist also immer verschlüsselt und der Management-Zugang nur durch nicht erratbare Schlüssel erreichbar.
Die Struktur der Installation
Es gibt für alle Benutzer nur eine Anwendungsinstallation, so dass sich ein Update immer auf alle auswirkt. Dabei bleibt die alte Version stets erhalten, so dass im Fehlerfall schnell auf diese zurück gewechselt werden kann.
Die von den Benutzern hochgeladenen Dateien liegen dabei außerhalb des Versionsverzeichnisses.
Um die unterschiedlichen Benutzer untereinander zu trennen und einen gegenseitigen Zugriff auf die Daten zu verhindern, erhält jeder Benutzer eine eigene Datenbank im MySQL-Server mit eigenem MySQL-Benutzer, der nur auf diese Datenbank zugreifen kann.
Diese Zugangsdaten werden in einer Datenbank gespeichert, an Hand der ID in der URL ausgelesen und der Anwendung für die Verbindung übergeben. Wenn die ID aus der URL nicht mehr mit dem Datenbankbenutzer übereinstimmt, löscht die Anwendung die Zugangsdaten und sie werden erneut passend ausgelesen. Das verhindert ein gegenseitiges Auslesen der Daten nach bereits gestarteter Anwendung.
Warum ein virtualisierter Server und kein root-Server als Anwendungsserver?
Die virtualisierten Server haben den Vorteil, dass sie auf einer viel größeren Maschine laufen, als es ein dedizierter root-Server wäre. Die Verantwortung für die korrekte Funktionsweise der Hostmaschine wird damit an den Provider übertragen, der sich um Festplattenausfälle und andere Probleme kümmern muss.
Außerdem lassen sich virtuelle Maschinen leichter auf neue Instanzen kopieren und umziehen, falls zusätzliche Kapazitäten benötigt werden.
Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen.
Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag des Vertragsabschlusses.
Um Ihr Widerrufsrecht auszuüben, müssen Sie uns (open3A GmbH, Vertreten durch Dipl.-Inf. Univ. Nena Furtmeier, Schloßbergstraße 47, 86688 Marxheim, ) mittels einer eindeutigen Erklärung (z.B. ein mit der Post versandter Brief oder eine E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist.
Sie können das Muster-Widerrufsformular oder eine andere eindeutige Erklärung auch auf dieser Webseite elektronisch ausfüllen und übermitteln. Machen Sie von dieser Möglichkeit Gebrauch, so werden wir Ihnen unverzüglich (z.B. per E-Mail) eine Bestätigung über den Eingang eines solchen Widerrufs übermitteln.
Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.
Folgen des Widerrufs
Wenn Sie diesen Vertrag widerrufen, haben wir Ihnen alle Zahlungen, die wir von Ihnen erhalten haben, einschließlich der Lieferkosten (mit Ausnahme der zusätzlichen Kosten, die sich daraus ergeben, dass Sie eine andere Art der Lieferung als die von uns angebotene, günstigste Standardlieferung gewählt haben), unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei uns eingegangen ist. Für diese Rückzahlung verwenden wir dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben, es sei denn mit Ihnen wurde ausdrücklich etwas anderes vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet.
Haben Sie verlangt, dass die Dienstleistungen während der Widerrufsfrist beginnen sollen, so haben Sie uns einen angemessenen Betrag zu zahlen, der dem Anteil der bis zu dem Zeitpunkt, zu dem Sie uns von der Ausübung des Widerrufsrechts hinsichtlich dieses Vertrages unterrichten, bereits erbrachten Dienstleistungen im Vergleich zum Gesamtumfang der im Vertrag vorgesehenen Dienstleistungen entspricht.