WordPress: Potenzielle Sicherheitslücken schließen

WordPress: Potenzielle Sicherheitslücken schließen

Um WordPress sicherer zu machen, kannst Du Login-Fehlermeldungen deaktivieren, einen Verzeichnisschutz für den Login-Bereich erstellen und das Tabellenpräfix ändern.

WordPress bietet von sich aus viel Potenzial, das System gegen Kontroll- und Datenverlust effektiv zu schützen. Dazu gehören unter anderem sichere Zugangsdaten, ein sorgfältiger Einsatz von Plugins und regelmäßige Backups. Fortgeschrittene Nutzer gehen noch weiter, indem sie potenzielle Sicherheitslücken schließen. Wir zeigen in diesem Beitrag, wie Du Login-Fehlermeldungen deaktivierst, einen Verzeichnisschutz für den Login-Bereich erstellst und das Tabellenpräfix änderst.

Login-Fehlermeldungen deaktivieren

Wenn Du Dich mit falschen Benutzernamen anmeldest, gibt WordPress folgende Fehlermeldung aus: »FEHLER: Ungültiger Benutzername.« Und wenn Du den richtigen Benutzernamen und das falsche Passwort eingibst, lautet die Antwort: »FEHLER: Das Passwort, das du für den Benutzernamen XXX eingegeben hast, ist nicht korrekt.« Diese Informationen sind für Angreifer wertvoll und sollten deshalb deaktiviert werden. Um stattdessen zum Beispiel ein »Nachts sind alle Katzen grau.« einzublenden, fügst Du folgenden Code ans Ende der functions.php Deines Themes ein:

function no_wordpress_errors() { return 'Nachts sind alle Katzen grau.';
}
add_filter( 'login_errors‘, ‚no_wordpress_errors');

Verzeichnisschutz für Login-Bereich erstellen

Der sensible Login-Bereich wird standardmäßig über /wp-login.php aufgerufen. Das wissen sich Hacker und Botnetze zunutze zu machen. Mit einem Verzeichnisschutz per .htaccess baust Du ein Schloss davor, das unabhängig von WordPress funktioniert. Bei einem Brute-Force-Angriff wird so die Performance Deines Blogs nicht beeinträchtigt, weil der Angreifer es gar nicht erst bis zum Login-Bereich  schafft.

Dazu erstellst Du in einem Code-Editor eine leere Datei, nennst diese .htpasswd und öffnest den Htpasswd Generator. Dort gibst Du einen beliebigen Nutzernamen und ein Passwort ein. Das Tool verschlüsselt das Passwort und gibt eine Kombination aus Nutzernamen und Datensalat aus. Diese kopierst Du in die .htpasswd-Datei und lädst sie in das root-Verzeichnis Deines Webspace.

Im nächsten Schritt öffnest Du die .htaccess und fügst ans Ende folgenden Code ein:

<Files wp-login.php> 
AuthType Basic
AuthName "Verzeichnisschutz" 
AuthUserFile /mnt/rid/25/07/56932507/htdocs/.htpasswd 
Require valid-user
</Files>

Bei AuthUserFile musst Du statt /mnt/rid/25/07/56932507/htdocs/.htpasswd Deinen individuellen absoluten Pfad zur .htpasswd angeben (www.wunschdomain.de/.htpasswd funktioniert nicht). Was das ist und wie Du den herausfindest, erklären wir in dieser FAQ. Nach dem Upload der bearbeiteten .htaccess erwartet Dich beim Login-Versuch folgende Meldung:

Verzeichnisschutz
Der Verzeichnisschutz funktioniert unabhängig von WordPress.

Damit ist Dein Login-Bereich zusätzlich geschützt. Um Dich einloggen zu können, musst Du den oben erstellten Benutzernamen und das (unverschlüsselte) Passwort eingeben. Falls Du die Zugangsdaten vergessen solltest, kannst Du die .htpasswd– Datei einfach durch eine neue ersetzen.

Tabellen-Präfix ändern

WordPress vergibt bei der Installation für die Datenbank-Tabellen standardmäßig das Präfix wp_. Diese potenzielle Sicherheitslücke können Dritte in Form von SQL- Injections ausnutzen. Bei einer manuellen Installation sollte deshalb am besten gleich ein anderes Präfix zum Einsatz kommen.

Wichtig: Vorher unbedingt ein Backup der Datenbank machen, da bei einem Fehler die Website nicht mehr erreichbar ist!

So änderst Du das Tabellen-Präfix einer bestehenden WordPress-Installation:

1. Als Erstes benennst Du den Präfix in der wp-config.php um. In unserem Beispiel wählen wir als Präfix vogon_, so dass die Zeile wie folgt aussieht:
$table_prefix = ‚vogon_‘

2. Danach rufst Du über den STRATO Kunden-Login phpMyAdmin auf: Dein Paket > Datenbanken und Webspace > Datenbankverwaltung > verwalten (rechts neben der entsprechenden Datenbank > Struktur. Klicke unten auf Alle auswählen und wähle daneben im Dropdown-Menü den Eintrag Tabellenprefix ersetzen. Hier kannst Du das alte gegen (wp_) das neue Präfix (hier: vogon_) ersetzen.

Datenbankverwaltung phpMyAdmin

3. Im Reiter SQL gibst Du anschließend die folgenden beiden Befehle ein (stattvogon_ Dein neues Präfix):

UPDATE vogon_options SET option_name = REPLACE(option_name, 'wp_', 'vogon_'); 
UPDATE vogon_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'vogon_');

Welche Quellen geben Infos über Sicherheitslecks?

Welche Sicherheitslecks bei WordPress, den Plugins und Themes aktuell existieren, findest Du über verschiedene Quellen schnell heraus:

Eine gute deutsche Quelle ist über Twitter unter dem Namen @WPSicherheit erreichbar. Hier gibt es Tweets über Lücken von WordPress selbst oder von Plugins mit Angabe der betroffenen Version. Taucht eines Deiner Plugins oder die WordPress-Version auf, die Du in Deinem Blog einsetzt, kannst Du so schnell reagieren und ggf. die betroffene Software aktualisieren. Existiert noch kein Update, kannst Du beim Autor nachhaken, wann es ein Sicherheitsupdate geben wird.

ExploitDB (Englisch) ist eine weitere Quelle. Dies ist eine weltweite Datenbank für Sicherheitslücken verschiedener Programme, unter anderem auch WordPress und dessen Plugins und Themes. Gib dazu rechts oben im Suchfeld „wordpress“ ein und Du erhältst eine Liste mit bekannten Exploits – mit Angabe des Datums und allen weiteren Informationen zu den einzelnen Sicherheitslücken. In der ExploitDB kannst Du auch gezielt nach Deinen Plugin- und Theme-Versionen suchen. So findest Du heraus, ob es bekannte Sicherheitslücken gibt.

Hinweis: Diesen Beitrag haben wir am 14.12.2020 aktualisiert.

Schlagworte: ,

Teilen

  1. Avatar

    Bart sagte am

    Hallo,

    ich finde es befremdlich, dass in diesem Beitrag nicht die korrekte SQL Syntax verwendet wird. Copy&Paste funktioniert hier nicht.

    Falsch heißt es:

    UPDATE vogon_options SET option_name =
    REPLACE(option_name, ,wp_‘, ‚vogon_‘);

    Richtig heißt es:

    UPDATE vogon_options SET option_name =
    REPLACE(option_name, ‚wp_‘, ‚vogon_‘);

    Antworten
  2. Avatar

    Jonas sagte am

    In welchem Verzeichnis muss die .htaccess – Datei liegen?

    Antworten
    • Michael Poguntke

      Michael Poguntke sagte am

      Hallo Jonas,

      die .htaccess muss im root-Verzeichnis liegen, also stets auf der obersten Ebene des Blog-Verzeichnisses. Sprich: Direkt im Hauptverzeichnis der WordPress-Instanz.

      Jetzt habe ich dasselbe mit drei verschiedenen Ausdrücken gesagt, aber ich hoffe, Du verstehst mich. 🙂

      Viele Grüße
      Michael

      Antworten
  3. Avatar

    Frank sagte am

    Der neue communicator ist leider nicht schön.
    Kann von meinem Handy keine Mail weiterleiten, kann keine Adresse laden.
    Ist kein direktes Druckersymbol mehr da, muss jedesmal erst einen Menüpunkt aufmachen.
    Alles so kompliziert

    Antworten
    • Avatar

      Philipp Wolf sagte am

      Hallo Frank,

      da bist Du glaube ich im falschen Beitrag gelandet, aber dennoch: Das Weiterleiten geht bei mir ganz normal auf dem Smartphone. Dazu öffnest Du die Mail und klickst oben auf Aktionen.

      Deinen Wunsch nach einem Druckersymbol gebe ich weiter.

      Viele Grüße
      Philipp

      Antworten

Sie können erst kommentieren, wenn Sie unseren Datenschutzbestimmungen und den Cookies zugestimmt haben. Aus Datenschutzrechtlichen Gründen dürfen wir andernfalls keine personenbezogenen Daten von Ihnen aufzeichnen.

Klicken Sie dazu einfach unten im Browser Fenster auf den blauen Button Akzeptieren. Nach dem Neuladen der Seite können Sie Ihr Kommentar schreiben.

 

Diese Webseite verwendet Cookies, um die Nutzung der Seite zu verbessern, den Erfolg von Werbemaßnahmen zu messen und interessengerechte Werbung anzuzeigen. Durch die Nutzung dieser Seite erklären Sie sich damit einverstanden. Informationen