ownCloud – Sicherer Zugriff via SSL

15
3792

Im Artikel “ownCloud auf dem Raspberry Pi” hatte ich beschrieben wie man aus dem RasPi eine eigene Cloud bastelt. Hier hatte ich erklärt, wie man das Ganze mit Apache realisiert.

Wie sichert man aber nun die ownCloud über eine HTTPS-Verbindung ab und erhöht so den Schutz der eigenen Daten im World Wide Web?

Folgende Schritte sind dazu nötig.

sudo bash
mkdir -p /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

Alle Abfragen werden hierbei im zu erstellenden Zertifikat hinterlegt. In die Abfrage “Common Name” muss die dynDNS-Adresse des jeweilig genutzten Anbieters eingetragen werden.

ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
chmod 600 /etc/apache2/ssl/apache.pem
exit

Danach ändert man die Konfigurationsdatei der Ports. Meine ports.conf sieht dabei wie folgt aus. Dabei ist aber der Eintag der IP entsprechend der des RasPis anzupassen.

sudo nano /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 192.168.1.60:80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Hierbei wird Apache vorgegeben auf Port 443 zu hören. Dieser ist jedoch noch via Portforwarding  im Router freizugeben, um die ownCloud über das Internet erreichbar zu machen.

sudo service apache2 reload
sudo a2enmod ssl
sudo service apache2 force-reload

Folgende Datei muss nun noch mit entsprechendem Inhalt erstellt werden.

sudo nano /etc/apache2/sites-available/ssl
<virtualhost *:443>
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
        DocumentRoot /var/www
</virtualhost>
sudo a2ensite ssl
sudo service apache2 force-reload

Nach dem Aufruf von https://”eigene DynDNS-Adresse” muss das Zertifikat (wie hier im Firefox-Browser) noch zu bestätigt und als Ausnahme hinzugefügt werden.

news-289

news-290

Viel Spaß!

15 Kommentare

  1. Hallo Frank,

    dank Deiner tollen Anleitung konnte ich Owncloud bereits auf meinem Pi installieren. Nun wollte ich noch nach dieser Anleitung den SSL Zugriff ermöglichen. Leider klappt das nicht so. Gleich am Anfang gibt es eine Fehlermeldung:

    pi@raspberrypi ~ $ sudo bash
    root@raspberrypi:/home/pi# sudo bashmkdir -p /etc/apache2/ssl
    sudo: bashmkdir: command not found

    Hast Du dafür eine Lösung? Ich greife von OSX aus über den Terminal per SSH auf den Pi zu.

    Mich würde außerdem interessieren, ob Du weißt, wie man den SSL-Port ändern kann, falls man schon eine Anwendung im Netzwerk hat, die auf dem Standard SSL-Port hört.

    Ich würde auch gerne auf dem gleichen Pi einen Mailserver betreiben. Hast Du das schon mal probiert? Ich weiss, es gibt sicherlich genug Anleitungen im Internets aber Deine sind ungelogen immer die anschaulichsten und verlässlichsten.

    Besten Dank

      • Lieber Frank,

        vielen Dank für die rasche Antwort. Der Schritt hat dann geklappt. Jetzt habe ich aber ein paar Zeilen weiter wieder eine Fehlermeldung bekommen:

        root@raspberrypi:/home/pi# ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
        bash: lt: command not found
        bash: /etc/apache2/ssl/apache.pem: Permission denied
        unable to load certificate
        3069396176:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

        Gehört das so? (lt: command not found” usw.) Kann ich da einfach so drüber weggehen oder ist das was falsch gelaufen?

  2. Noch ein Nachtrag: Bei meiner letzten Antwort sieht es so aus, als würden Teile des Befehls fehlen. Das ist aber nur beim Rauskopieren aus meinem Terminal entstanden. Ich habe die 4. Befehlszeile aus deinem Beitrag komplett kopiert und bei mir eingefügt und dann die Fehlermeldungen “lt: command not found” sowie “permission denied…” erhalten.

      • So, es hat etwas gedauert aber dank Deiner Hilfe hat es gut geklappt.

        Deine Anleitungen sind wirklich klasse und lassen sich sehr einfach umsetzen. Was ich besonders gut finde, ist dass Du hier quasi eine Komlplettanleitung rund um OwnCloud mit dem Pi anbietest. Der Vorteil davon ist, dass alles quasi von Dir selbst umgesetzt und geprüft ist und eben alles aus einer Hand kommt.

        Bevor ich Deinen Blog gefunden hatte habe ich mir für die einzelnen Schirrte (Installation, SSH, USB-Stick…) verschiedene Anleitungen von verschiedenen Quellen gesucht, die sich zum Teil unterschieden und so für mehr Verwirrung als Hilfe sorgten. Hier kann man sich aber darauf verlassen, dass es funktioniert.

        Danke für Deine Arbeit hier.

Kommentieren Sie den Artikel

Bitte bestätige diesen Kommentar!
Bitte den Namen hier eingeben

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.