Sichere Administrationsseiten mit SSL und mod_rewrite

Für die Administrationsseiten und Datenbankmanagetools, wie dem bekannten phpMyAdmin, sollte die Kommunikation sicherheitshalber verschlüsselt über SSL ablaufen. Damit ein automatischer Redirekt klappt, muss ein SSL-Zertifikat angelegt werden und unter Umständen von einer Cert signiert werden. Möglich ist auch die freie CAcert, wofür allerdings das Root-Zertifikat von ihnen installiert werden muss, um auf keine Fehler beim Betrachten der verschlüsselten Seite zu stoßen.

Anschließend wird ein neuer Virtualhost in Apache angelegt und über die folgenden zwei Zeilen das Zertifikat eingebunden.

        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem

Um automatisch auf die neuen Seiten umzuleiten, ist sind noch ein paar Zeilen in der Virtualhost-Direktive der Hauptseite notwendig. Dafür fügt man folgenden Abschnitt hinzu:

        RewriteEngine On
        # Rewriting www.ihreurl.de to SSL

        RewriteCond %{HTTP_HOST} ^www\.ihreurl\.de$
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule (.*) https://www.ihreurl.de/$1 [R=301,L]

Damit dieser Abschnitt funktioniert, muss die Regel AllowOverride von None auf FileInfo geändert werden. Auch All ist hier möglich. Ich würde es aber nur dem empfehlen, der es unbedingt braucht.

       AllowOverride FileInfo

Jetzt wird jeder Besucher (speziell der Admin) erst auf die SSL Seite umgeleitet und die Seiten dann verschlüsselt übertragen.

Leave a comment

Your comment