WordPress – Sicherheit gegen Hacker
WordPress als Webseiten Erstellungsprogramm gehört zu den bekanntesten Tools und damit auch leider zu denen, die am meisten versucht werden zu Hacken.
Auch meine Seite, jeden Tag zwischen 3-5-mal, erhalte ich die Meldung“ Aussperrung wegen 3-mal falsches Passwort. “ Das ist normal, da es immer wieder Versucht wird. Teils als eine Art Sport, Herausforderung, um die Seite lahm zu legen, zu zerstören oder einfach um Werbung und Umleitungen einzufügen auf andere Seiten. Ein Kunde von mir hat diese Meldung im Schnitt 8-10-mal pro Tag, es ist langsam nervend. Aber eines ist sicher, es hat bisher noch keiner geschafft, die Webseite zu knacken.
Natürlich gibt es keine 100 % Sicherheit, aber ganz einfach muss man denen es ja auch nicht machen. Benutzen Sie nach der Erst-Installation beim Einrichten, auf keinen Fall:
- den vorgegebenen Benutzernamen “ admin „
- keinen Benutzernamen/Bezeichnung/Begriff der in irgendeinem Wörterbuch oder Lexikon stehen könnte
- also auch keinen Teil Ihres Namens, denn der steht ja später auch im Impressum drin
- Benutzen Sie nur Namen/Bezeichnungen mit mindestens 2 bis 5 Sonderzeichen/Nummern
- Die erste Hürde die der Hacker nehmen muss.
Das zweite Problem ist Ihr Passwort. Auch hier wiederum nichts, das im Wörterbuch oder Lexikon auch zu finden wäre, wie z.B. „Sommerpause“. Erfahrungsgemäß haben sich unsinnige Passwörter bewährt, die Sie sich selbst kaum merken können, wie z.B. “ 98&_-3(/Fs§=S „. Sicher sind solche Passwörter sehr schlecht einzugeben und zu merken, aber die kann man ja auf dem Computer/Laptop speichern, mit dem man die Seite bearbeitet/erstellt. Das mache ich auch so, denn auf dem Handy brauchen Sie den Zugang ja nicht unbedingt. Schreiben Sie sich jedoch unbedingt Ihr Passwort an einer sicheren Stelle/Ort auf, und probieren es nochmals aus.
Wichtig dabei, notieren Sie sich alle Zugänge, möglichst auf einem Blatt ( Webhosting, Kundennummer, Telefonnummer des Support, Zugangsnummer, Passwort MySQL – Admin, FTP-Passwort ), falls doch einmal etwas schief geht. So können Sie immer noch Ihre Seite retten, vor einer kompletten Neu-Installation. Wenn Sie jetzt denken, mache ich später, dann ist es zu spät, wenn der Ernstfall bereits eingetreten ist. Denken Sie daran, „ haben ist immer besser, als brauchen. „
Ich benutze hierzu das Security Plugin von WordPress iThemes Security. Das Programm ist auch in der kostenlosen Testversion sehr Leistungsfähig. Anleitungen zum Einstellen des Programms gibt es genug auf YouTube und im Netz. Achten Sie dabei aber auf das Datum der Veröffentlichung, damit Sie sich nicht die Anleitung für eine veraltete Version ansehen.
Beachten Sie dabei, das sollte Ihr gewähltes Programm können:
- Benutzer sperren bei 3-mal falscher Eingabe des Benutzernamens oder Passwortes
- zuerst einmal 2- 4 Stunden aussperren
- bei wiederholtem Versuch auch dauerhaft blockieren
- E-Mail an Sie, falls es zur Aussperrung gekommen ist
Egal welches Security Programm Sie wählen, nur auf diese Art können Sie z.B. Bruteforce Angriffen ( Passwörter Erraten oder so lange probieren bis es klappt ) standhalten.
Stellen Sie jedoch nur das ein, was Sie auch beim Lesen oder Ansehen der Anleitung auch wirklich verstanden haben, damit Sie sich nicht durch Ihre eigenen Einstellungen, selbst Aussperren.
Falls das Passiert ist, können Sie sich mit den Zugangsdaten Ihres FTP Programmes, am Server anmelden. Notfalls das Plugin, im Ordner Content/Plugins, einfach z.B. hier den Ordner iThemes, löschen und der Zugang ist wieder frei. Ihre Eingaben sind dadurch nicht gelöscht und in der Datenbank noch immer gespeichert. Das Plugin kann problemlos wieder installiert werden. Sie sollten aber bei dieser Methode, zuerst Ihre Einstellungen nochmals überprüfen und korrigieren bevor Sie sich die Seite wieder ansehen bzw. Online stellen.
Diese Methode funktioniert übrigens mit allen Plugins, wenn Sie plötzlich, eine weiße Seite präsentiert bekommen.
Warum ein Child Theme wichtig ist
Auch wenn es von vielen vernachlässigt wird ein Child Theme ist mit das wichtigste, für eine sichere WordPress Seite.
Nicht nur wird damit verhindert, daß bei Updates, alle Ihre Änderungen am Theme überschrieben werden, Sie können auch dauerhaft zusätzlich die Seite erweitern.
Jedes Child Theme hat eine funktions.php in der Sie zusätzlichen Code einfügen können.
So z.B. verhindern Sie, daß beim Login zu Ihrer Webseite angezeigt wird, ob der Name, oder das Passwort falsch ist.
Damit hätten Hacker schon die erste Hürde geschafft und Sie werden vielleicht noch selbst ausgesperrt, weil Ihr Benutzernamen, schon zu oft ausprobiert wurde.
In der funktions.php, Ihres Child Themes, ganz am Ende eingeben, eine Zeile, vor dem ?> :
/* keine Anzeige beim Login, ob Nutzername oder Passwort, falsch ist */
add_filter(‚login_errors‘,function($a) {return null;});
( Angezeigt wird nach der Eingabe, nur noch eine leere Zeile. )
Generell die Anzeige unterbinden
Versuchen Sie doch einmal folgenden Code mit/bei Ihrer WordPress Webseite:
IhreWebadresse.de/?author=1
Wenn jetzt Ihr Benutzernamen Angezeigt wird, wissen Sie, daß das auch Hacker können und schon ist die erste Hürde geschafft. Ist jetzt Ihr Sicherheitsprogramm auch noch so eingestellt, daß nach drei Fehlversuchen, der Benutzername gesperrt ist, kommen Sie, möglicherweise, selbst noch nicht einmal mehr, mit dem richtigen Passwort, bei WordPress rein.
Dann hilft Ihnen nur noch Ihr FTP Programm und Sie müssen das Sicherheitsprogramm, im Verzeichnis content/plugins, den ganzen Ordner löschen. Sobald Sie wieder eingeloggt sind, das Sicherheitsprogramm erneut installieren, die Einstellungen sind ja noch in der Datenbank gespeichert. Trotzdem noch Ihren Benutzernamen ändern, denn der ist ja bereits in diesem Fall, Hackern bereits bekannt.
Um das Ausspionieren Ihres Benutzernamens zu unterbinden, geben Sie folgenden Code in Ihrem Child Theme, in der funktions.php ein, ganz am Ende, vorletzte Zeile, vor dem ?>, falls vorhanden.
/* Anzeige des Benutzernamens verhindern */
if ( ! is_admin() && isset($_SERVER[‚REQUEST_URI‘])){
if(preg_match(‚/(wp-comments-post)/‘, $_SERVER[‚REQUEST_URI‘]) === 0 && !empty($_REQUEST[‚author‘]) ) {
wp_die(‚Du hälst wohl alle für Blöd und Vollidioten? Ich hoffe Deine Festplatte verreckt bald.‘);
}
}
Natürlich ist das keine Garantie dafür, daß bei Ihnen niemand die Webseite knacken kann, aber es wird um einiges schwieriger.
( Garantien gibt es auf Waschmaschinen )
- Vorteil: die Eingabe dieser Zeilen im Child Theme ( damit der Code beim Update Ihres Themes nicht überschrieben wird ), senkt die Anzahl der Angriffe um über 50%, da Nutzernamen jetzt nicht mehr angezeigt/herausgefunden werden können.
Nicht Vergessen, dieser Eintrag und auch alle anderen in der funktions.php, macht dauerhaft nur Sinn, wenn Sie im Child Theme vorgenommen werden.
Wenn Sie das in der funktions.php in Ihrem regulären Theme vornehmen, sind alle Ihre Eintragungen, beim nächsten Update des Themes, verschwunden und somit in den ewigen Datenbanken.
Login verstecken
Eigentlich schon ein alter Hut aber trotzdem versäumen es sehr viele, die eine Webseite haben oder erstellen. Das verstecken der function Login.php wird normaler weise immer an/in derselben Stelle gemacht. Da das aber auch Hacker wissen, sollten Sie ihnen, das schon noch etwas schwerer machen.
Mit dem einfachen WPS Hide PlugIn, geht das recht einfach und problemlos. Der Log-in Bereich wird einfach an eine andere Stelle versetzt und ist auch nur noch von dort aus zu erreichen. Sie sollten es aber bei der Namensgebung vermeiden den Begriff Log in oder Login zu verwenden.
Legen Sie danach Ihren Log-in gleich in den Browser und speichern es ab, dann müssen Sie nicht jedesmal den ganzen Test eingeben, oder Sie merken es sich, da die alte Art und weise, nicht mehr funktioniert.