(Geschätzte Lesezeit: 3 - 5 Minuten)
Titelbild Admin härten

Ein nützliches Tutorial, das einen einfachen und effektiven Weg beschreibt, den Zugriff auf das Joomla-Administrator-Panel ohne Hacks oder Erweiterungen von Drittanbietern zu schützen. Dies ist etwas, das auf jeder Joomla-Website implementiert werden kann.

Dieser Artikel wurde von Eugene Sivokon aus dem Russischen übertragen und auf der Seite von NORRNEXT publiziert. Er wurde mit freundlicher Genehmigung ins Deutsche übersetzt.
Eugene arbeitet als Project Manager bei NorrBits s.r.o

Lasse uns zunächst überlegen, wieso dies notwendig sein soll.

Joomla ist ein beliebtes CMS, das oft von verschiedenen Benutzern installiert wird, auch von Nicht-Profis. Die meisten Benutzer neigen dazu, nur WordPress zu installieren, und infolgedessen führt die einfache Einrichtung oft zu ernsthaften Konsequenzen.

Aus irgendeinem Grund neigen selbst Anfänger dazu, für das Superuser-Konto den Namen "admin" zu verwenden. Dies ist ein typisches Verhalten. Ausserdem werden die Passwörter oft so gewählt, dass sie für Anfänger einfach zu merken sind. Es ist nicht schwer, sich die Folgen vorzustellen, die sich daraus ergeben können.

Wähle einen beliebigen Benutzernamen - aber bloss nicht "admin"!

Bei der Installation von Joomla ist es nicht notwendig, "admin" für das Administratorkonto zu verwenden. Es ist sogar eine schlechte Praxis, da es für Angreifer einfacher ist, den Benutzernamen zu erraten. Wähle bitte etwas anderes als "admin"!

Kann man das tun?
Ja, kann man! Und man soll es sogar!

Was kann man mit dem Administratorordner machen?

Natürlich ist es nicht verwunderlich, dass solche Websites Opfer von Angriffen durch Robot-Angreifer werden, die nach einfachen Wegen zum Standard-Hacking suchen. Das Ziel solcher Robots ist oft die Administratorkonsole.

Der erste Gedanke derjenigen, die vom Hacking von Joomla gehört haben und sich schützen wollen, ist also: "Ist es möglich, den Ordner Joomla-Administrator in etwas anderes zu ändern?" Nach dieser Logik werden die Robots an den falschen Ort gehen und es wird kein Hacking geben.

Ist es also möglich, den Administrator-Ordner zu ändern?

Die Antwort ist sowohl ja als auch nein. Bis vor kurzem hätte meine Antwort Nein gelautet.

Die Standardantwort auf diese Art von Fragen war immer, ein Plugin, eine Erweiterung oder ein Modul zu installieren. Ich persönlich bin jedoch der Meinung, je mehr Plugins, Erweiterungen und Module man hinzufügt, desto mehr Probleme kann man in Zukunft bekommen.

Nicht alle Erweiterungen werden gleich gut unterstützt, und nicht alle Erweiterungs-Supporter werden private Inkompatibilitätsprobleme mit anderen Erweiterungen lösen. Oft wird das Argument des Supports sein, dass "auf einem sauberen Joomla unsere Erweiterung gut funktioniert, und was nicht funktioniert, ist das Problem der Erweiterungen, die du installiert hast."

Ich habe dies schon oft gehört, und es scheint, als ob du für die Erweiterung bezahlt hast, sie gekauft hast, und niemand will deine Probleme damit lösen. Der Schlüsselsatz ist hier "Deine Probleme".

Was ist zu tun?

Allerdings kannst du auch ohne Erweiterungen von Drittanbietern auskommen.

Die Lösung ist (relativ) einfach und sie funktioniert folgendermassen: Wenn du eine geheime Adresse besuchst, setzt dein Browser ein spezielles Cookie, das als Zugangsberechtigung für den Administratorordner dient. Alle anderen Anfragen werden abgelehnt. Dies hat das gleiche Verhalten zur Folge, wie das Umbenennen des Joomla-Ordners, so dass jeder Versuch, auf den Administrator-Ordner zuzugreifen, zu einem 403- (Zugriff verweigert) oder 404-Fehler (Seite nicht gefunden) führt.

Wie kann dies erreicht werden?

Es kommt auf eine Änderung deiner htaccess-Datei hinaus. Öffne sie und finde die folgenden Zeilen:

## No directory listings
IndexIgnore *

## Can be commented out if causes errors, see notes above.
Options +FollowSymlinks
Options -Indexes

## Mod_rewrite in use
RewriteEngine On

Gleich unterhalb von RewriteEngine On schreibst du nun folgendes:

RewriteCond %{HTTP_COOKIE} !joomla2023
RewriteCond %{REQUEST_URI} ^/administrator [NC]
RewriteCond %{REQUEST_URI} !^/administrator/cache [NC]
RewriteRule .? - [F]
RewriteCond %{REQUEST_URI} ^/hiddenway$
RewriteRule .? /administrator/ [CO=joomla2023:1:%{HTTP_HOST},R=303,L]

Was bedueten diese Zeilen und was kann hier persolnalisiert werden?

joomla2023 ist der Name des installierten Cookies. Aus Sicherheitsgründen ist es natürlich besser, ihn in einen eigenen Namen zu ändern. Beachte, dass der Name an zwei Stellen zu ändern ist.
hiddenway - dies ist eigentlich ein neuer Name für deinen Admin-Ordner. Er sollte auf jeden Fall in einen Namen deiner Wahl geändert werden.

Nachdem du diese Änderungen vorgenommen hast, lautet die URL für den Zugriff auf die Administratorkonsole https://example.com/hiddenway. Es ist wichtig zu beachten, dass die URL keinen abschließenden Slash (/) enthält, da der Benutzer sonst nicht auf das Panel zugreifen kann.

Hinweis: Nachdem du diese Änderungen vorgenommen hast, lautet die URL für den Zugriff auf den Administratorbereich
https://example.com/hiddenway

Die URL darf KEINEN abschliessenden Slash (/) enthalten, da der Benutzer sonst nicht auf das Panel zugreifen kann. Das heisst, wenn du versuchst, die URL wie folgt zu öffnen:
https://example.com/hiddenway/
erhältst du keinen Zugriff auf das Administrator-Panel! Achte darauf, dass am Ende der URL kein Schrägstrich / steht.

Welche Fallstricke gibt es?

Bei der Implementierung dieser Lösung kann es jedoch einige Fallstricke geben. Hosting-Unternehmen konfigurieren Nginx- und Apache-Server oft so, dass sie zusammenarbeiten, was aufgrund einer falschen Konfiguration zu Fehlfunktionen des Systems führen kann. In solchen Fällen sollte man sich an seinen Hosting-Anbieter wenden und ihn bitten, eine Regel für den Proxy-Server hinzuzufügen, damit dieser Cookies von Apache überspringt.