OwnCloud auf SSL umstellen inkl. Windows und MacOS Client

Nachdem Freunde immer wieder Probleme mit dem Zugriff auf meine Freigaben von OwnCloud hatten, wird es Zeit den Server von selbstsignierten Zertifikaten auf offiziell anerkannte Zertifikate einer anerkannten CA umzustellen. Dies ist heutzutage nicht einmal mehr teuer und geht recht schnell. Als Certificate Authority habe ich mich für Let’s Encrypt entschieden: https://letsencrypt.org/

Die Installation halte ich ganz knapp angelehnt an die Installationsanleitung bei Let’s Encrypt für CentOS/RHEL 7 Systeme.  Viele weiter Systeme sind hier beschrieben: https://certbot.eff.org/ jedoch nur auf Englisch.

Software mit YUM installieren:

$ sudo yum install certbot-apache

Zertifikate erstellen. Im Beispiel für diese Webseite:

$ certbot --apache -d hsww.de -d www.hsww.de


Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for hsww.de
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/hsww.de-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/hsww.de-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/httpd/conf.d/hsww.de.conf to ssl vhost in /etc/httpd/conf.d/hsww.de-le-ssl.conf

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://hsww.de

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=hsww.de
-------------------------------------------------------------------------------

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/hsww.de/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/hsww.de/privkey.pem
Your cert will expire on 2018-06-16. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Danach kommt noch eine Abfrage, ob automatisch auf die https Adresse umgeleitet werden soll. Wenn ihr nur eine URL auf dem Server verwaltet, so ist alles okay, wenn jedoch mehrer URLs auf https umgestellt, werden, so sind hier Nacharbeiten notwendig. Der CertBot erstellt anhand der vorhanden Konfigurationen neue Dateien für die SSL Konfiguration z.B.:

  • hsww.de-le-ssl.conf <- SSL Konfiguration
  • le-redirect-www.hsww.de:443.conf <- Zwangsumleitung

Die alte Konfiguration kann nun archiviert oder gelöscht worden, die hieß in meinem Fall hsww.de.conf. Sind mehrere URLs im Apache konfiguriert, so ist die le-redirect-www.hsww.de:443.conf anzupassen. Hier ist von der generellen Umleitung für alle Anfragen an den Server die für SSL umgestellt sind auf genau diese eine URL umzustellen:

ServerName www.hsww.de:443
ServerAlias www.hsww.de
ServerAlias hsww.de

ServerSignature Off

RewriteEngine On
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

ErrorLog /var/log/httpd/redirect.error.log
LogLevel warn

Cronjob für die Erneuerung der Zertifikate einrichten:
Zunächst einmal testen wir, ob alle Zertifikate, welche wir zuvor eingerichtet haben auch erneuert werden:

 sudo certbot renew --dry-run

Wenn dies funktioniert, so lassen wir dies als Job automatisiert und produktiv laufen. Da es verschiedene Limits wie z.B: Zertifikate pro Woche, Fehlversuche pro Tag, … ist es empfohlen eben erst den Dry Run laufen zu lassen oder wenn der Client getestet wird gegen die Testsysteme zu verbinden.

 vi /etc/crontab

folgende Zeile einfügen um regelmäßig die Zertifikate automatisiert erneuern zu lassen. Der Job läuft jeden Tag um 0 Uhr und um 12 Uhr – zweimal täglich.

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

OwnCloud Server httpd Konfiguration

Da mir durch den CertBot eine Konfiguration kaputt gemacht hat, hier der Abschnitt der Konfiguration, welche OwnCLoud benötigt, um ansprechbar zu sein.

Alias /owncloud "/var/www/owncloud/"


  Options +FollowSymlinks
  AllowOverride All
 
  Dav off
 

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud


OwnCloud Client unter Windows 10 anpassen

Nach den Änderungen zuvor hat mein Client nicht mehr funktioniert, da ich an dieser Stelle noch auf die IP gegangen bin und noch nicht auf den Domainnamen. Dabei ist mir erstmalig aufgefallen, dass es im Client nicht die Möglichkeit gibt ein Konto zu verändern, sondern nur ein Konto zu löschen oder ein neues anzulegen. Wer eine kleinen Workaround sucht, kann die Anwendung OwnCloud zunächst in der Taskleiste beenden.

Danach folgende Datei öffnen:

 C:\Users\\AppData\Local\ownCloud\owncloud.cfg

Wer diesen Orner nicht auf anhieb findet kann auch wie folgt vorgehen: WIN+R Taste ausführen und folgenden Befehl eingeben

%AppData%
Windows Dialog Ausführen %AppDAta%

Windows Dialog Ausführen %AppData%

In dem sich öffnenden Ordner einen Level höher gehen und von dort nach >> „local“ >> „ownCloud“ navigieren. dort liegt die Datei „owncloud.cfg“

Windows Ordner C:\Users\Holger Stridde\AppData\Local\ownCloud\

Windows Ordner C:\Users\Holger Stridde\AppData\Local\ownCloud\

Diese ist wie folgt aufgbebaut:

[General]
optionalDesktopNotifications=true

[Accounts]
version=2
0\url=https://SERVERNAME/owncloud
0\serverVersion=10.0.5.4
0\http_certificatePasswd=
0\http_certificatePath=
0\http_user=
0\authType=http
0\user=
0\General\CaCertificates="@ByteArray(-----BEGIN CERTIFICATE-----
- gelöscht -
\n-----END CERTIFICATE-----\n\n-----BEGIN CERTIFICATE-----
- gelöscht - 
-----END CERTIFICATE-----\n\n)"
0\http_oauth=false
0\Folders\1\localPath=C:/Users//ownCloud/
0\Folders\1\journalPath=._sync_12b345bc6c78.db
0\Folders\1\targetPath=/
0\Folders\1\paused=false
0\Folders\1\ignoreHiddenFiles=true

[Settings]
geometry=@ByteArray(\x1-gelöscht-\0)

[ActivityListHeader]
geometry=@ByteArray(\0-gelöscht-\0)

[ActivityErrorListHeader]
geometry=@ByteArray(\0-gelöscht-\0)

Hier musste ich in meinem Fall nur die Adresse zum Server anpassen. Dies wird auch notwendig, wenn von http auf https umgestellt wird.

OwnCloud Client unter MAC OS anpassen

Der Unterschied zu Windows ist an dieser Stelle nur die Lokalisierung der Datei. Diese befindet sich auf dem MAC unter:

/Users//Library/Application Support/ownCloud

Die Datei heißt auch hier owncloud.cfg

Leave a Comment

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