1. Verschlüsselung
In Zeiten von verdachtsloser Überwachung durch Geheimdienste sind Verschlüsselungstechniken essentiell. Ein SSL-Zertifikat für das Projekt »Raus aus der Cloud!« stellt somit eine Mindestanforderung dar. Nur so können Kalender, Kontakte, E-Mails und weitere private Daten weltweit »sicher« abgerufen werden.
Über die Administrationsoberfläche Genesis von arkOS lässt sich ein solches SSL-Zertifikat ausstellen. Dafür wird nicht zwingend eine Zertifizierungsstelle (Certificate authority, CA) benötigt – SSL-Zertifikate können ebenfalls selbst unterschrieben werden.
Rückblick: Das Projekt »Raus aus der Cloud!« soll zeigen, ob Privatanwender in der Lage sind Kalender, Kontakte, E-Mails und weitere private Daten selbst zu hosten. Gelingt mit arkOS eine Flucht aus der Cloud-Isolationshaft?
Update
19.06.2017: Das arkOS Projekt wurde eingestellt. Der Quellcode ist weiterhin auf GitHub einsehbar.
- Projekt arkOS: Raus aus der Cloud!
- Projekt arkOS: Hardware und Installation
- Projekt arkOS: Erste Konfigurationsschritte
- Projekt arkOS: Installation SSL-Zertifikat
2. Selbst ausgestelltes SSL-Zertifikat
Wenn eine Webseite über HTTPS bzw. das SSL-Protokoll erreichbar gemacht werden soll, benötigt der Betreiber ein Zertifikat. Beim Aufruf der Webseite prüft der Browser anschließend bestimmte Kriterien dieses Zertifikats bevor eine verschlüsselte Verbindung aufgebaut wird. Dazu zählen beispielsweise der Zeitraum der Gültigkeit und ob das Zertifikat von jemandem unterschrieben wurde – jemand bedeutet in diesem Fall eine Zertifizierungsstelle (Certificate authority, CA). Diese CAs verteilen sich auf verschiedene Länder und oftmals ist nicht nachvollziehbar, welches Unternehmen oder Regierung eigentlich dahinter steckt. Transparenz und Vertrauen bietet die heute herrschende »Aussteller-Lotterie« eher nicht mehr. Eine Alternative sind selbst ausgestellte SSL-Zertifikate, die allerdings dann nicht von einer CA unterschrieben werden sondern vom Ersteller selbst. Hierbei ist dann Folgendes zu beachten:
- Browser reagieren auf selbst ausgestellte SSL-Zertifikate mit einer Warnmeldung, da sie über keine Unterschrift einer bekannten CA verfügen. Jeder Browser wird mit einer Liste von CA-Zertifikaten ausgeliefert – die Liste von Firefox lässt sich online einsehen.
- Ganz umsonst sind diese Browser Warnmeldungen jedoch nicht, sondern sollen eigentlich sicherstellen, dass niemand die verschlüsselte Verbindung abhören bzw. umleiten kann. Ein Zertifikatsfehler bzw. die Warnmeldung erscheint auch dann, wenn ein Angreifer einen Man-in-the-middle-Angriff durchführt. Dadurch wäre er in der Lage die Anmeldedaten im Klartext mitzuschneiden.
arkOS stellt SSL-Zertifikate selbst inklusive Unterschrift aus. Damit entfällt der Schritt das Zertifikat von einer CA beglaubigen zu lassen. Was wiederum folgende Vorteile bietet:
- Eine Beglaubigung bzw. Unterschrift durch eine CA kostet Geld. Je nach SSL-Zertifikatstyp variieren die Preise von wenigen Euro bis in den vierstelligen Bereich. Eine kostenlose Variante wird über CAcert angeboten – allerdings mit der Einschränkung, dass die CA vom Anwender selbst in aktuelle Browser integriert werden muss.
- Der Validierungsprozess bei einfachen SSL-Zertifikaten ist eine Lachnummer und wird im Prinzip vollautomatisiert durchgeführt. Somit steht der Aufwand in keinem Verhältnis zu den Kosten.
- Vertrauen ist das Schlüsselwort. Kann einer CA vertraut werden? Wer steht hinter diesen CAs? Der Browser prüft lediglich, ob sich eine CA in seiner Liste befindet. Per Gesetz könnten Regierungen beispielsweise Druck auf CAs ausüben, um selbst erstellte Zertifikate unterschreiben zu lassen. Diese könnten dann ahnungslosen Nutzern beim Aufbau einer verschlüsselten Verbindung untergeschoben (Man-in-the-middle-Angriff) werden. Hierbei würde der Browser keine Warnmeldung ausgeben, da das Zertifikat von einer öffentlichen Stelle unterschrieben wurde.
Wie man es auch dreht und wendet. Aus meiner Sicht spricht nichts gegen ein selbst ausgestelltes SSL-Zertifikat im Kontext des Projekts »Raus aus der Cloud!«.
3. Vorarbeit
Das arkOS bzw. die bereitgestellten Services, wie E-Mail, Kalender und dergleichen sollen später aus dem Internet erreichbar sein. Im ersten Schritt wird daher eine feste IP-Adresse festgelegt.
Der Kuketz-Blog ist spendenfinanziert!
Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.
Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.
3.1 Feste IP-Adresse
Die Vergabe einer festen IP-Adresse wird über das Menü »Network Settings« bewerkstelligt. Über die Auswahl »Add Connection« wird eine neue Verbindung angelegt.
Bis auf die Einträge »Address/Netmask« und »Gateway« sind alle weiteren Angaben 1:1 zu übernehmen. Im Feld Address/Netmask wird anschließend die feste IP-Adresse des arkOS-Systems eingetragen (inklusive Klammer und /24 hinter der IP), gefolgt von der IP-Adresse eures Routers.
Im Anschluss muss die neu angelegte Verbindung mit einem Klick auf »Enable« aktiviert werden – nach einem Neustart ist arkOS über die feste IP-Adresse bzw. weiterhin über http://arkos:8000 erreichbar.
Für die Anhäger der Konsole / Terminal:
cp /etc/netctl/examples/ethernet-static /etc/netctl/ethernet-static nano /etc/netctl/ethernet-static
[Defintion der IP-Adresse]
netctl enable ethernet-static
3.2 DynDNS
Mit Dynamic DNS ist es trotz wechselnder IP-Adresse möglich, das arkOS unter einem konstanten Domainnamen aus dem Internet zu erreichen. Um dies zu ermöglichen wird ein DynDNS-Provider benötigt, der die aktuelle IP-Adresse eures Provider-Anschlusses im Internet abbildet. Dieser Vorgang ist von Router zu Router sehr unterschiedlich. In einem älteren Artikel (Fritzbox 6360 Dynamic DNS mit Two DNS als Anbieter) habe ich den Vorgang für eine FritzBox! erklärt. Anleitungen für andere Router und DynDNS-Anbieter findet ihr im Internet – einfach danach suchen.
Im Anschluss ist euer Internet-Anschluss bzw. der Router immer über den gleichen »Namen« erreichbar – auch wenn sich eure IP-Adresse ändert.
4. arkOS SSL-Zertifikat
Im Folgenden wird eine ownCloud auf arkOS installiert. Im Anschluss wird daran beispielhaft die Ausstellung eines SSL-Zertifikats dargestellt.
4.1 Installation ownCloud
Über »Applications« werden zunächst folgende zwei Anwendungen selektiert und installiert:
Binnen weniger Minuten sind die beiden Anwendungen in arkOS verfügbar. Anschließend wird die ownCloud als Webseite ins System eingebunden. Über »Websites« wird der Vorgang mit einem Klick auf »Add Website« gestartet. Selektiert dort im Popup den Eintrag ownCloud.
Alle erforderlichen Felder werden eingetragen – dazu zählt ebenfalls eine Kombination aus Username und Passwort, erreichbar über »App Settings«. arkOS wird alle erforderlichen Pakete herunterladen und die ownCloud verfügbar machen.
Danach ist die ownCloud über http://EURE-FESTE-IP-ADRESSE erreichbar.
4.2 Einbindung SSL-Zertifikat
Endlich – die Einbindung des SSL-Zertifikats. Dies erfolgt über »Certificates« und einem Klick auf »Generate certificate«.
Entscheidend ist das Feld »Server Address« – hier wird der Domainname eures DynDNS-Accounts aus Punkt 3.2 eingetragen. Weiterhin muss ein Häkchen bei ownCloud gesetzt werden, um das Zertifikat mit der ownCloud zu verknüpfen.
arkOS wird anschließend den Prozess starten und alles Weitere für euch erledigen. Der Vorgang beinhaltet sogar eine Port-Anpassung der ownCloud Anwendung, die ursprünglich auf Port 80 lief. Ab sofort lässt sich die ownCloud ausschließlich über eine HTTPS (Port 443) bzw. SSL-verschlüsselte Verbindung aufrufen:
https://EURE-FESTE-IP-ADRESSE - Beachtet das S hinter http!
4.3 Port-Weiterleitung
Sinn und Zweck der DynDNS-Einrichtung und anschließenden Einbindung des SSL-Zertifikats ist die dauerhafte und sichere Erreichbarkeit von arkOS Anwendungen – im Beispiel ownCloud. Allerdings wird der Router keine Anfragen an die arkOS aus dem Internet beantworten bzw. diese überhaupt weiterleiten. Hierfür muss eine Portweiterleitung eingerichtet werden, damit der Router die Anfrage an die private IP-Adresse der arkOS weiterreicht. Stellt ein Rechner außerhalb eures privaten Netzwerks dann einen Request an einen arkOS Dienst wird der Router diese über eine Tabelle zuordnen und dem System anschließend zustellen.
Im Folgenden ein Beispiel für solch eine Portweiterleitung auf einer FritzBox!. Zu finden im Menü »Internet -> Freigaben -> Portfreigaben«.
Nach Aktivierung der Portweiterleitung kann die ownCloud anschließend folgendermaßen von überall erreicht werden:
https://DYNDNS-ADRESSE - Beachtet das S hinter http!
Je nach Browser erhaltet ihr beim erstmaligen Aufruf der Adresse einen Warnhinweis. Ein Blick auf das Zertifikat:
Die Informationen stimmen mit den Angaben des Ausstellungsvorgangs überein, dem Zertifikat kann also vertraut werden. Für Firefox lässt sich eine dauerhafte Ausnahme einrichten.
4.4 SSL-Cert Test
Mit den Tools sslyze und sslscan lässt sich die SSL-Konfiguration von Servern überprüfen. Bei einem kurzen Test hat sich herausgestellt, dass arkOS auch solche SSL-Cipher-Suiten nutzt, die als unsicher gelten. Hier sollten die Entwickler nachbessern und lediglich SSL-Cipher anbieten, die aktuell als sicher gelten.
Hinweis
Weitere Infos zu dieser Thematik lassen sich hier finden:- Unsichere SSL-Verschlüsselung im Browser abschalten
- NSA abhörsichere SSL-Verschlüsselung für Apache und nginx
5. Fazit
Während der Durchführung der oben dargestellten Schritte wurde abermals deutlich, dass sich arkOS in einem frühen Entwicklungsstadium befindet. Laut Aussage von Jacob Cook soll arkOS ab 2014 richtig durchstarten und die Bedienung um ein vielfaches Vereinfachen. Das Ziel der Crowdfunding-Kampage – 45.000 US Dollar – wurde mittlerweile erreicht, was die Entwicklung nochmals beschleunigen sollte.
Anfang 2014 sollte dann hoffentlich auch der Installer für Windows Systeme zur Verfügung stehen und einige Bugs in arkOS gefixt sein. Bis dahin wird die Artikelserie pausiert – ihr dürft gespannt sein wie es weitergeht. Seid ihr der Anleitung bisher gefolgt, dann habt ihr schonmal eine ownCloud verfügbar, die sich weltweit über eine verschlüsselte Verbindung erreichen lässt.
Bildquellen:
Door Key: OpenClips, Creative Commons CC0
Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:
9 Ergänzungen zu “Projekt arkOS: Installation SSL-Zertifikat”
Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-ForumAbschließender Hinweis
Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.
StartCom bietet kostenlose Zertifikate, die von allen aktuellen Browsern ohne Warnmeldung akzeptiert werden. Nur für eigene Zwecke ist ein selbst signiertes Zertifikat natürlich völlig ausreichend.
Am besten wäre wohl ein eigenes Root-Zertifikat, mit dem man dann die Zertifikate für die eigenen Dienste signiert und dessen „Fingerabdruck“ man immer zB im Geldbeutel dabei hat. (Wenn man ganz sicher gehen will, verwendet man nur eigene Geräte, auf denen man sein Root-Zertifikat dann einfach importiert)
Zu den unsicheren SSL-Cipher-Suiten wurde sich unter den Fund-Questions [1] geäußert…
Soll also in zukünftigen Versionen geändert werden.
Danke Sam.
Kurzer Hinweis: Jacob Cook (der Entwickler von arkOS) liest den Blog hier ebenfalls und ich stehe mit ihm auch über E-Mail in Kontakt. Er kennt die Problematik mit den SSL-Ciphers.
Hallo Mike,
in einem Posting im heise-Forum las ich, das owncloud (ich selbst habe da keinerlei Erfahrungen) sehr ineffizient Daten synchronisiert:
https://www.heise.de/forum/Open-Source/News-Kommentare/arkOS-Die-eigene-Cloud-auf-dem-Raspberry-Pi/forum-84430/comment/
Ist dem so und ist Seafile wirklich eine Alternative (welches angeblich blockweise synchronisieren kann)? Wäre das ein Feature-Request wert?
Grüße, Stefan.
Kann ich dir erst im Februar beantworten. Bin gerade in Vietnam unterwegs. ;-)
Hallo Mike,
ich bin dir richtig dankbar für deinen tollen Beiträge. Derzeit freue ich mich besonders über deine Serie bezüglich Raspberry und Owncloud, was ich derzeit auch umsetze.Was mir momentan noch fehlt, sind Tipps hinsichtlich dem Konfigurieren einer Firewall. Ich würde mich sehr freuen auch hierzu eine Anleitung zu finden.
Vielen Dank und weiter so.
Inge
Hallo,
vielen Dank für den wunderbaren und sehr verständlichen Artikel. Ich hätte nur noch eine Frage. Meine OwnCloud auf meinem Raspberry funktioniert jetzt wunderbar mit SSL und HTTPS. Daher habe ich auch ein Zertifikat für ArkOS bzw. Genesis erstellt. Nun kann ich nur leider nicht mehr auf den Server zugreifen. Wenn ich dessen IP-Adresse plus :8000 eingebe (so habe ich bisher die Oberfläche aufgerufen), dann passiert lange nichts und dann kommt ein Fehler, dass die Seite nicht geladen werden konnte. Wie komme ich denn jetzt mit SSL auf die Oberfläche?
Grüße,
Caspar
@ Caspar
Nachdem du das Zertifikat installiert hast, ist die Seite nur noch via https erreichbar und der Port ist 443.
ArkOs gibt es mittlerweile ja schon in der Version „0.7 Noah“.
https://github.com/arkOScloud/core/releases
Hat hier schon jemand Erfahrungen damit gemacht?
Würde mir evtl auch solch einen kleinen Server zulegen um ensprechnde Dienste zu Hosten E-Mail, Kalender…etc. Scheint ja immer noch in der Entwicklung zu stecken.
Kann jemand mehr dazu berichten?