Angriffe auf ein Joomla richten sich oft darauf, Zugang zum Backend zu erhalten. Im Normalfall erreicht man das Backend ja ganz einfach unter der Adresse www.deine-domain.de/administrator. Da also öffentlich bekannt ist, dass man hinter /administrator einfach Benutzername und Passwort ausprobieren kann, bis die Leitung glüht, sollte man darauf achten, dass nicht jedes Skript-Kiddie direkt Zugriff auf diese Seite hat.
Indem du diese Seite mittels sog. .htaccess-Schutz schützt, verringerst du die Chancen deutlich, dass ein einfacher Brute-Force-Angriff erfolgreich wird.

Wie geht das?

Um dein Backend mittels .htaccess-Schutz zu schützen, brauchst du zwei Dateien.
Eine ist die .htaccess-Datei und die andere ist die .htpasswd-Datei. Diese beiden Dateien musst du in das Verzeichnis /administrator deiner Joomla-Seite legen.

Hinweis: Manche Hoster bieten dir direkt in Ihren Konfigurationsoberflächen an, einen .htaccess-Schutz auf ein bestimmtes Verzeichnis zu legen. Dann folge einfach deren Anweisungen und du bist schnell gut abgesichert.

Falls dein Hoster das nicht anbietet oder du es selbst machen möchtest, folgen hier weitere Anweisungen:

Inhalt der .htaccess-Datei

Die .htaccess-Datei ist eine Anweisungsdatei für den Webserver. Sie gibt in diesem Fall eine Regel vor, wer Zugriff haben darf und wo der Webserver nachschauen soll.
Der Inhalt deiner .htaccess-Datei sollte ungefähr so aussehen:

AuthType Basic
AuthName "Geh hier weg!" # Diese Meldung kannst du anpassen
AuthUserFile /hier/der/pfad/zu/deiner/htpasswd-Datei/auf/deinem/Server/administrator/.htpasswd
Require valid-user

Hinweis zur Zeile AuthUserFile:
Der Pfad zu dieser Datei ist ein Pfad auf deinem Server.
Er kann z.B. so aussehen:

/usr/www/users/dein-benutzername/deine-domain/public-html/administrator/.htpasswd

Wenn du dir unsicher bist, kannst du im Backend deines Joomla nachschauen. Klicke im Backend auf Konfiguration und dort auf den Reiter Server. Im Feld „Tempverzeichnis“ findest du die Adresse zu deinem Temp-Verzeichnis. Da könnte dann stehen:

/usr/www/users/dein-benutzername/deine-domain/public-html/tmp

Dann wäre dein Eintrag für AuthUserFile:

/usr/www/users/dein-benutzername/deine-domain/public-html/administrator/.htpasswd

 

Inhalt der .htpasswd-Datei

Der Inhalt der .htpasswd-Datei gibt pro Zeile einen Benutzer mit Passwort an. Dabei wird das Passwort verschlüsselt angegeben.

Für den Benutzer max mit dem Passwort „musterpasswort“, sieht der Inhalt der .htpasswd-Datei dann so aus:

max:$2y$10$cVMncU.3rGo1kXEJh5c3.eDCWaLj0uzwn69ANXvPpJ8JdXO3NPT8K

Hinweis zum Passwort-Hash und weiteren Benutzern:
Wie du sehen kannst, hat die Länge des hinter dem Benutzer angezeigten Hashes nichts mit der eigentlichen Länge des Passwortes zu tun. Wundere dich also nicht, wenn da viel mehr Zeichen herauskommen, als das echte Passwort hat.
Möchtest du mehreren Benutzern unterschiedliche Passwörter für den Zugriff auf das Backend geben, kannst du einfach weitere Benutzer angeben, indem du einfach jeden neuen Benutzer in einer neuen Zeile angibst.

Den Passwort-Hash kannst du dir z.B. hier generieren lassen:
https://www.entwicklertools.de/tools/htaccess/htpasswd-generator/

Übertrage nun die beiden Dateien (.htaccess und .htpasswd) mit deinem Lieblingsprogramm in dein /administrator-Verzeichnis deines Joomla und sofort beim nächsten Aufruf des Backends wirst du nach den zusätzlichen Zugangsdaten gefragt.

Tipp für den Produktivmodus

Verschiebe die .htpasswd-Datei in ein Verzeichnis, das nicht direkt über HTTP zugänglich ist. Beispielsweise:

/var/www/secure/.htpasswd

Und passe die .htaccess- oder Konfigurationsdatei entsprechend an, um den neuen Pfad zu referenzieren:

AuthUserFile /var/www/secure/.htpasswd

Wenn die .htpasswd-Datei im Webroot bleiben muss (manche Shared-Hoster schränken die Möglichkeiten halt ein), füge eine .htaccess-Datei hinzu, um den Zugriff auf .htpasswd zu blockieren:

<Files ".htpasswd">
    Require all denied
</Files>

Bild von Michael Schwarzenberger auf Pixabay

Mastodon