Drücke „Enter”, um zum Inhalt zu springen.

9 Tipps zur WordPress Sicherheit (+Bonus)

Dan 0

Immer wieder ist die Sicherheit bei WordPress ein großes Thema. Wir zeigen euch unsere Top 9 WordPress Security Hacks.

Inhaltsverzeichnis

Update, Update, Update!

Achtet stets auf die Aktualität eures Systems. Immer wieder ernten wir Augenrollen bei dieser Ansprache, aber leider ist eben genau ein veraltetes System der Hauptangriffspunkt. Dabei muss nicht zwingend sofort eine Veränderung am WordPress stattfinden. Wir haben auch schon beobachtet, dass erst Wochen oder Monate später das System umgedreht wird und dann als z.B. Spamschleuder dient. Die meisten Security Releases in WordPress sind meist unentdeckte Fehler oder Lücken und daher ist ein Update auf die neueste WordPress Version stets zu empfehlen. Die meisten Sicherheitsprobleme werden gefixt bevor sie jemand anderes findet. Das sollte ihr nutzen und euer WordPress System stets aktuell halten. Bei größeren Projekten wird das natürlich schon schwieriger.

Admin Account sichern

Wir sehen immer wieder Kundensysteme die „admin“ als Nutzer verwenden. Damit macht man es Angreifern sehr leicht. Oft sind dann leider auch die Passwörter sehr schwach gewählt. Daher raten wir dringend dazu, auch eigene Benutzernamen für einen Adminaccount zu vergeben. Als Beispiel könnte man für das Projekt „Sommerblumen“ einfach den Adminaccount projekt.sommerblumen benennen. So wird es schon weitaus schwieriger den Account ausfindig zu machen. Oder ihr überlegt euch nach einem festen System die Benutzernamen. Beispielsweise die ersten zwei Stellen des Projektnamens, die letzten zwei Buchstaben eures Nachnamens, das Geburtsdatum des Projekts oder von euch selbst und dann entsprechend die letzten zwei Buchstaben eurer Stadt.

wmla2017le

Dazwischen noch ein „!“ oder „*“ und schon wird es aufwändiger für potentielle Angreifer.

wmla*2017le

Je länger euer Passwort, um so schwieriger wird die Dechiffrierung dieses Passworts. Wir raten zu 12-18 Stellen Passwörtern mit Buchstaben, Zahlen und Sonderzeichen. Viele Leute bilden auch Geschichten mit Ihren Passwörtern oder andere Tricks. Einfacher wird es natürlich mit einem Passwortgenerator.

10 Kriterien für ein starkes Passwort
10 Kriterien für ein starkes Passwort

Verwendet am besten ausschließlich Redakteur Accounts, wenn ihr Blogposts schreiben wollt. Diese haben weniger Rechte und bieten so weniger Angriffsmöglichkeiten. Es brauchen nicht alle Nutzer einen WordPress Admin Zugang.

WordPress Login ohne Fehlermeldungen

Gibt man beim WordPress Login die falschen Daten an, erscheint die Meldung Ungültiger Benutzername, ungültige E-Mail-Adresse oder Passwort nicht korrekt. Damit gibt man potentiellen Angreifern aber auch viele Informationen mit. Um die WordPress Security dementsprechend auszubauen deaktivieren wir diese Warnhinweise.
Füge diesen Code in deine functions.php ein

add_filter('login_errors',function($a) {return null;});

Two Factor Auth

Die so genannte Zwei Faktor Authenfizierung (Two Factor Authentication) ist ein sehr spannendes und zugleich sicheres Verfahren. Ihr könnt euren WordPress Login damit zusätzlich schützen, ohne Captchas oder ähnliches einzusetzen. Ihr braucht dafür z.B. die Google Authenticator App auf eurem Smartphone. Dort wird in der App alle 30 Sekunden ein neuer Code für den Login erzeugt. Ohne euer Mobiltelefon ist der Angreifer also aufgeschmissen. Dieser Vorgang ist vor allem für Administrator Accounts zu empfehlen.

Datenbank Prefix umbenennen

Funfact: Auch wir haben gedacht, sowas funktioniert. Aber niemand ist unfehlbar. Wenn jemand Zugriff auf den Server hat, kommt er auch über einen einfachen Befehl an die Daten der Tabellen inklusive des Datenbank Prefixes von WordPress. Eine sinnvolle Benennung kann bei mehreren Projekten von Vorteil sein und sollte vielleicht generalisiert eingesetzt werden.

/wp-admin/ Ordner mit Passwort schützen

Ihr könnt auch serverseitig euer WordPress schützen indem Ihr einen Verzeichnisschutz anwendet. Viele Hoster bieten diese Funktion direkt über das Backend an. Alternativ zeigen wir euch hier wie ihr das selbst bewerkstelligen könnt.

Inhalt für die .htaccess Datei im /wp-admin/ Ordner.

# protect /wp-admin
AuthName "Admin-Bereich"
AuthType Basic
AuthUserFile /pfadzur/.htpasswd
require valid-user

Den Inhalt für die .htpasswd könnt ihr mit diesem Tool erzeugen. Auch diese Datei ladet ihr in das Verzeichnis. Der Inhalt sollte dann so aussehen:

Benutzername:$apr1$YEMfFKx1$AjD8D6ORNMrxe.b7MeWLo1

Achtung: Einige Plugins oder Funktionen von Themes greifen auf die admin-ajax.php im Ordner /wp-admin/ zu. Diese kann mit einem Passwortschutz aber nicht aufgerufen werden und führt zu Problemen. Daher geben wir diese Datei per .htaccess frei und die Datei kann ohne Probleme genutzt werden.

Füge folgendes ans Ende deiner .htaccess ein:

<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

Mehr über .htaccess Konfigurationen und Anleitungen erfahrt ihr in unserem entsprechenden Blogpost.

Captcha und Login Limitierung

Du kannst deinen WordPress Login auch per Captcha „schützen“ und mit einer Limitierung für die Login versuche versehen. Das kann schon etwas bringen, ist aber nicht das Allheilmittel. Vorteil: Bei zu vielen falschen Login versuchen wird der Zugang generell für x Minuten gesperrt. Die Sperrzeit und die möglichen Versuche können eingestellt werden. Idealerweise bringt das Plugin WP Limit Login Attemps beide Features mit und wird regelmäßig aktualisiert.

Security Plugin

Es gibt eine Reihe von Security Plugins für WordPress. Viele davon bringen einige brauchbare Features mit und können die Sicherheit im WordPress verbessern. Zu empfehlen ist hierbei z.B. Sucuri Security. Es hilft dabei das System zu überwachen. Es scant nach gefährlicher Malware, überwacht die Dateiintegrität nach unerlaubten Änderungen, eine Firewall für WordPress uvm. ABER: Diese Plugins sind auch nicht unfehlbar oder bieten 100% Schutz. Sie unterstützen lediglich, man sollte also generell wissen was man tut. Auch im Rahmen der DSGVO ist der Einsatz solcher Tools oft schwierig.

Editor für Theme & Plugins deaktivieren

Um weiteren Schutz zu bieten, kann das editieren von Theme- und Plugin-Dateien im WordPress deaktiviert werden. Hiermit kannst du deine WordPress Sicherheit durchaus stark verbessern. Das geht sehr einfach über die wp-config.php.

Füge folgenden Code in die wp-config.php Datei ein:

define( 'DISALLOW_FILE_EDIT', true );

Bonus

Zugriff auf wp-config.php unterbinden

Warum sollte man den Zugriff auf die wp-config.php verhindern? Weil dort alle wichtigen Daten für den Zugriff des Systems zu finden sind – Die Datenbankdaten! Aus dem Grund verwenden wir einen Zusatz in der .htaccess Datei um diesen Zugriff auf jeden Fall zu unterbinden.

Fügt folgendes an das Ende eurer .htaccess hinzu:

# wp-config.php Zugriff verhindern
<files wp-config.php>
Order deny,allow
deny from all
</files>

Sichere Dateirechte

Generell sollte man darauf achten das die Dateirechte korrekt gesetzt sind. Je nach Hoster wird automatisch 644(Dateien) oder 755(Ordner) gesetzt. Das sollte man kontrollieren. Einige Bereiche, wie auch der Uploads Bereich, benötigen jedoch 664(Dateien) und 775(Ordner). ACHTUNG: Wenn ein Theme oder Plugin unbedingt volle Rechte wie 666(Dateien) oder 777(Ordner) möchte, raten wir dringend vom Einsatz ab!

Weitere Infos über Dateirechte findet ihr bei Binary Butterfly von Ernesto.

WP Version verstecken

Im Quelltext ist der Metatag <meta name=“generator“ content=“WordPress x.x.x“ /> zu finden. Dieser verrät eure WordPress Version und macht es damit Angreifern sehr einfach eure WP Version zu erkennen. Wir schalten diese Funktion also einfach ab.

Füge folgendes in deine functions.php des Themes ein:

remove_action('wp_head','wp_generator');

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert