Zum Inhalt springen
Christian Eckl

Christian Eckl

Young- und Oldtimer, IT-Technik, Android und mehr

Menü

  • Kontakt
  • Impressum
  • Datenschutzerklärung

WordPress absichern

grey-m Es gibt im Internet eine Vielzahl von Anleitungen, mit nützlichen Tipps um die eigene WordPress Installation sicherer zu gestalten. Da die Installationsroutine von WordPress stets dieselbe ist, und am Ende immer ein User mit dem Namen admin die Administratorenrolle bekommt, die Tabellen immer den Präfix wp_ erhalten, ist das Eindringen in eine Standard-Installation relativ einfach.
Schon mit wenigen Änderungen wird es für einen Angreifer allerdings ungleich schwerer, ändert man zum Beispiel den Namen des Administrator von admin in KlAus, muss der Angreifer nicht nur das Passwort sondern auch den geänderten Loginnamen erraten.

WP Security Scan

WP Security Scan Das Plugin WP Security Scan ist bei diesen kleinen Änderungen sehr hilfreich und zeigt in einem Extrabereich des Administrationsmenüs mögliche Schwachstellen auf.

In meinem Beispiel werden alle Tests bestanden, bis auf das Tabellen Präfix, welches bei mir noch wp_ lautet.

Neben dieser kurzen Übersicht über die Hauptschwachstellen bietet das Plugin noch einen Scanner für die Dateizugriffsrechte der wichtigen Verzeichnisse und einen Generator zur Erstellung wirklich sicherer Passwörter.

Limit Login Attempts

Eine weitere Schwachstelle von WordPress stellt der Login zum Administrationsbereich dar. Für einen Angreifer ist es möglich ein Passwort mittels geeigneter Tools zu knacken, da WordPress unendlich viele Eingabeversuche erlaubt. Abhilfe schafft hier das Plugin Limit Login Attempts, mit dessen Hilfe die maximale Anzahl für Login Versuche festgelegt werden kann.

AskApache Password Protect

Ein weiterer Möglichkeit die Sicherheit der Installation zu steigern bietet ein Schutz der wichtigen Verzeichnisse mittels .htaccess-Dateien. Hier gilt es aber im Voraus zu klären, ob die Verwendung von .htaccess-Dateien auf dem eigenen Webspace auch möglich ist.
Der einfachste Weg diesen Schutz zu realisieren bietet das Plugin AskApache Password Protect, welches über ein eigenes Menü die Verwaltung der .htaccess-Dateien ermöglicht.

.htaccess manuell

AskApache Password Protect bietet allerdings mehr als der normale Nutzer benötigt, und wer sich nicht scheut selbst ein paar Dateien auf dem Server zu verschieben, kann den Schutz auch manuell einrichten.
Zuerst wird eine Passwortdatei benötigt, diese heißt meist .htpasswd, der Name ist aber nicht zwingend vorgeschrieben. Die Datei beinhaltet später die Namen der berechtigten Personen und die Passwörter.
Als Speicherort ist es empfehlenswert die Datei außerhalb des Webverzeichnisses zu speichern, ein Auslesen über das Internet wird eigentlich über den Dateinamen .ht… verhindert, aber sicher ist sicher, also raus damit aus dem Webverzeichnis. 
Erstellt werden kann diese Datei mit einem Generator im Internet, den ausgegebenen Text (Benutzername:Passwort) einfach in die Datei .htpasswd einfügen und speichern.

Ist die Passwortdatei auf dem Server hinterlegt, ist die halbe Arbeit schon erledigt, nun benötigen wir nur noch den absoluten Pfad zur Passwort Datei und erstellen dann noch zwei Dateien mit folgendem Inhalt.

.htaccess Datei für das Wurzelverzeichnis:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

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

<Files wp-login.php>
  Order Deny,Allow
  Deny from All
  Satisfy Any
  AuthType Basic
  AuthName "Kein Zugang!"
  AuthUserFile /Pfad/zur/Passwort/Datei/.htpasswd
  Require valid-user
</Files>

Die .htaccess-Datei im Wurzelverzeichnis der WordPress Installation schützt die Dateien wp-config.php, die wichtige Daten über die Datenbank enthält, und die Datei wp-login.php.
Während der Zugriff auf wp-config.php komplett gesperrt ist, kann wp-login.php aufgerufen werden, es erscheint dann allerdings ein Eingabefenster in dem der Nutzer seinen Benutzernamen und sein Passwort eingeben muss. Unberechtigte haben somit keine Chance das Login-Formular zu erreichen.
Der oberste mit # BEGIN WordPress beginnende Bereich wird von WordPress selbst eingetragen und regelt das Umschreiben der Permalinks mittels mod_rewrite.
In der Zeile AuthUserFile /Pfad/zur/Passwort/Datei/.htpasswd muss der absolute Pfad zur gespeicherten Passwort-Datei angegeben werden.

.htaccess Datei für den wp-admin-Ordner:

Order Deny,Allow
Deny from All
Satisfy Any
AuthType Basic
AuthName "Kein Zugang!"
AuthUserFile /Pfad/zur/Passwort/Datei/.htpasswd
Require valid-user

<FilesMatch ".(ico|pdf|flv|jpg|jpeg|mp3|mov|wav|wmv|png|gif|swf|css|js
$">
Allow from All
</FilesMatch>

<FilesMatch "(async-upload|admin-ajax).php$">
  <IfModule mod_security.c>
    SecFilterEngine Off
  </IfModule>
  Allow from All
</FilesMatch>

Die Datei für den wp-admin-Ordner ist etwas kürzer, da sie die rewrite-Regeln nicht enthält. Jeglicher Zugriff auf die Dateien im Admin-Ordner werden nur nach erfolgreicher Authentifizierung mittels Benutzername und Passwort gestattet, ausgenommen sind alle Dateien mit den Endungen, die unter FilesMatch aufgeführt sind.
Diese Dateien werden teilweise bei Fehlermeldungen (Kommentare) benötigt und können so auch ohne Authentifizierung genutzt werden.

Fazit

Nutzt man all diese Möglichkeiten und benutzt dazu noch sichere Passwörter ist die eigene WordPress-Installation ziemlich sicher. 100%ige Sicherheit gibt es nie, Freiwild ist man somit aber auch nicht mehr.

WordPress absichern
Markiert in: .htaccess    absichern    askapache password protect    limit login    Sicherheit    Wordpress    wp security scan    wp-admin
christian 8. Februar 200912. Mai 2018 Aktuelles, Computer und Technik
  • ← Nägel des Grauens
  • Der Berliner, Dienstag 8. Januar 1946 – Fundstück →

Über mich

  • Zur Person
  • Meine Webseiten
  • Meine Bücherliste
  • Mein Github Account

Familie Eckl

  • Annas Blog
  • Besuchskalender (PW)
  • Baustellen Blog (PW)

Lizenzbestimmungen

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Kategorien

  • Aktuelles
  • Android
  • Computer und Technik
  • Film und Fernsehen
  • High Performance Computing
  • Oldtimer
  • Raspberry Pi

Meta

  • Anmelden
  • Feed der Einträge
  • Kommentare-Feed
  • WordPress.org
Copyright © 2023 Christian Eckl. Alle Rechte vorbehalten. Theme Spacious von ThemeGrill. Powered by: WordPress.