Projekt arkOS: Installation SSL-Zertifikat

1. VerschlüsselungarkOS

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.

Dieser Beitrag ist Teil einer Artikelserie:

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.

Mitmachen ➡

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.
Netzwerk-Verbindung
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.
Enable
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:
Apps
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.
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«.
SSL-Zertifikat
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«.
Portfreigabe
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:
SSL-Cert
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.
SSL-Cipher-Suites

Hinweis

Weitere Infos zu dieser Thematik lassen sich hier finden:

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

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

9 Ergänzungen zu “Projekt arkOS: Installation SSL-Zertifikat”

  1. Comment Avatar Klemens Schölhorn sagt:

    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)

  2. Comment Avatar Sam sagt:

    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.

    • Comment Avatar Mike Kuketz sagt:

      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.

  3. Comment Avatar Stefan sagt:

    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.

  4. Comment Avatar Inge sagt:

    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

  5. Comment Avatar Caspar sagt:

    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

  6. Comment Avatar Marco sagt:

    @ Caspar
    Nachdem du das Zertifikat installiert hast, ist die Seite nur noch via https erreichbar und der Port ist 443.

  7. Comment Avatar MadMax sagt:

    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?

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle 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-Forum

Abschließ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.