Kategorien
PC

ownCloud & Co. mit kostenlosen SSL-Zertifikat nutzen

Darf ich den Besucherstatistiken glauben, gehört der Artikel ownCloud – Die eigene Cloud auf dem eigenen Server jeden Monat zu den Top 3 der beliebtesten Artikel in diesem Blog.
Nun habe ich die Tage ownCloud mal wieder vermehrt genutzt – dazu aber in einem weiteren Artikel mehr – und wollte es mal für einen längeren Zeitraum produktiv einsetzen. Für einen produktiven Einsatz ist für mich persönlich allerdings Verschlüsselung unverzichtbar – ein SSL-Zertifikat musste her. Doch für eine vorerst einfache Spielerei möchte ich kein Geld in ein kostenpflichtiges Zertifikat investieren. Ein Zertifikat selbst signieren wäre natürlich eine Option, auf Fehlermeldungen habe ich allerdings genau so wenig Lust. Was bleibt? Ein kostenloses Zertifikat bei StartSSL beantragen. Das schöne bei den Zertifikaten ist, dass diese mittlerweile von allen gängigen Browsern akzeptiert werden und ihr keine Fehlermeldung von eurem Browser erhaltet.

Der Anbieter Startcom mit Sitz in Israel bietet jedem die Möglichkeit ein kostenloses StartSSL Free-Zertifikat zu beantragen. Die Verifizierung, ob ihr der aktuelle Domainbesitzer seid erfolgt per E-Mail. Die SSL-Zertifikate sind 1 Jahr gültig und müssen danach neu beantragt werden. Folgend möchte ich euch nun zeigen, wie ihr das SSSL-Zertifikat beantragt, auf eurem Webserver mit Apache installiert und OwnCloud beibringt mit SSL zu arbeiten. Grundsätzlich kann danach natürlich auch jedes andere System, beispielsweise eine WordPress-Installation über SSL aufgerufen werden. Als Basis gehe ich in diesem Artikel von einem fertig eingerichteten (Web-)Server aus, wie ich ihn im ersten Artikel über ownCloud eingerichtet habe. Eure ownCloud-Installation sollte dabei unter einer Subdomain erreichbar sein, beispielsweise owncloud.cloudlog.de – versucht es erst gar nicht, meine ownCloud liegt unter anderen Adresse. 🙂

Im ersten Schritt müsst ihr euch unter startssl.com einen Benutzeraccount anlegen. Dazu klickt ihr erst auf den Punkt Control Panel, anschließend auf Sign-up und gebt die benötigten Daten an. Daraufhin erhaltet ihr eine E-Mail mit einem Authentication Code, der eueren Account freischaltet. Ein Passwort gibt es übrigens nicht, der Login läuft mittels SSL-Zertifikat.

Habt ihr euch erfolgreich angemeldet müsst ihr zunächst bestätigen, dass euch die Domain gehört. Dazu wechselt ihr auf den Reiter Validations Wizard und wählt im Dropdown-Menü als Type, die Option Domain Name Validation aus. Klickt euch zum nächsten Schritt durch und gebt euren Domainnamen sowie das Toplevel an. Abschließend werden euch mehrere E-Mail-Adressen vorgeschlagen, an die ein Bestätigungscode verschickt wird, wählt eine vorhandene E-Mail-Adresse aus, klickt auf Continue und gebt den Code aus der E-Mail ein.
Sobald die Verifizierung abgeschlossen ist, wechselt ihr auf den Reiter Certificates Wizard und wählt als Certificate Target das Web Server SSL/TLS Certificate aus, den Punkt Generate Private Key könnt ihr durch einen Klick auf Skip ganz einfach überspringen.
Wir müssen nun ein Certificate Request (CSR) erstellen. Dazu öffnet ihr eine Konsole auf dem Server, auf welchem eure ownCloud-Installation läuft. In dem Verzeichnis eurer Wahl müsst ihr nun folgenden Befehl ausführen, den ihr vorher entsprechend anpassen müsst.

openssl req -new -nodes -newkey rsa:2048 -keyout owncloud.cloudlog.de.key -out owncloud.cloudlog.de.csr

Sind alle Abfragen angegeben solltet ihr zwei neue Dateien vorfinden, in meinem Fall owncloud.cloudlog.de.key und owncloud.cloudlog.de.csr. Letztere kopiert ihr lokale auf euren Rechner, öffnet diese mit einem Texteditor eurer Wahl, kopiert den gesamten Inhalt und geht zurück zum Textfeld in das ihr euren CSR reinkopiert. Im darauf folgenden Schritt müsst ihr eine Subdomain angeben, für die das Zertifikat gelten soll. In meinem Fall also owncloud.cloudlog.de. Die Eingaben müsst ihr noch ein letztes Mal bestätigen. Abschließend werden eure Daten überprüft und euer SSL-Zertifikat ausgestellt, was in der Regel innerhalb einer Stunde erledigt ist. Sobald eure Daten überprüft und euer Zertifikat ausgestellt wurde erhaltet ihr eine E-Mail.,

Im ersten Reiter Tool Box könnt ihr nun euer SSL-Zertifikat unter Retrieve Certificate anzeigen und in eine Textdatei abspeichern. Ich habe diese owncloud.cloudlog.de.crt genannt. Danach müsst ihr unter StartCom CA Certificates noch die Zertifikate StartCom Root CA (PEM encoded) sowie das Class 1 Intermediate Server CA herunterladen und auf eurem Server speichern.
Stand bis zu diesen Punkt sollte nun sein, dass ihr die folgenden Dateien habt – die Dateinamen sollten bei euch natürlich anders lauten:

– ca.pem
– owncloud.cloudlog.de.crt
– owncloud.cloudlog.de.key
– sub.class1.server.ca.pem

Ich habe für die vier Dateien ein neues Verzeichnis angelegt. Diese liegen bei mir unter /etc/apache2/ssl/. Wo ihr sie im Endeffekt speichert bleibt euch überlassen. Logischerweise am besten dort, wo nicht jeder Benutzer Zugriff hat.

Nun widmen wir uns wieder dem Server. Mittels a2enmod ssl muss im ersten Schritt das SSL-Modul für den Apache-Webserver aktiviert werden – sofern noch nicht geschehen. Anschließend nicht vergessen, den Webserver neu zu starten.
Überprüft danach, ob in der Datei /etc/apache2/ports.conf die folgenden Zeilen vorhanden sind:

1
2
3
<IfModule mod_ssl.c>
    Listen 443
</IfModule>

Sofern der entsprechende Abschnitt bei euch existiert, legen wir einen separaten VirtualHost für den SSL-Zugriff an. Folgend einmal eine beispielhafte Konfiguration, die sich mit Sicherheit noch erweitern lässt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<VirtualHost *:443>
        ServerName owncloud.cloudlog.de
        ServerAdmin email@adresse.de
        DocumentRoot /var/www/owncloud/
        <Directory /var/www/owncloud/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
   SSLEngine on
   SSLProtocol all -SSLv2
   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
   SSLCertificateFile /etc/apache2/ssl/owncloud.cloudlog.de.crt
   SSLCertificateKeyFile /etc/apache2/ssl/owncloud.cloudlog.de.key
   SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
   SSLCACertificateFile /etc/apache2/ssl/ca.pem
</VirtualHost>

Die meisten Punkte erklären sich denke ich mal von selbst. ServerNameDocumentRoot und Co. müsst ihr entsprechend anpassen. Im Grunde kann bis auf die Angabe des Ports zu Beginn und den Part mit SSL alles von eurer bereits vorhandenen Konfiguration übernommen werden. Speichert anschließend die neue Datei, aktiviert sie mittels a2ensite Dateiname und ladet die Konfiguration von Apache neu.
Nun sollte eure Installation von ownCloud bereits über einen Auruf per HTTPS erreichbar sein. Ich persönlich möchte allerdings noch, dass jeder Benutzer die ownCloud über HTTPS nutzt. Aber auch das ist schnell gemacht. öffnet die .htaccess-Datei im ownCloud-Ordner und ergänzt die folgenden Zeilen irgendwo unterhalb der Zeile RewriteEngine on.

1
2
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Anschließend sollte jeder Aufruf eurer ownCloud-Installation von HTTP auf HTTPS weiterleiten.

0 / 5

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.