WebDAV unter Nginx einrichten

Der freie Webserver Nginx beherrscht nicht nur das gewöhnliche Ausliefern von Daten über HTTP und HTTPS, sondern verfügt daneben über weitere Module. Mit einem dieser Module kann WebDAV für eine Ressource bereitgestellt werden.

WebDAV steht dabei für Web-based Distributed Authoring and Versioning und basiert auf HTTP. Über WebDAV können Dateien im Internet bereitgestellt werden. Unter anderem ist WebDAV deshalb so interessant weil es die gleichen Ports wie HTTP nutzt und somit in den seltensten Fällen blockiert wird. Im ersten Schritt sollte das benötigte Modul installiert werden:

apt install libnginx-mod-http-dav-ext

Zur Nutzung des Modules für WebDAV muss die Konfiguration der jeweiligen Seite unter /etc/nginx/sites-available/ angepasst werden. In diesem Beispiel wäre dies:

nano /etc/nginx/sites-available/example

Zur dieser Konfigurationsdatei wird folgende Konfiguration hinzugefügt:

server {
        listen   443 ssl;
        listen [::]:443 ssl;

        ssl_certificate /etc/letsencrypt/live/example.org/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.org/privkey.pem;

        root /var/www/example;

        server_name example.org;

        location / {
                dav_methods     PUT DELETE MKCOL COPY MOVE;
                dav_ext_methods   PROPFIND OPTIONS;
                dav_access    user:rw group:rw all:rw;

                autoindex     on;
        }
}

In diesem Fall wird für die Domain example.org die WebDAV-Unterstützung aktiviert. Dateien können hierbei ohne weitere Authentifizierung herunter- und hochgeladen werden. Soll WebDAV abgesichert werden, so geschieht das über den Basic authentication. Dazu wird dem location-Part folgendes hinzugefügt:

auth_basic "restricted";
auth_basic_user_file /var/www/example/.htpasswd;

Die .htpasswd-Datei kann mit dem Tool htpasswd erstellt werden:

htpasswd -c .htpasswd nutzer1

Bei der Nutzung wird das gewünschte Passwort erfragt. Soll ein weiterer Nutzer hinzugefügt werden, so muss der Parameter -c entfernt werden:

htpasswd .htpasswd nutzer2

Anschließend wird die Konfiguration von Nginx mittels:

service nginx reload

aktualisiert. Danach kann WebDAV für die Ressource verwendet werden.

Zwei-Faktor-Authentifizierung unter GitHub aktivieren

Mit einer Zwei-Faktor-Authentifizierung ist ein Account im Falle eines Passwortverlustes geschützt, da ein zweiter Faktor benötigt wird. Auch GitHub unterstützt seit einiger Zeit eine solche Authentifizierung. Auf der entsprechenden Nutzerseite findet man den Punkt Enable two-factor authentification.

GitHub unterstützt zwei Varianten der Zwei-Faktor-Authentifizierung

GitHub unterstützt zwei Varianten der Zwei-Faktor-Authentifizierung

Nachdem diese Option ausgewählt wurde, muss sich entschieden werden, ob man die Authentifizierung per SMS oder entsprechender Authentifizierungsapp, wie dem Google Authenticator, einrichten möchte.

Google Authenticator
Preis: Kostenlos
Google Authenticator
Preis: Kostenlos

Bei der Einrichtung muss ein Sicherheitscode (nach der Einrichtung der App, bzw. per SMS zugesendet) eingeben werden, um die Zwei-Faktor-Authentifizierung zu aktivieren. Danach werden Recovery-Codes von GitHub angezeigt, welche unbedingt gesichert werden sollten, da mit diesen auch bei Verlust des Authentifizierungsgerätes ein Zugriff auf das GitHub-Konto erhält.

Zwei-Faktor-Authentifizierung

Wenn man sich bei einem Webdienst anmeldet, so geschieht das meist mittels eines Passwortes. Das Problem an dieser Art von Authentifizierung ist das man nur mit Hilfe des Passwortes einen Account übernehmen kann. Bei der Zwei-Faktor-Authentifizierung läuft das ganze etwas anders. Hier bekommt der Nutzer zusätzlich noch ein Token oder muss sich mittels einer TAN oder seinem Fingerabdruck identifizieren.

twofactorauth.org

twofactorauth.org

Viele bekannte Webdienste bieten diese Möglichkeit der Authentifizierung mittlerweile an. Meist bekommt man eine SMS mit dem Code, oder nutzt einen Generator auf seinem Smartphone. Wenn man sich informieren möchte, ob der gewünschte Webdienst eine Zwei-Faktor-Authentifizierung unterstützt, so sollte man twofactorauth.org besuchen. Auf der Webseite ist übersichtlich dargestellt welche Dienste eine solche Authentifizierung anbieten und welche es planen. Auch ist es möglich dem Dienst direkt mitzuteilen, das man sich eine Zwei-Faktor-Authentifizierung wünscht.