Heutiges Datum:21. August 2019

5/5 (5) WordPress absichern 2019 – Webserver absichern – Einsatz von Security Plugins Teil 1

WordPress vor Angriffen absichern

Heute möchte ich mal keinen Beitrag über Netzwerksicherheit, UTM, etc. schreiben, sondern über das Absichern einer WordPress-Installation und den generellen Schutz eines Webservers informieren. 

Ihr werdet in diesem Beitrag erfahren, wie ihr WordPress absichern könnt, ob der Einsatz von WordPress Security Plugins sinnvoll ist, wie ihr euren Webserver absichern könnt und somit eure WordPress Installation vor Angriffe schützt.

Auch für diesen Blog wird das Content-Management-System WordPress eingesetzt. Dieses CMS ist einfach zu bedienen und genau für diesen Zweck entwickelt worden, daher bin ich vor langer Zeit auch von Joomla zu WordPress gewechselt. 

Wer diesen Blog kennt oder vielleicht später andere Beiträge auf dieser Seite liest, kann erahnen, dass ich mich natürlich auch in diesem Segment über die Sicherheitsaspekte von WordPress ausführlich informiert habe. 

Aufgrund das dieses Thema sehr umfassend ist, werde ich diesen Beitrag auf mehrere Unterbeiträge aufteilen.

01

WordPress absichern –
Manuelle Maßnahmen Teil 1

In diesem Teil geht es um manuelle Maßnahmen, um deine WordPress Installation vor Angriffen zu schützen.

02

Manuelle Maßnahmen Teil 2

Im zweiten Teil werde wir ebenfalls manuelle Maßnahmen nutzen, um deinen Webserver vor Angriffen zu härten / abzusichern.

03

WordPress Plugins

Vorstellung von WordPress Plugins die dir das Leben erleichtern und Plugins von denen du lieber die Finger lassen solltest.

[toc]

WordPress absichern – Manuelle Maßnahmen

…zeige ich euch, wie ihr manuelle Maßnahmen ergreifen könnt, um eure WordPress Installation vor unbefugte Veränderungen zu schützen. Dies Maßnahmen erfordern in manchen Situationen ein gewisses Wissen über den Aufbau einer WordPress Installation, Umgang mit FTP-Clients, Verstehen von PHP-Code und so weiter. Dieses soll bedeuten, dass diese Art der Absicherung nicht für Laien gedacht ist.

WordPress-Plugins die dir Helfen können…

…stelle ich euch einige WordPress-Plugins vor, die diese Maßnahmen zur Absicherung eurer WordPress-Installation für euch übernehmen können.

Daher denke ich, dass hier für jeden etwas dabei sein sollte…

Bitte beachten!!!
Wie ihr ja alle wisst, gibt es leider keine 100 prozentige Sicherheit. Daher beachtet bitte, dass alle hier gezeigten Tipps und Tricks, von mir nach besten Gewissen veröffentlicht wurden, ich aber natürlich keine Garantie dafür gebe, dass eure Seit damit zu 100 Prozent vor Angriffe geschützt ist. Das Karussell von Angriff und Abwehr dieser, dreht sich immer weiter und bleibt damit ein Katz und Maus Spiel!

WordPress absichern – Allgemeine manuelle Tipps

Es gibt eine Menge an manuelle Möglichkeiten, wie ihr euren Webserver und eure WordPress Installation gegen Angriffe absichern könnt. Daher geht einfach Schritt für Schritt die unteren Tipps durch und härtet so eure WordPress Instanz.

Regelmäßige Backups erstellen 

Unverzichtbar, nicht nur bei WordPress, ist das regelmäßige anlegen von Datensicherungen (Backups). 

Man kann es nicht oft genug vorbeten, dass eine Datensicherung wichtiger Dateien (egal ob Webserver oder Computer Daheim) unverzichtbar ist und an erster Stelle bei einem IT-Sicherheitsplan stehen muss. Allzu oft erlebe ich es immer wieder, dass es keine oder keine aktuellen Backups von wichtigen Dateien gibt und diese dann nicht wiederhergestellt werden können. Als Stichwort nenne ich nur mal den Angriff per Ransomware. 

Sichere Passwörter für WordPress und Server 

Immer wieder unterschätzt, obwohl überall propagiert, ist die Verwendung von sicheren Passwörtern. Was nützt einem die beste Firewall oder Absicherung des Servers, wenn alle Sicherungsmaßnahmen mit unsicheren Passwörtern abgesichert werden.

Daher nutzt bitte, bitte immer sichere Passwörter!

Wie sichere Passwörter erstellt werden und wie man sich diese merken beziehungsweise aufbewahren kann, habe ich schon einmal in diesem Blog niedergeschrieben.

Beiträge zu diesem Thema:

Was macht ein sicheres Passwort aus?

Passwort Manager Test 2019

WordPress-Login mit Zwei-Stufen-Authentifizierung ausstatten 

Die Nutzung einer zweiten Authentfikationsstufe (2FA-Authentifizierung) ist eine weitere Möglichkeit das Login-Verfahren bei der Anmeldung zu seiner WordPress Instanz abzusichern und sollte auf jeden Fall eingesetzt werden. Für diese Art der Authentifikation gibt es mehrere Verfahren. Unterschieden werden bei der 2-FA Authentifizierung drei Verfahren:

Besitz: 

Das können zum Beispiel eine Smartcard, ein Sicherheitstoken in Form eines USB-Key (z.B. YubiKey), TAN-Liste und ähnliches sein 

Wissen:

Hier werden zum Beispiel ein zusätzlicher PIN benötigt.

Sein: 

Bei dieser Methode benötigt man einen Fingerabdruck, Irisscan, Venenscan oder ähnliches.

Alle haben gemein, dass zur Eingabe des Benutzername und Passwort zusätzlich noch einer der oben genannten zweiten Authentifizierung von Nöten ist, um sich erfolgreich anmelden zu können. 

Google Authenticator Plugin

Ein freies Plugin um den Google Authenticator zu nutzen findet ihr hier:

Plugin Google Authenticator herunterladen

Unterstütze diesen Blog

mit deiner kleinen Spende!

Werbung ist einfach nicht mein Ding und finde es woanders auch echt nervig!  
Doch entstehen durch Tests und das Hosting auch gewisse Kosten. Daher möchte ich euch darum bitten, diesen Blog mit einer kleinen Spende zu unterstützen.

WordPress via TLS verschlüsseln 

Absolut wichtig ist es, dass eure Webpräsenz via TLS (früher SSL) komplett verschlüsselt wird. Hier ist es wichtig, dass alle Anfragen (Login, Anhänge, etc.) über TLS verschlüsselt werden. So dass keine Daten unverschlüsselt zwischen Client und Server übertragen werden.  

Zur Verschlüsselung eurer WordPress Installation braucht ihr natürlich ein Sicherheitszertifikat einer öffentlichen Zertifizierungsstelle, ansonsten gibt es die Sicherheitshinweise in eurem Browser. Wenn möglich nutzt hier ein Zertifikat von Let´s Encrypt. Viele Webhoster bieten das heute an. Die Zertifikate sind hier kostenfrei. 

Nun müsst ihr noch dafür sorgen, dass jeglicher Anfragen via TLS verschlüsselt kommuniziert wird. Dies macht ihr dadurch, dass ihr in der wp-config.php die folgende Änderung vornimmt: 

define('FORCE_SSL_ADMIN', true); 

Zugriffsrechte der WordPress Ordner und Dateien auf dem Server setzen

Sehr wichtig ist unter anderem das richtige Setzen der Berechtigungen auf die Dateien und Ordner bei eurer WordPress Installation. Generell müssen hier die folgenden Berechtigungen gesetzt werden:

Ordner (inklusive Unterordner): 755

Dateien: 644

Es gibt mehrere Möglichkeiten, wie ihr diese Berechtigungen setzen könnt. Die einzelnen Möglichkeiten sind wie folgt:

Berechtigungen setzen via FTP (sFTP):

Um die Zugriffsrechte via ftp zu setzen, meldet euch mit euren Zugangsdaten im Webportal eures Hosters an und nehmt die Änderungen der Rechte mit dem Dateiexplorer (WebFTP) vor. Noch besser geht das Ganze via FTP-Client (FileZilla, WinSCP, Cyberduck, usw.). Hierfür müsst ihr dann eure FTP-Zugangsdaten im FTP-Client hinterlegen und dann eine sFTP-Verbindung (verschlüsselte FTP-Verbindung) zu euren Webserver herstellen.

Berechtigungen setzen via Shell:

Solltet euch der Zugang zu eurem Webserver via Shell möglich sein, dann ist die Rechteanpassung mit ein paar Zeilen erledigt. Wechselt hierzu nach erfolgreicher Anmeldung auf eurem Server in das Verzeichnis, in dem euer WordPress-Verzeichnis liegt und gibt hier die folgenden Befehle in die Kommandozeile ein.

Der Befehl, um in das Verzeichnis zu wechseln:

cd /var/www/deineWordPressSeite

Für /var/www/WordPressSeite müsst ihr natürlich eurem eigenen Pfad zum WordPress Verzeichnis eurer Seite einsetzen.

Die Befehle, um die Zugriffsrechte zu vergeben:

chown www-data:www-data -R * (ggf. den User anstatt www-data eintragen, mit dem die WordPress Installation angelegt wurde.)
find . -type d -exec chmod 755 {} \;  
find . -type f -exec chmod 644 {} \;

Zum Abschluss sollte der Zugriffsschutz für die Datei wp-config.php noch weiter nach unten gesetzt werden. Hierzu gibt ihr den folgenden Befehl ein:

wp-config.php chmod 440

WordPress-Standard-Account “Admin” ändern 

Sehr wichtig ist es, den Standard-Admin-Account “admin” auszutauschen. Dieses könnt ihr ganz einfach im Backend euer WordPress-Installation vornehmen. Zunächst meldet ihr euch im Backend als Admin an und legt ein neues Administratoren-Konto an, am besten mit einem Phantasienamen (also keinen Namen der im Wörterbuch vorkommt). Des Weiteren legt ihr noch ein Konto mit der Benutzerrolle „Autor“ an. Diesen User brauchen wir dafür, dass veröffentlichte Beiträge usw. vom Benutzer admin, auf das neue Autoren-Konto verschoben werden kann.

Danach könnt ihr das alte Admin-Konto „admin“ löschen. 

Einsatz von WordPress Plugins reduzieren 

Es gibt eine unzählige Anzahl an Plugins für WordPress, die nützlichen oder auch nicht so nützlichen Funktionen mitbringen.  

Jedes neue Plugin bedeutet natürlich auch zusätzlichen Code. Je nach den Fähigkeiten mancher Entwickler, kann mit schlechtem Code sich ein riesen Scheunentor in deiner Installation öffnen und ist somit für viele Angreifer ein nettes Geschenk! 

Daher ganz klar mein Rat an dich,
setze immer nur die allernötigsten Plugins ein und achte vor allem darauf, dass diese Plugins auch kontinuierlich aktualisiert werden!

WordPress und Plugins aktuell halten (Updates) 

Man kann es ja nie oft genug schreiben! Bitte spielt regelmäßig angebotene Updates für die von euch genutzten Plugins ein und dies gilt natürlich selbstklärend auch für angebotene Updates für eure WordPress Installation. Eine automatische Aktualisierung der WordPress Instanz und der installierten Plugins könnt ihr durch das Anlegen der folgenden Anweisungen in der „functions.php“ aktivieren. 

Automatisches Update von WordPress

add_filter( 'auto_update_core', '__return_true' );

Automatisches Ubdate von installierten Plugins

add_filter( 'auto_update_plugin', '__return_true' );

Automatisches Update von WordPress-Themes

add_filter( 'auto_update_theme', '__return_true' );

Automatisches Update von WordPress-Übersetzungen

Die Übersetzungsdateien für WordPress sowie Plugins brauchen nicht seperat in der functions.php aktiviert werden, da diese automatisch bei der Akualisierung von WordPress oder Plugins mitaktualisiert werden.

WordPress-Dateien mit .htaccess absichern

Eine weitere Schutzmaßnahme, um deine WordPress-Instanz abzusichern, ist der Dateischutz von der wp-config.php per .htaccess. In dieser Datei ist unter anderem das Passwort für die von WordPress genutzte Datenbank im Klartext hinterlegt. 

Die Schutzmaßnahme per .htaccess ist meines Erachtens die sicherste Lösung um einen Zugriff auf die wp-config.php zu verhindern. 

Mit dem folgenden Script könnt ihr den Zugriff auf folgende Dateien sperren: 

  • wp-config.php
  • Auf alle txt-Dateien
  • liesmich und readme-Datei
  • robot.txt
# Ab Apache 2.4
# Disallow access to important files
<FilesMatch "(^\.|wp-config\.php|(?<!robots)\.txt|(liesmich|readme)\.*)">
   Require all denied
</FilesMatch>

Offene Fragen?!

Solltet ihr noch Fragen haben oder ihr vermisst hier etwas, dann nutzt einfach die Kommentar-Funktion oder schreibt mir eine Mail!

Im nächsten Teil folgt…

Im zweiten Teil des Themas „WordPress absichern“ wird es um das Härten / Absichern eures Webservers gehen. Dieser Teil ist schon in Arbeit und wird bald folgen…
Über eine Bewertung würde ich mich freuen!

Im nächsten Teil folgt...

Wie hat dir der Beitrag gefallen?


5/5 (5)

Marcel

Bin schon ewig mit der IT verbunden und interessiere mich hauptsächlich für die Themen IT-Sicherheit, Programmierung und Gesellschaft. Betreibe diesen Blog aus Leidenschaft und setze mich für eine sichere IT-Landschaft ein, um das Recht auf Privatsphäre mit kleinen Mitteln zu schützen.

Schreibe einen Kommentar

Hat dir dieser Artikel gefallen?
Dann würde ich mich über eine Bewertung freuen!

Tipp! Du findest mich jetzt auch auf YouTube

Hier findest du einige Tutorials auch als Video!
Tutorial-Videos auf YouTube anschauen
close-link