Jul 09

Umleitung zu https vor basic authentication

Tag: Sicherheit, Tricks & Kniffe, WebMartin @ 17:02

Um euch das stundenlange suchen, Apache doku lesen und rumprobieren zu ersparen, werde ich euch hier verraten wie man vor der HTTP-Authentifizierung zu HTTPS wechselt.

Das eigentliche Problem der Basic-Authentication ist, dass diese Passwörter und Nutzernamen im Klartext übertragen werden. Leider ist das ja nicht immer gewollt und unter umständen sehr unsicher.

So hier nun zur Konfiguration. Am einfachsten klappt es in dem Ihr, im zu schützenden Verzeichnis, eine .htaccess Datei anlegt und folgenden Inhalt hinzufügt:

AuthUserFile /var/www/domain.tld/secret/.htpasswd
AuthType Basic
AuthName "Secret Site"
require valid-user
SSLrequireSSL
ErrorDocument 403 /redirect.php

Die ersten 4 Einträge sollten klar sein. Mit SSLrequireSSL erzwingt man denn Zugriff via HTTPS. Wird die Domain nur mit HTTP aufgerufen, antwortet der Apache mit einem 403 Fehler. Dies fangen wir mit dem Eintrag ErrorDocument 403 /redirect.php ab. In diesem steht nur:

<?php
header('Location: https://www.domain.tld/secret/');
?>

So leiten wir alle normalen HTTP anfragen direkt auf HTTPS um. Danach erfolgt die Basic Authentication. Und schon wird die Authentifizierung nur noch über HTTPS abgewickelt.

Tolle Sache :-)

Schreib einen Kommentar

*
Um sicherzustellen das du kein Bot bist gib diesen Code ein.
Anti-Spam Image