So aendern Sie Ihre PrestaShop Admin-URL

392 Aufrufe

Warum Sie die Standard-Admin-URL aendern sollten

Jede PrestaShop-Installation erstellt ein Admin-Verzeichnis mit einem Namen wie admin1234 — die Ziffern werden waehrend der Installation zufaellig generiert. Ueber dieses Verzeichnis greifen Sie auf das Back Office Ihres Shops zu. Obwohl das zufaellige Suffix eine grundlegende Verschleierung bietet, ist es keine starke Sicherheitsmassnahme. Automatisierte Bots und Angreifer scannen routinemaessig Tausende von Websites nach gaengigen Admin-URL-Mustern. Die Aenderung Ihrer Admin-URL in etwas Unvorhersehbares fuegt eine sinnvolle Verteidigungsebene hinzu.

Der primaere Grund fuer die Aenderung des Admin-Ordnernamens ist die Reduzierung der Angreifbarkeit durch Brute-Force-Login-Angriffe. Wenn ein Angreifer Ihre Login-Seite nicht finden kann, kann er auch nicht versuchen, Ihr Passwort zu erraten. Dies ersetzt keine starken Passwoerter und andere Sicherheitsmassnahmen, ist aber ein effektiver erster Schritt, der nichts kostet und nur wenige Minuten in Anspruch nimmt.

Zusaetzlich wirkt eine benutzerdefinierte Admin-URL professioneller, wenn Mitarbeiter oder Kunden auf das Back Office zugreifen muessen. Eine URL wie ihredomain.de/shop-verwaltung/ ist leichter zu merken und zu kommunizieren als ihredomain.de/admin7382pqxz/.

Wie PrestaShop Admin-URLs funktionieren

Das Admin-Verzeichnis von PrestaShop ist ein physischer Ordner auf Ihrem Server. Wenn Sie ihredomain.de/admin1234/ in Ihrem Browser eingeben, sucht der Webserver nach dem Verzeichnis admin1234 und liefert die darin enthaltene index.php-Datei aus. Das bedeutet, dass die Aenderung der Admin-URL in erster Linie eine Frage der Umbenennung des Verzeichnisses im Dateisystem Ihres Servers ist.

Im Admin-Verzeichnis speichert PrestaShop Controller-Dateien, Template-Dateien und Konfigurationen, die auf den Admin-Pfad verweisen. In PrestaShop 1.7 und 8.x enthaelt das Admin-Verzeichnis auch Symfony-Routing-Komponenten. Die interne Konfiguration speichert den Admin-Verzeichnisnamen in der Datei app/config/parameters.php (oder config/parameters.php bei aelteren Versionen) unter dem Schluessel ps_admin_dir. Dieser Wert muss mit dem tatsaechlichen Verzeichnisnamen uebereinstimmen, damit das Back Office korrekt funktioniert.

Schritt fuer Schritt: Das Admin-Verzeichnis umbenennen

Methode 1: Per FTP oder Dateimanager

Dies ist die sicherste und unkomplizierteste Methode. Sie funktioniert bei allen Hosting-Typen und allen PrestaShop-Versionen von 1.6 ueber 8.x bis 9.x.

  1. Verbinden Sie sich mit Ihrem Server per FTP (FileZilla, WinSCP) oder verwenden Sie den Dateimanager Ihres Hosting-Kontrollpanels (cPanel, Plesk).
  2. Navigieren Sie zum Stammverzeichnis Ihrer PrestaShop-Installation — hier sehen Sie Ordner wie classes/, modules/, themes/ und Ihren aktuellen Admin-Ordner.
  3. Identifizieren Sie Ihren aktuellen Admin-Ordner. Er wird einen Namen wie admin1234 oder admin-dev (bei Entwicklungsinstallationen) haben. Verwechseln Sie ihn nicht mit dem admin-dev/-Ordner, falls Sie die Quellcode-Version installiert haben.
  4. Benennen Sie den Ordner um in Ihren gewuenschten Namen. Klicken Sie mit der rechten Maustaste auf den Ordner in Ihrem FTP-Client und waehlen Sie "Umbenennen". Waehlen Sie einen Namen, der schwer zu erraten, aber fuer Sie leicht zu merken ist. Gute Beispiele: manage-xyz, backoffice-abc, control-2024. Vermeiden Sie offensichtliche Namen wie admin, administrator, backend, dashboard oder manage.
  5. Aktualisieren Sie die Konfigurationsdatei. Oeffnen Sie app/config/parameters.php in einem Texteditor und finden Sie die Zeile mit ps_admin_dir. Aendern Sie den Wert so, dass er exakt mit Ihrem neuen Verzeichnisnamen uebereinstimmt.
  6. Leeren Sie den Cache. Loeschen Sie den Inhalt von var/cache/prod/ und var/cache/dev/ (falls vorhanden). Der alte Cache enthaelt Verweise auf den vorherigen Admin-Verzeichnisnamen.
  7. Testen Sie die neue URL. Oeffnen Sie Ihren Browser und navigieren Sie zu ihredomain.de/ihr-neuer-admin-name/. Sie sollten die PrestaShop-Loginseite sehen.

Methode 2: Per SSH (Kommandozeile)

Wenn Sie SSH-Zugang zu Ihrem Server haben, koennen Sie das Verzeichnis mit einem einzigen Befehl umbenennen:

cd /var/www/html/prestashop
mv admin1234 ihr-neuer-name

Dann aktualisieren Sie die Konfiguration:

sed -i "s/admin1234/ihr-neuer-name/g" app/config/parameters.php

Und leeren Sie den Cache:

rm -rf var/cache/prod/* var/cache/dev/*

Diese Methode ist schneller und weniger fehleranfaellig als die Verwendung von FTP, insbesondere wenn der Verzeichnisname an mehreren Stellen in der Konfigurationsdatei erscheint.

Unterschiede zwischen PrestaShop-Versionen

PrestaShop 1.6

In PrestaShop 1.6 wird der Admin-Verzeichnisname in config/settings.inc.php statt in app/config/parameters.php gespeichert. Suchen Sie nach einer Zeile wie:

define('_PS_ADMIN_DIR_', '/var/www/html/prestashop/admin1234');

Aendern Sie den Pfad so, dass er mit Ihrem neuen Verzeichnisnamen uebereinstimmt. Die app/-Verzeichnisstruktur existiert in 1.6 nicht, da sie der Symfony-Integration vorausgeht. Ansonsten ist der Prozess der Umbenennung identisch.

PrestaShop 1.7

PrestaShop 1.7 fuehrte das Symfony-Framework ein, wodurch die Datei app/config/parameters.php hinzukam. Allerdings behaelt 1.7 weiterhin die Rueckwaertskompatibilitaet mit einigen Legacy-Admin-Routen bei. Leeren Sie nach der Umbenennung sowohl den Smarty-Cache (var/cache/) als auch den Symfony-Cache. Der Admin-Verzeichnisname wird in parameters.php unter dem parameters-Array gespeichert:

'parameters' => array(
    // ...
    'ps_admin_dir' => 'ihr-neuer-name',
    // ...
)

PrestaShop 8.x

PrestaShop 8.x setzt die 1.7-Architektur mit tieferer Symfony-Integration fort. Der Prozess ist derselbe wie bei 1.7, aber die Datei parameters.php kann in einigen Setups die YAML-basierte Konfiguration von Symfony verwenden. Pruefen Sie sowohl app/config/parameters.php als auch app/config/parameters.yml, falls vorhanden. Leeren Sie nach der Umbenennung immer den Cache vollstaendig.

PrestaShop 9.x

PrestaShop 9.x verfeinert die Symfony-Integration weiter. Das Konzept des Admin-Verzeichnisses bleibt bestehen, aber das Routing basiert staerker auf Symfony. Die Datei parameters.php oder parameters.yml enthaelt weiterhin den Verweis auf das Admin-Verzeichnis. Der Umbenennungsprozess ist unveraendert, aber achten Sie besonders darauf, alle Cache-Ebenen zu leeren, da der Symfony-Routing-Cache in 9.x aggressiver ist.

.htaccess nach der Umbenennung aktualisieren

In den meisten Faellen muessen Sie die .htaccess-Datei in Ihrem PrestaShop-Stammverzeichnis nach der Umbenennung des Admin-Ordners nicht aendern. PrestaShops .htaccess-Regeln referenzieren das Admin-Verzeichnis typischerweise nicht namentlich. Die Rewrite-Regeln behandeln die Front-Office-URLs (kundenseitig), und das Admin-Verzeichnis wird direkt ohne Rewriting aufgerufen.

Es gibt jedoch Ausnahmen. Wenn Sie benutzerdefinierte Sicherheitsregeln in der .htaccess hinzugefuegt haben, die den alten Admin-Verzeichnisnamen referenzieren, muessen Sie diese Regeln aktualisieren. Wenn Sie beispielsweise zuvor eine IP-Whitelist fuer den Admin-Bereich hinzugefuegt haben:

# Alte Regel
<Directory /var/www/html/prestashop/admin1234>
    Order Deny,Allow
    Deny from all
    Allow from 203.0.113.50
</Directory>

Diese muss aktualisiert werden, um den neuen Verzeichnisnamen zu referenzieren. Ueberpruefen Sie ebenso alle Sicherheitsplugins (wie mod_security-Regeln) oder CDN-Konfigurationen (Cloudflare Page Rules), die moeglicherweise den alten Admin-Pfad referenzieren.

Pruefen Sie auch die .htaccess-Datei innerhalb des Admin-Verzeichnisses selbst. PrestaShop platziert dort eine fuer das interne Routing. Diese Datei muss normalerweise nicht geaendert werden, da sie relative Pfade verwendet, aber ueberpruefen Sie sie nach der Umbenennung, um sicherzustellen, dass nichts defekt ist.

Haeufige Fallstricke und was Sie NICHT tun sollten

Verwenden Sie keine Symlinks als Abkuerzung

Einige Administratoren erstellen einen symbolischen Link von einem neuen Namen zum alten Admin-Verzeichnis, anstatt es tatsaechlich umzubenennen. Dies macht den Zweck vollstaendig zunichte, da das alte Verzeichnis weiterhin existiert und zugaenglich ist. Fuehren Sie immer eine echte Umbenennung durch, keinen Symlink.

Vergessen Sie nicht, parameters.php zu aktualisieren

Der haeufigste Fehler ist, das Verzeichnis umzubenennen, aber die Konfigurationsdatei zu vergessen. Wenn dies passiert, sehen Sie eine weisse Seite oder einen 500-Fehler beim Versuch, das Admin-Panel aufzurufen. PrestaShop referenziert intern den Admin-Verzeichnisnamen aus der Konfiguration, und eine Nichtübereinstimmung fuehrt zu sofortigem Versagen.

Waehlen Sie keine offensichtlichen Namen

Ihr Admin-Verzeichnis von admin1234 in admin oder administrator umzubenennen ist kontraproduktiv. Automatisierte Scanner pruefen diese offensichtlichen Namen zuerst. Waehlen Sie etwas, das Woerter und Zahlen auf eine nicht leicht zu erratende Weise kombiniert: store-mgmt-7x9, bo-access-42 oder sogar eine vollstaendig zufaellige Zeichenkette wie kx9m4p2q.

Benennen Sie nicht um, waehrend Benutzer eingeloggt sind

Aktive Back-Office-Sitzungen werden sofort unterbrochen, wenn Sie das Verzeichnis umbenennen. Jeder Admin-Benutzer, der gerade eingeloggt ist, sieht einen Fehler und verliert nicht gespeicherte Arbeit. Fuehren Sie die Umbenennung in einer verkehrsarmen Zeit durch und informieren Sie alle Mitarbeiter, die das Back Office nutzen.

Vergessen Sie nicht Lesezeichen und gespeicherte Links

Aktualisieren Sie nach der Umbenennung alle Lesezeichen, im Browser gespeicherte Passwoerter, Passwort-Manager-Eintraege und Dokumentationen, die die alte Admin-URL referenzieren. Informieren Sie alle Mitarbeiter, die auf das Back Office zugreifen, ueber die neue URL.

Verwenden Sie keine Sonderzeichen oder Leerzeichen

Der Name des Admin-Verzeichnisses muss eine gueltige URL-Pfadkomponente sein. Verwenden Sie nur Kleinbuchstaben, Zahlen und Bindestriche. Vermeiden Sie Leerzeichen, Unterstriche (obwohl sie funktionieren, sind Bindestriche sauberer), akzentuierte Zeichen und alle Sonderzeichen.

Modulkonflikte und Drittanbieter-Ueberlegungen

Die meisten gut geschriebenen PrestaShop-Module verwenden interne PrestaShop-Funktionen, um den Admin-Verzeichnispfad zu ermitteln, anstatt ihn hardzucodieren. Diese Module funktionieren nach der Umbenennung ohne weiteres Eingreifen weiter. Einige schlecht programmierte Module koennen den Admin-Pfad jedoch in ihren Konfigurationsdateien, JavaScript oder AJAX-Endpunkten hartcodieren.

Testen Sie nach der Umbenennung Ihres Admin-Verzeichnisses Folgendes in Ihrem Back Office:

  • Alle installierten Module — oeffnen Sie die Konfigurationsseite jedes Moduls
  • Alle Module, die AJAX-Aufrufe verwenden (pruefen Sie die Browser-Konsole auf 404-Fehler)
  • Zahlungsmodul-Callbacks und Webhooks
  • Alle benutzerdefinierten Integrationen oder ERP-Verbindungen, die die Admin-URL referenzieren
  • Cronjobs, die Admin-seitige Anwendungen aufrufen

Wenn ein Modul nach der Umbenennung nicht mehr funktioniert, pruefen Sie dessen Konfigurationsdateien auf hartcodierte Admin-Pfade. Viele Module speichern ihre Einstellungen in der Datenbanktabelle ps_configuration, und einige dieser Werte koennten den alten Admin-Verzeichnisnamen enthalten.

Um Ihre Datenbank nach Verweisen auf das alte Admin-Verzeichnis zu durchsuchen:

SELECT * FROM ps_configuration WHERE value LIKE '%admin1234%';

Ersetzen Sie admin1234 durch Ihren alten Verzeichnisnamen und ps_ durch Ihr tatsaechliches Datenbankpraefix.

Zusaetzliche Sicherheitsmassnahmen fuer den Admin-Bereich

Die Umbenennung des Admin-Verzeichnisses ist ein guter erster Schritt, sollte aber Teil einer umfassenden Sicherheitsstrategie sein. Erwaegen Sie diese zusaetzlichen Massnahmen:

IP-Adressen-Whitelisting

Wenn Sie und Ihr Team immer von festen IP-Adressen auf das Back Office zugreifen, koennen Sie den Zugriff auf Webserver-Ebene einschraenken. Fuer Apache fuegen Sie in die .htaccess Ihres Admin-Verzeichnisses hinzu:

Order Deny,Allow
Deny from all
Allow from 203.0.113.50
Allow from 198.51.100.25

Fuer Nginx fuegen Sie in Ihren Server-Block hinzu:

location /ihr-admin-name/ {
    allow 203.0.113.50;
    allow 198.51.100.25;
    deny all;
}

Dies ist aeusserst effektiv, denn selbst wenn ein Angreifer Ihre Admin-URL entdeckt, kann er die Login-Seite nicht von einer unautorisierten IP-Adresse aus aufrufen.

Zwei-Faktor-Authentifizierung (2FA)

PrestaShop 8.x enthaelt keine integrierte 2FA, aber mehrere Module bieten diese Funktionalitaet. Die Zwei-Faktor-Authentifizierung erfordert einen zweiten Verifizierungsschritt (typischerweise einen Code aus einer mobilen App wie Google Authenticator) zusaetzlich zum Passwort. Dies macht Brute-Force-Angriffe im Wesentlichen unmoeglich, selbst wenn der Angreifer sowohl die Admin-URL als auch das Passwort kennt.

SSL/TLS-Zertifikat

Greifen Sie immer ueber HTTPS auf Ihr Admin-Panel zu. Dies verschluesselt die Anmeldedaten waehrend der Uebertragung und verhindert Man-in-the-Middle-Angriffe. Die meisten Hosting-Anbieter bieten kostenlose SSL-Zertifikate ueber Let's Encrypt an. Das Back Office von PrestaShop sollte so konfiguriert sein, dass SSL erzwungen wird unter Shopparameter > Allgemein > SSL aktivieren und SSL auf allen Seiten aktivieren.

Begrenzung der Login-Versuche

PrestaShop enthaelt einen grundlegenden Brute-Force-Schutz, der IP-Adressen nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche sperrt. Stellen Sie sicher, dass dies in Ihren Sicherheitseinstellungen aktiviert ist. Sie koennen auch Rate Limiting auf Webserver-Ebene implementieren, indem Sie Module wie mod_evasive fuer Apache oder limit_req fuer Nginx verwenden.

Regelmaessige Passwort-Rotation

Stellen Sie sicher, dass alle Admin-Konten starke, einzigartige Passwoerter verwenden. Ein gutes Passwort hat mindestens 16 Zeichen und enthaelt eine Mischung aus Buchstaben, Zahlen und Symbolen. Verwenden Sie einen Passwort-Manager, um diese Passwoerter zu generieren und zu speichern. Rotieren Sie Passwoerter regelmaessig, insbesondere wenn ein Mitarbeiter das Unternehmen verlaesst oder ein Sicherheitsvorfall auftritt.

Admin-Konten pruefen

Ueberpruefen Sie regelmaessig die Liste der Admin-Konten unter Erweiterte Einstellungen > Team > Mitarbeiter. Entfernen oder deaktivieren Sie Konten fuer Mitarbeiter, die keinen Zugriff mehr benoetigen. Jede Person sollte ein eigenes Konto haben, anstatt Zugangsdaten zu teilen, was es ermoeglicht nachzuverfolgen, wer welche Aenderungen vorgenommen hat.

Was passiert, wenn Sie den Zugang verlieren

Wenn Sie das Admin-Verzeichnis umbenannt haben und nicht auf das Back Office zugreifen koennen, geraten Sie nicht in Panik. Verbinden Sie sich per FTP oder SSH mit Ihrem Server und benennen Sie das Verzeichnis entweder zurueck in seinen urspruenglichen Namen oder pruefen Sie die Datei parameters.php, um sicherzustellen, dass der Verzeichnisname uebereinstimmt. Wenn Sie sowohl den Verzeichnisnamen als auch die Konfiguration aus den Augen verloren haben, schauen Sie sich die tatsaechliche Verzeichnisliste auf Ihrem Server an — das Admin-Verzeichnis ist dasjenige, das Dateien wie ajax-tab.php, init.php und ein themes/-Unterverzeichnis mit dem Back-Office-Theme enthaelt.

Sie koennen den Admin-Verzeichnisnamen auch in der Datenbank finden:

SELECT value FROM ps_configuration WHERE name = 'PS_ADMIN_DIR';

Beachten Sie jedoch, dass nicht alle PrestaShop-Versionen diesen Wert in der Konfigurationstabelle speichern. Die Datei parameters.php ist die massgebliche Quelle.

Admin-URL-Aenderungen mit einem Skript automatisieren

Wenn Sie mehrere PrestaShop-Installationen verwalten, koennen Sie ein einfaches Shell-Skript erstellen, um den Umbenennungsprozess zu automatisieren:

#!/bin/bash
OLD_NAME="$1"
NEW_NAME="$2"
PS_ROOT="/var/www/html/prestashop"

if [ -z "$OLD_NAME" ] || [ -z "$NEW_NAME" ]; then
    echo "Verwendung: $0 alter-admin-name neuer-admin-name"
    exit 1
fi

mv "$PS_ROOT/$OLD_NAME" "$PS_ROOT/$NEW_NAME"
sed -i "s/$OLD_NAME/$NEW_NAME/g" "$PS_ROOT/app/config/parameters.php"
rm -rf "$PS_ROOT/var/cache/prod/*" "$PS_ROOT/var/cache/dev/*"
echo "Admin-Verzeichnis umbenannt von $OLD_NAME zu $NEW_NAME"
echo "Bitte ueberpruefen Sie den Zugang unter: ihredomain.de/$NEW_NAME/"

Speichern Sie dies als rename-admin.sh, machen Sie es ausfuehrbar mit chmod +x rename-admin.sh und fuehren Sie es mit dem alten und neuen Verzeichnisnamen als Argumente aus. Testen Sie die neue URL immer sofort nach der Ausfuehrung des Tools.

Indem Sie diese Schritte befolgen und die Admin-URL-Aenderung mit zusaetzlichen Sicherheitsmassnahmen kombinieren, reduzieren Sie die Angriffsflaeche des Back Office Ihres PrestaShop-Shops erheblich.

War diese Antwort hilfreich?

Haben Sie noch Fragen?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Lade ...
Nach oben