WordPress absichern

WordPress ist eins der beliebtesten Systeme um eine eigene Seite zu betreiben, auch ohne tiefgründige Kenntnisse in HTML, CSS oder JavaScript. Wen wundert’s da, dass es nicht auch allerhand Schurken und Spitzbuben anzieht, wie die Motten das Licht. Das Ziel dieser dunklen Gestalten ist klar. Die Seite kapern und für ihre Zwecke missbrauchen.

Jedes System hat seine Schwachstellen, WordPress macht da keine Ausnahme. Es gibt aber Mittel und Wege, es den Herrschaften im grauen Gewand, wenigstens so schwierig zu machen, dass sie lieber weiterziehen und es andern Orts versuchen. Ein paar Tipps, zumindest die großen Tore zu schließen, möchte ich euch hier vorstellen. Sie sind alle nicht neu und alte WordPress-Hasen lächeln nur milde, aber es gibt sicher auch ein paar Einsteiger und an die möchte ich mich wenden.

WordPress Erstinstallation – Die berühmten 5 Minuten

Bereits bei der Installation von WordPress gibt es ein paar Punkte zu beachten. Hacker sind kreativ, meistens gut vernetzt und tauschen, wie alle Nutzer untereinander Informationen aus. Eine  Informationen wäre z.B., als erstes den Standard-Benutzername und die Standard-Tabellenpräfix einer  WordPress Installation als mögliche Schwachstelle zu testen. Um diese Informationen für deine WordPress Installation unbrauchbar zu machen, müssen folgende Punkte beachtet werde.

  • Ändere den Benutzernamen „Admin“ und verwende stattdessen den Namen deiner Katze oder den Spitznamen deines Partner… sei einfach kreativ!
  • Ändere die Standard Tabellenpräfix von wp_ in etwas völlig absurdes. Nutze dafür einfach einen Passwortgenerator und erstelle dir eine bunte Mischung aus groß/klein Buchstaben und Zahlen… Sonderzeichen solltest du vermeiden. Den gleichen Generator kannst du auch zur Erstellung deiner anderen Passwörter verwenden (z.B. für die Datenbank), inkl. des WP Passwortes.

Damit bist du an dieser Stelle fertig und die allg. Information, es beim knacken deiner WordPress Datenbank mit Admin und als Präfix wp_ zu versuchen scheitert schon mal.

Den öffentlichen Namen verschleiern

WordPress zeigt, in jedem Post und auf jeder Seite an, wer diesen Artikel verfasst hat. Dieser Name ist als Standard identisch mit dem Benutzernamen… dem Namen, den du anstelle von „Admin“ bei der Installation angegeben hast. Änderst du hieran nichts, supportest du den Hacker mit dem Benutzernamen, den er anstelle von „Admin“ einsetzen müsste. Um das zu verhindern, wechselst du nach der Anmeldung für den Adminbereich von WordPress auf Benutzer und vergibst einen Vor- und Nachnamen für deinen Benutzer. Dieser wird nun in all deinen Veröffentlichungen – anstelle des tatsächlichen Benutzernamens – angezeigt.

WordPress Login – Anzeige von Falscheingabe unterdrücken

WordPress ist sehr freundlich und sagt den Spitzbuben genau, was er falsch eingegeben hat… und das geht ihn gar nichts an! Um das zu verhindern und um den Spitzbuben weiter im dunklen tappen zu lassen, stellen wir diese Funktion einfach ab. Es kann zwar auch für uns nützlich sein, zu wissen was wir falsch eingegeben haben, aber andere profitieren auch davon… und das sollen sie nicht.

Um die Funktion zu deaktivieren suchst du in deinem WordPress Themes Verzeichnis die Datei function.php und trägst, ganz unten folgendes ein.

Das war’s. Bei der Eingabe falscher Zugangsdaten wird keine Meldung mehr ausgegeben, was an der Angabe falsch war.

WordPress Generator verbergen

Um es den Herrschaften im grauen Gewand noch ein bisschen zu erschweren, bleiben wir in der function.php und verschleiern zusätzlich die WordPress Version, mit der sie es zu tun haben. Jede Version von WordPress hat/hatte unterschiedliche Sicherheitslücken, die im laufe der Zeit gestopft wurden. Damit der Spitzbube so wenige Anhaltspunkte wie möglich hat, lassen wir ihn im Dunkeln darüber, womit er es bei uns versuchen könnte. Dazu ergänzt du die function.php zusätzlich mit der folgenden Zeile unterhalb der vorherigen.

Damit ist dieser Schritt abgeschlossen und die Angabe der verwendeten WordPress Version ist aus dem Quelltext verschwunden.

Wp-Config – Zugriff per htaccess verbieten

Die wp-config.php ist das Herzstück einer WordPress Installation. In ihr sind alle Daten zu finden, die man bräuchte, um sich Zugang zu deiner Datenbank zu verschaffen. Darum ist es besonders wichtig, den Spitzbuben – und anderen – die Einsicht zu verbieten. Um das zu erreichen, muss nur ein kleiner Schnipsel Text in die htaccess eingefügt werden. Die htaccess findest du im Hauptverzeichnis deiner WordPress Installation. Es ist gut möglich, dass sie für dich nicht sichtbar ist. Um sie sichtbar zu machen, kannst du bei den meisten FTP-Clients (z.B. Filezilla) einen Haken bei den Einstellungen setzten, unsichtbare Dateien auf dem Server anzuzeigen. Sollte es bei deinem FTP-Programm nicht funktionieren, kannst du versuchen, die htaccess über deine Adminoberfläche (Plesk, Confixx etc.) zu bearbeiten oder über den Editor von WordPress im Adminbereich. Hast du die htaccess gefunden und kannst sie bearbeiten, füge den folgenden Schnipsel hinzu.

Hinweis: Es gibt immer noch Mittel und Wege, deine WP-Config auszulesen und dieser Schutz ist nicht allmächtig aber immerhin ein kleines Plus. Zusätzlich könntest du die WP-Config in eine höhere Ebene deines Server-Verzeichnis verschieben und die Zugriffsrechte beschränken. Diese Maßnahmen können aber zu einer Kette von Problemen führen, weshalb ich sie nicht näher beschreiben möchte.

Zusätzliche Absicherung mit Plug-Ins

Es gibt unzählige Plug-Ins, die behilflich sein können den Schutz der WordPress Installation zu erhöhen. Zwei davon möchte ich kurz vorstellen. Man könnte es auch auf die Spitze treiben, allerdings sollte man immer den Nutzen und die Verhältnismäßigkeit abwägen.

Das erste Plug-In, auf das ich eingehen möchte ist Limit Login Attemps. Wie der Name schon sagt, lässt sich mit diesem Plug-In die Anzahl der Anmeldeversuche begrenzen. Das ist nützlich, denn WordPress selber lässt eine unbegrenzte Zahl an Versuchen zu… früher oder später könnte es also klappen. Im Prinzip ist das Plug-In selbsterklärend. Es wird die max. Anzahl an Versuchen definiert, die Sperrfrist zwischen den Versuchen und wie weit sich die Sperrfrist erhöht, nach dem weitere Versuche unternommen wurde. Zusätzlich kann die Option angehakt werden, ob eine Email an der Administrator versendet werden soll, nach dem eine Sperre erfolgte. Das ist darum nützlich, weil mit dieser Email auch einige Informationen an den Admin übermittelt werden. So lässt sich zum Beispiel die IP, der benutzte Name und das versuchte Passwort überprüfen. Hat der Angreifer es geschafft den korrekten Nutzernamen zu treffen, besteht Handlungsbedarf und man sollte seine WordPress Installation noch einmal genauer betrachten.

Das zweite Plug-In in der Runde ist Lockdown WP Admin. Mit diesem Plug-In lässt sich der Zugang zum Login-Bereich anpassen. Genauer bedeutet das, dass es einem die Möglichkeit gibt die eigentliche URL zum Login-Bereich zu verändern und – wenn gewünscht – mit einem erweiterten htaccess-Schutz zu versehen. Normalerweise würde man den Login-Bereich mit www.domainame.xx/wp-admin erreichen. Nutzt man die Funktion das Login auf eine andere URL aufzulösen, geht der Versuch ins leere gehen und es wird eine 404 Seite angezeigt. Dieses Plug-In bietet nur einen sehr geringen Schutz, es ist auch nur als weitere Maßnahme zu verstehen, möglichen Hackern einfach die Lust zu nehmen es weiter zu versuchen.

Alle vorgestellten Tipps sind nur Bruchstücke aber als erste Maßnahme durchaus sinnvoll und sollten nicht vernachlässigt werden. Happy blogging!

Deine Meinung zu dem Beitrag!

Du hast zusätzliche Informationen, Anregungen und Ergänzungen zu diesem Thema oder einen Fehler gefunden? Dann lass es mich wissen, ich freue mich über einen Kommentar von dir. Wenn du diesen Beitrag als wichtig empfindest, kannst du ihn auch gerne weiterempfehlen. Jede Unterstützung ist willkommen.

4 thoughts on “WordPress absichern

  1. Moin moin,

    ich habe

    add_filter(‚login_errors‘,create_function(‚$a‘, „return null;“));

    einmal ausprobiert. Allerdings scheint das bei mir nicht zu funktionieren (WordPress Version 4.3). Ich habe die Zeile ganz unten in der functions.php eingefügt, aber es tut sich nichts.

    Muss man sich erst abmelden oder gar die DiskStation / WordPress neu starten?

    Grüße
    Alex

    • Hallo Alex,
      ja, Du musst dich anmelden und einmal eine falsche EIngabe machen.
      Der „Trick“ an der Sache ist ja der, das nichts ausgegeben wird (“return null;”).

      Bevor Du die Zeile eingefügt hattest, war WordPress so freundlich dich darauf hin zu weisen, was Du falsch eingegeben hast. Jetzt sollte nichts mehr angezeigt werden.

  2. add_filter(‚login_errors‘,create_function(‚$a‘, „return null;“));
    diese Funtion find ich Klasse !
    Man kann doch auch noch machen das an der Stelle ein Text kommt !?

    Genial wäre wenn man es mit 2 Audiodateien verknüpfen könnte.
    1 Sound für korrektes Login
    2 Sound für flasches Login

    ist das machbar ? wenn ja wie ?
    Vielen Dank

    LG Hari

    • Hallo Hari, vielen Dank für deinen Kommentar. Freut mich, dass du etwas brauchbares gefunden hast.

      Zu deiner Frage: Prinzipiell sollte so etwas gehen. Anstelle von „return null“ müsstest Du einen Weg finden, eine Audiodatei auszuführen. Um ehrlich zu sein, habe ich darüber noch nie nachgedacht. Machbar sollte es sein.

      Möchtest Du „Deinen Text“ anzeigen lassen, trägst du diesen anstelle von „return null“ ein.
      add_filter('login_errors', create_function('$a', "return 'Fehler: Ungültiges Passwort oder Username';"));
      Allerdings würdest Du damit den eigentlichen „Trick“ aushebeln. Der „schlimme Finger“ soll ja im dunkel darüber gelassen werden, was nicht stimmte. Mit der Aussage: Passwort oder Username ist dem aber auch genüge getan.

      Grüße

Comments are closed.

WordPress Cookie Plugin von Real Cookie Banner