Zum Inhalt wechseln
Dr. Web Logo seit 1997.
  • Beste Agenturen
  • Magazin
  • Beste Agenturen
  • Magazin
Dr. Web Logo seit 1997.
  • Kontakt
  • Anmeldung
  • Newsletter
  • Beste Agenturen
  • Magazin
Menü
  • Beste Agenturen
  • Magazin
Suche
Agenturpartner werden →
Dr. Web » IT Sicherheit » WordPress-Sicherheit: So schützt du deine WordPress Website

WordPress-Sicherheit: So schützt du deine WordPress Website

Facebook Icon. facebook Twitter Icon. twitter Xing Icon. xing Linkedin Icon. linkedin Whatsapp Icon. whatsapp
  • 7 Kommentare
Lesedauer: 12 Minuten
  • von Markus Seyfferth
  • 8. Juni 2019

Es besteht durchaus die Möglichkeit, dass du den Schaden erst bemerkst, wenn Google dich aus dem Index entfernt hat. Lass es dazu gar nicht erst kommen und beherzige meine heutigen Tipps zur WordPress-Sicherheit.

 

Optimiere die wp-config.php für mehr WordPress-Sicherheit


Es existieren viele Möglichkeiten, seine auf WordPress basierende Website davor zu schützen, gehackt zu werden. Als einen wichtigen Teil einer vernünftigen Sicherheitsstrategie kann die Optimierung der wp-config.php Datei angesehen werden. Natürlich ist die Website im Anschluss nicht die Bank von England, jedoch hat man es den Hackern wieder ein wenig erschwert.

Um die wp-config.php zu optimieren, werden sogenannte Konstanten genutzt. WordPress verfügt über sehr viele Konstanten, die genutzt werden können. Doch was ist eigentlich eine Konstante? PHP.net beschreibt die Konstanten folgendermaßen:

Eine Konstante ist ein Bezeichner (Name) für einen einfachen Wert. Wie der Name bereits nahelegt, kann der Wert einer Konstanten zur Laufzeit des Skripts nicht verändert werden (ausgenommen die Magischen Konstanten, die aber keine wirklichen Konstanten sind.) Eine Konstante unterscheidet standardmäßig zwischen Groß- und Kleinschreinbung (case-sensitive). Nach gängiger Konvention werden Konstanten immer in Großbuchstaben geschrieben.

Konstanten sind in die define() Funktion eingebettet und sehen so aus: define('NAME_DER_KONSTANTE', value);
Die wp-config.php ist die Steuerungsdatei für WordPress. Sie wird vor allen anderen Dateien geladen, allein schon deshalb, weil WordPress eine Datenbankverbindung herstellen muss. Die dazu nötigen Angaben finden sich in der Config-Datei. Wenn du den Wert einer Konstante änderst, eine Konstante hinzufügst oder ihren Wert änderst, dann änderst du auch das Verhalten von WordPress.

Wie und wo wird WordPress gehackt und was kann man dagegen tun?

Zwei Hände voll grundlegender Tipps helfen schon einmal, um die schlimmsten Sicherheitsmängel einer jeden WordPress-Installation weniger schlimm zu gestalten. Darunter finden sich augenscheinliche Selbstverständlichkeiten, wie das zeitnahe Update bei neuen WordPress-Versionen oder die richtige Backup-Strategie, um im Fall der Fälle wenigstens nicht alles zu verlieren. Aber auch weniger naheliegende, im Sinne von sich selbst aufdrängenden Tipps, wie etwa der Schutz des Verzeichnisses wp-admin oder die Nichtverwendung des Benutzernamens admin gehören dazu.

Sofort wird augenfällig, dass nicht etwa schwache Passwörter das Hauptproblem beim Betrieb einer WordPress-Seite sind – nur 8 Prozent aller Hacks begründen sich daraus. Wesentlich relevanter sind Plugins und Themes mit über 50 Prozent aller Hacks, wobei die Themes mit 29 Prozent noch einmal ein Stück vor den Plugins liegen.

Die größte einzelne Schwachstelle jedoch ist mit 41 Prozent das Thema Hosting. Hier geht es um Themen, wie Datenbank-Sicherheit, das vorsichtige Setzen von Dateiberechtigungen, das Verstecken von Dateien und Verzeichnissen, die Absicherung des Netzwerks auf Protokollebene und einiges mehr. Bei diesen Themen wird der durchschnittliche Seitenbetreiber regelmäßig professionelle Hilfe in Anspruch nehmen müssen und sollte das auch tun.

Vor der Arbeit: Bitte ein Backup anfertigen

Erstens: Fertige vor der Bearbeitung der wp-config.php ein Backup dieser Datei an. Mit falschen oder fehlenden Einträgen wird deine Website nicht mehr funktionieren.

Zweitens: Bitte füge alle benutzerdefinierten Angaben über dem im folgenden Screenshot markierten Bereich ein.

Füge alle selbstdefinierten Konstanten oberhalb dieses Bereichs ein.
Füge alle selbstdefinierten Konstanten oberhalb dieses Bereichs ein.

Wichtig: WordPress und Plugins immer sofort updaten

Du wirst es schon öfter gehört haben. Doch gerade dieser Punkt ist so wichtig, dass man ihn nicht oft genug wiederholen kann. Immer und immer wieder werden Websites gehackt, weil WordPress oder die Plugins nicht auf dem neuesten Stand waren. Updates sind die beste Versicherung gegen Hacking!

Die aktuelle Sicherheitslage:
Die Sicherheitsspezialisten Sucuri warnen gerade vor einer Sicherheitslücke im beliebten Jetpack-Plugin für WordPress. Über die Shortcode-Embed-Funktion kann schadhafter Code eingefügt werden. Automattic wird sicherlich zeitnah reagieren und eine neue Version herausbringen.

So ist die Sicherheitslücke vorerst zu schließen:
Solltest du meine »optimale .htaccess«-Datei verwenden, dann droht dir keine Gefahr. Dort wird die berühmte 6G-Firewall verwendet, die solche Angriffe abzuwehren vermag.

Die Vorbereitung:

Für alle nun folgenden Arbeiten benötigst du ein FTP-Programm und einen HTML-Editor. Die wp-config.php wird auf den Desktop heruntergeladen, im HTML-Editor bearbeitet und im Anschluss wieder auf den Server geladen.

Nutze die Sicherheitsschlüssel

Die Sicherheitsschlüssel in WordPress verschlüsseln zum Beispiel die Anmeldeinformationen in Cookies und sind daher extrem wichtig. Auch wenn deine wp-config.php bereits über eingetragene Sicherheitsschlüssel verfügt, so kann es nicht schaden, sie noch einmal zu ändern. Wenn die Schlüssel abgeändert werden, werden alle noch offenen Anmeldungen deiner Benutzer abgemeldet. Im Anschluss kannst du dich wieder ganz normal mit deinem Benutzernamen und dem vergebenen Passwort anmelden.

Solltest du jedoch bereits gehackt worden sein, dann solltest du zuerst deine Website vom Schadcode bereinigen. Eine entsprechende Anleitung findest du in den weiterführenden Informationen zu diesem Punkt. Danach besuchst du den WordPress Generator für die Sicherheitsschlüssel und kopierst dir einen neuen Satz. Ersetze den alten Teil mit dem Neuen – siehe Screenshot:

Die Sicherheitsschlüssel in der wp-config.php.
Die Sicherheitsschlüssel in der wp-config.php.

Solltest du noch keine Sicherheitsschlüssel eingefügt haben, dann ist nun der richtige Zeitpunkt, um es zu tun.

Weiterführende Informationen:

  • Dr. Web: WordPress gehackt? Das musst du jetzt tun!
  • WordPress-Generator für die Sicherheitsschlüssel

WordPress-Sicherheit: Erzwinge die Verwendung von HTTPS

Ein SSL-Zertifikat verschlüsselt die Verbindung zwischen deiner Website und dem Browser deines Besuchers. Mit HTTPS wird es den Hackern unmöglich gemacht, persönliche Daten abzufangen und zu stehlen. Wenn du bereits ein SSL-Zertifikat für deine Website besitzt, dann kannst du die Nutzung von HTTPS anstatt HTTP forcieren, also deine Website zwingen, es auch zu nutzen. Das steigert die Sicherheit deiner Website sehr. Solltest du bislang über kein SSL-Zertifikat verfügen, dann denke eingehend darüber nach, eines zu nutzen.

Vor großartigen Kosten musst Du keine Angst haben, SSL gibt es mittlerweile auch kostenlos. Wir hatten bereits darüber geschrieben.

Die folgenden Einträge solltest du verwenden, wenn deine Website bereits SSL verwendet. Der oberste Eintrag ist für das geschützte Einloggen gedacht, der untere Teil zwingt den Browser, auch den Adminbereich von WordPress nur mit SSL nutzbar zu machen.

// Forciere das Anmelden mit SSL
define('FORCE_SSL_LOGIN', true);

// Adminbereich nur Nutzbar mit SSL
define('FORCE_SSL_ADMIN', true);

Ändere das Datenbank-Präfix

Das Datenbankpräfix ist auch unter der Bezeichnung Tabellenpräfix bekannt. Dieses Präfix wird als Ergänzung vor jede von WordPress generierte Datenbank-Tabelle gesetzt. Der Standard ist hierbei wp_. Dieser Standard sollte in irgend etwas anderes abgeändert werden. Je kryptischer der Wert, umso besser. Keine Angst, du musst dir nicht merken, was du hier vergibst. Dieser Wert wird nur ein einziges Mal gesetzt.

Genau betrachtet ist die Möglichkeit einer SQL-Injektion nicht sehr wahrscheinlich. Doch sie ist möglich. Daher ändere den Wert ab, bevor du WordPress installierst. Nutze zum Beispiel etwas wie hdr7rf_.

Achtung: Solltest du den Wert bei einer bereits bestehenden WordPress-Installation ändern, dann ist die Website nicht mehr zugänglich!

Schalte den Plugin- und Theme-Editor ab

In jeder WordPress-Installation kann man Theme- und Plugin-Dateien direkt im Adminbereich bearbeiten. Unter den Menüpunkten »Design« und »Plugins« findet man auch jeweils den Editor für die betreffenden Dateien. Dieser Editor ist sehr gefährlich, wenn er in die Hände eines Hackers gerät. Dateien könnten zerstört und Viren, Trojaner, Spam und andere Malware könnten hinzugefügt werden. Doch auch für dich als Administrator deiner Website ist der Editor gefährlich. Ein einziger Fehler, ein einziges vergessenes Semikolon kann bereits die berühmten weißen Seiten anzeigen und dann geht nichts mehr.

Änderungen an Theme- oder Plugin-Dateien werden grundsätzlich nur über (S)FTP gemacht, das ist wesentlich sicherer. Also müssen die Editoren abgeschaltet werden. Eine einzige Zeile in der wp-config.php schaltet beide Editoren sicher ab:

//Schaltet die Theme- und Plugin-Editoren ab
define('DISALLOW_FILE_EDIT', true);

Verschiebe die wp-config.php

Die wp-config.php ist das Herz deiner Website. Alle relevanten Daten inklusive den Passwörtern für die Datenbank sind dort eingetragen. Daher ist es sehr wichtig, diese Datei so sicher wie möglich zu halten. Hierzu gibt es zwei Ansätze. Der erste Ansatz ist eine Zugriffssperre über die .htaccess-Datei. Der zweite Ansatz verschiebt die Datei an einen anderen Ort, unter dem ein Hacker sie nicht vermuten würde.

  • Problematisch wird es mit dem Verschieben, wenn sich die Website in einem Unterverzeichnis befindet und du ein günstiges Shared-Hosting nutzt.
  • Ebenfalls schwierig werden kann das Verschieben, wenn du sehr viele Websites in eigenen Verzeichnissen hast. Treffen beide Konstellationen nicht auf dich zu, dann kannst du die Datei verschieben.

// Die wp-config.php an einen anderen Ort verschieben.
// Achtung: Der Pfad muss angepasst werden
define'ABSPATH', dirname__FILE__ ;
require_once ABSPATH '../path/to/wp-config.php';

Wenn du den Pfad zur wp-config.php korrekt angepasst hast, dann sollte deine Website anschliessend funktionieren.

Erzwinge die Nutzung von FTPS

Wenn dein Webhoster das File Transfer Protocol Secure (FTPS) aktiviert hat, dann kannst du die Verwendung von FTPS zur Übertragung von Dateien erzwingen. Das verschlüsselt dann die Verbindung zwischen dem Benutzer und deinem Server. Es ist nun nicht mehr möglich, mit dem unsicheren FTP-Protokoll auf die Daten auf dem Server zuzugreifen. FTP ist unsicher, weil die Zugangsdaten unverschlüsselt und im Klartext an deinen Server übertragen werden. Daher nutze – wenn möglich – nur die sichere Verbindung über FTPS. Dein Webhoster kann dir beantworten, ob eine FTPS-Verbindung möglich ist.

So einfach kannst du die Nutzung von FTPS erzwingen:

define('FTP_SSL', true);

Weiterführende Informationen:
Wikipedia: FTP über SSL

Erzwinge die Nutzung von SFTP

Manche Hoster haben anstatt des FTPS-Protokolls das SFTP-Protokoll zur Datenübertragung aktiviert. Auch hier findet eine verschlüsselte Verbindung zwischen dem FTP-Programm des Users und dem Server statt. Mit der folgenden Code-Zeile kann die Nutzung von SFTP erzwungen werden:

define('FTP_SSL', true);

Weiterführende Informationen:
Wikipedia: SSH File Transfer Protocol

Den Debug-Modus ausschalten

Solltest du für Entwicklungszwecke den Debug-Modus von WordPress eingeschaltet haben, dann ist es sehr wichtig, ihn wieder abzuschalten. Denn unter Umständen werden mit aktiviertem Debug-Modus sensible Daten weitergegeben, die Hackern bei ihrer Arbeit helfen können. Auf einem Live-System ist ein aktivierter Debug-Modus daher extrem gefährlich. Auch ich habe diesen kleinen und dummen Fehler bereits begangen, der Mensch vergisst zu leicht. Daher solltest du noch mal einen kurzen Kontrollblick darauf werfen. Ausgeschaltet wird der Fehlermodus wie folgt:

define('WP_DEBUG', false);

Schalte die Anzeige von PHP-Fehlern aus

Solltest du aus irgendeinem Grund den Debug-Modus von WordPress dringend aktiviert benötigen, dann empfehle ich dir, die öffentliche Ausgabe der Fehlermeldungen auszuschalten. Die für dich wichtigen Fehlermeldungen können auch in ein nicht öffentlich zugängliches Log geschrieben werden. Das wäre die wesentlich sichere und elegante Möglichkeit. Um den Fehler-Modus von WordPress aktiviert zu lassen und einfach nur die öffentlich sichtbare Fehlerausgabe zu unterdrücken, benötigst du diese Konstante:

define('WP_DEBUG_DISPLAY', false);

Schalte die automatischen Updates ein

Wie ich bereits weiter oben im Beitrag erwähnte, ist das sofortige Updaten des WordPress-Kerns und aller Plugins sehr wichtig für die Sicherheit des Systems. Bei jedem Release einer neuen WordPress-Version werden auch die Sicherheitslücken in der jeweils vorangegangenen Version öffentlich. Das verschafft einem Hacker eine solide Grundlage, um deine Website hacken zu können. Ergo sollten diese Schwachstellen so schnell wie nur möglich behoben werden.

Seit der WordPress-Version 3.7 werden kleinere Sicherheitsupdates automatisch durchgeführt. Dieses gilt allerdings nicht für Hauptversionen von Core-Updates. Hauptversionen müssen immer noch händisch aktualisiert werden, nämlich so:

define( 'WP_AUTO_UPDATE_CORE', minor );

Doch man kann die automatischen Updates für alle Versionen von WP ganz leicht einschalten:

define ('WP_AUTO_UPDATE_CORE', true);

Es ist übrigens auch möglich, die Plugins automatisch updaten zu lassen. Dazu benutzt du folgendes PHP-Snippet in der wp-config.php:

add_filter( 'auto_update_plugin', '__return_true' );

Übrigens kann man auf die gleiche Art auch die Themes automatisch updaten lassen. Dazu muss die wp-config.php um die folgende Zeile ergänzt werden:

add_filter( 'auto_update_theme', '__return_true' );

Bitte informiert euch vorher im Codex über diese automatischen Plugins und nutzt den Code nur, wenn ihr genau wisst, was ihr tut. Es versteht sich von selbst, dass die beiden Filter nur Plugins und Themes auf dem neuesten Stand halten können, die auch aus dem offiziellen Verzeichnis von WordPress stammen oder für die eine aktive Subscription besteht.

Weiterführende Informationen:
WordPress Codex: Must Use Plugins

So schützt du deine Website vor Hackern

Das beliebte Content Management-System WordPress ist in einer Standard-Installation leider nicht als allzu sicher zu bezeichnen. Es ist für einen Hacker geradezu einfach, in die Webseite einzudringen, sie zu verseuchen, als Spamschleuder zu missbrauchen oder ähnliches. Die Unsicherheit fängt bereits damit an, dass WordPress den Benutzernamen als Klasse verwendet. So müssen potenzielle Hacker nur noch das Passwort herausfinden, um die betreffende Webseite zu kapern. 

username als klasse in kommentaren WordPress-Sicherheit: So schützt du deine WordPress Website

Vorab: Kann es überhaupt absolute Sicherheit geben?

Der Begriff Sicherheit bezieht sich auf ein bestimmtes Szenario und ist dort binär: Entweder ein System ist gegenüber genau diesem Szenario sicher oder eben nicht. Soll heißen: wenn jemand über mehr als eine Methode, sehr viel Erfahrung und beste Software verfügt, wird er es schaffen, Ihre Webseite zu hacken.

Die gute Nachricht ist jedoch, dass die meisten Angriffe gegen WordPress-Webseiten nicht von erfahrenen Hackern, sondern von Bots oder sogenannten Script-Kiddies durchgeführt werden. Und je mehr Maßnahmen Sie gegen das Gehacktwerden ergreifen, desto geringer werden die Chancen, dass die Hacker oder Bots erfolgreich sind.

1. Sicherheit fängt bei der Installation von WordPress an

Folgende Einstellungen in der wp-config.php dürfen auf keinen Fall fehlen:

Die Sicherheitsschlüssel in der wp-config.php

Die Sicherheitsschlüssel in der wp-config.php


WordPress bietet Ihnen auf https://api.wordpress.org/secret-key/1.1/salt/ den Service, diese Keys zu generieren. Nutzen Sie ihn daher, da diese Schlüssel wirklich zur Sicherheit Ihrer Webseite beitragen.

Tauschen Sie den generierten Zeichenblock einfach gegen den Originalblock in der wp-config.php aus.

Das Tabellenpräfix in der wp-config.php

Das Tabellenpräfix in der wp-config.php


Das Tabellenpräfix sollte auf keinen Fall auf dem Standard „wp_“ gelassen werden. Dieser Wert wird nur einmalig zugewiesen, Sie müssen sich daher nicht merken, was Sie eingeben. Je kryptischer der Wert, desto besser. Beispiel: WdFtVXeeDff_wp_

Zugriff von außen auf die wp-config.php verbieten

Damit erst gar nicht die Chance für Hacker entstehen kann, auf diese wirklich wichtige Datei zugreifen zu können, verbieten wir jetzt per .htaccess den Zugriff von außen.

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

Übrigens müssen sich .htaccess und wp-config.php im selben Verzeichnis befinden.

Standard-Administrator löschen

Als nächstes sollten Sie den Standard-Administrator admin, der von WordPress bei der Installation angelegt wird, löschen. Denn vom Standard-Admin mit der von WordPress zugewiesenen ID #1 gehen auch die Bösewichter und Bots aus. Die müssten dann also nur noch Ihr Passwort erraten und dann…
Legen Sie als erstes über Benutzer => Neu hinzufügen einen neuen Administrator an, der nicht Admin oder Administrator heißt. Dann loggen Sie sich aus. Anschließend loggen Sie sich mit den neuen Daten wieder ein und löschen den alten Account.

Wählen Sie ein sicheres Passwort

Je populärer die Webseite ist, desto größer stehen die Chancen, gehackt zu werden. Wenn Sie ein schwaches Passwort wählen, machen Sie es den bösen Buben nur noch leichter.

Das Passwort sollte mindestens 7 Zeichen lang sein. Um es sicherer zu machen, verwenden Sie Groß-/Kleinschreibung, Ziffern und Symbole wie ! ” ? $ % ^ & ).

Ich persönlich bin etwas paranoider, meine Passwörter sind 25 Zeichen lang.

Die Autor CSS-Klasse aus den Kommentaren entfernen

Standardmäßig fügt WordPress den Loginnamen als Klasse zu den Kommentaren hinzu (siehe Bild ganz oben). Um das zu verhindern, fügen Sie einfach folgenden Code in Ihre functions.php ein:

// Security: Hide Usernames from Classes
function andys_remove_comment_author_class( $classes ) {
foreach( $classes as $key => $class ) {
if(strstr($class, "comment-author-")) {
unset( $classes[$key] );
}
}
return $classes;
}
add_filter( 'comment_class' , 'andys_remove_comment_author_class' );

Als nächstes sollte noch die WordPress-Version aus dem Headbereich des HTML-Quelltextes entfernt werden, da anhand der Versionsnummer Sicherheitslücken herausgefunden werden können. Folgenden Codeschnipsel schreiben Sie dazu ebenfalls in die functions.php.

// Security: Hide WordPress Version in Sourcecode Head
remove_action('wp_head','wp_generator');

2. WordPress-Installation und Plugins immer zeitnah updaten

Mit der Veröffentlichung einer neuen WordPress-Version steigen auch die Chancen, dass ältere Versionen gehackt werden. Denn mit jedem neuen Release werden die Schwachstellen beschrieben, die mit eben diesem Release gefixt wurden.

Auch Plugins sind immer wieder das Einfalltor für Angriffe. Deswegen achten Sie bitte darauf, WordPress und alle Plugins immer auf den neuesten Stand zu bringen.

Das Script TimThumb.php zur Bildverkleinerung

Das wirklich nutzbringende Script timthumb.php hatte in letzter Zeit einige Sicherheitslücken, die von Hackern brutal ausgenutzt wurden. Aus diesem Grund ist es extrem wichtig, dieses Script immer auf dem neuesten Stand zu halten. Viele kommerzielle und auch nichtkommerzielle Themes nutzen dieses hervorragende Script. Das ist jedoch dem stolzen Besitzer einer WordPress-getriebenen Webseite meist nicht bewusst. Um herauszufinden, ob auch Ihre Webseite dieses Script nutzt, sollten Sie sich das Plugin Timthumb Vulnerability Scanner installieren. Die jeweils neueste Version von TimThumb.php können Sie sich via Googlecode herunterladen.

3. Sichern Sie den Adminbereich ab

Der Adminbereich ist das Herz einer WordPress-Installation. Ist diese Hürde erst einmal genommen, kann ein Hacker alles mit der Webseite anstellen, was er will. Zum Beispiel alles löschen…

Erst vor kurzem wurde der Premium WordPress-Theme Provider woothemes.com gehackt. Die komplette Datenbank sowie alle Backups wurden von den Hackern auf dem Server gelöscht. Lesen Sie hier, wie es woothemes ergangen ist.

Um eine solche Katastrophe zu verhindern, sind nur einige kleine Schritte notwendig.

Nutzen Sie das Plugin „Limit Login Attempts“

Das Plugin Limit Login Attempts bietet Ihnen gleich mehrere Vorteile. Erstens reduziert es die Anzahl der möglichen Login-Versuche, zweitens ändert es die überdetaillierten Fehlermeldungen (bei nicht-erfolgreichen Loginversuchen) von WordPress ab.

Standardmäßig bietet WordPress Ihnen so viele Loginversuche an, wie Sie benötigen. Bei einem Login-Fehler zeigt es Ihnen akribisch auf, ob Benutzername oder Passwort falsch waren. Limit Login Attempts ändert die Fehlermeldung dahingehend, dass nur noch anzeigt wird, dass die Eingabe fehlerhaft war. Es wird jedoch nicht mehr deutlich, was genau der Fehler war.

Die Einstellungen des Limit Login Attempts Plugins


Ein weiterer Vorteil ist, dass das Plugin jeden Hackversuch mit der IP-Adresse, von der der Angriff ausging, protokolliert. Dies kann man anschließend nutzen, um die betreffenden IP-Adressen per .htaccess zu sperren.

Limit Login Attempts speichert die IP-Adressen, von denen Hackversuche ausgegangen sind


Einen fehlerhaften Loginversuch stellt das Plugin nun wie folgt dar:

Darstellung eines Login-Fehlers mit dem Plugin Limit Login Attempts

Schützen Sie den Adminbereich doppelt

Der Adminbereich einer WordPress-Webseite ist das schwächste Glied in der Kette. Wer diese Hürde nimmt, ist in Ihrer Webseite und kann alles damit anstellen, was er will…
Die Idee ist, den Adminbereich mittels eines vorgeschalteten Passwortes bereits zu schützen, bevor er aufgerufen werden kann.

Der Adminschutz mit .htaccess und .htpasswd


Die Einrichtung eines solchen, zusätzlichen Schutzes geht relativ leicht vonstatten.

Als erstes gilt es eine leere .htpasswd Datei zu erzeugen. Hierzu erstellt man mit einem reinen Texteditor eine leere Datei, nennt sie .htpasswd.txt und lädt sie in das Hauptverzeichnis des Servers. Im Anschluss benennt man sie auf dem Server in .htpasswd um und lädt sie auf den heimischen Rechner runter. Nun erzeugen wir mit dem Htpasswd Generator eine Kombination aus Benutzername und Passwort und speichern sie in die .htpasswd. Sie lässt sich mit dem Editor öffnen und speichern. Diese Datei wird nun in das Hauptverzeichnis des Servers zurück geladen.

Nun ergänzen wir die .htaccess Datei, die ebenfalls im Hauptverzeichnis des Servers liegt, mit einigen wenigen Zeilen Code.

<Files wp-login.php>
  AuthName "Admin-Bereich"
  AuthType Basic
  AuthUserFile /pfad/zu/.htpasswd
  require valid-user
</Files>
<FilesMatch "(.htaccess|.htpasswd|wp-config.php|liesmich.html|readme.html)">
  order deny,allow
  deny from all
</FilesMatch>

Wichtig ist, bei dem obigen Code darauf zu achten, dass der korrekte Pfad zur .htpasswd angegeben wird. Nun ist der Administrationsbereich doppelt gut geschützt.

Codebeispiel und Quelle: „Mehr Sicherheit für WordPress durch den Admin Schutz“ (ebiene.de von Segej Müller nicht mehr online)

Zusammenfassung

Durch die Kombination aller oben aufgeführten Maßnahmen haben wir nun eine recht hohe Sicherheitsschwelle erreicht. Ein Eindringen in die WordPress-Webseite wird nur noch wirklichen Könnern und Spezialisten gelingen. Ich hoffe, durch diesen Artikel meinen Beitrag zu einer verbesserten Sicherheits-Philosophie geleistet zu haben.

Fazit

All diese Punkte zusammengenommen steigern die Sicherheit deines WordPress bereits sehr und sollten ein Teil einer guten Sicherheitsstrategie sein. Denn der Umstand, dass WordPress das beliebteste Content Management System der Welt ist, zieht natürlich auch Hacker an. Die Situation ist durchaus vergleichbar mit dem PC-Betriebssystem Windows. Unter Windows installiert man eine Antiviren-Software, unter WordPress ist zumeist Handarbeit angesagt. Doch der Zugewinn an Sicherheit rechtfertigt diesen kleinen Arbeitsaufwand.

Dieser Beitrag wurde 2016 von Andreas Hecht geschrieben und in 2022 komplett überarbeitet und aktualisiert.

Markus Seyfferth

Markus Seyfferth

ist seit 2019 Geschäftsführer & WordPress-Entwickler bei Dr. Web. Zuvor war er sechs Jahre lang Vorstand des Smashing Magazine, im Rahmen dessen er u.a. das Online-Marketing, die Betreuung der Werbekunden sowie diverse Online-Projekte geleitet hat.

Werde ein Sponsor. Kontaktiere uns →

Kostenloses SEO-Tool

Agenturpartner

One Step Webdesign hannover Logo

One Step Webdesign

Hannover

Berlin Translate Übersetzungsagentur Logo.

Berlin Translate

Berlin

Webdesign Doerrer Frankfurt.

Webdesign DOERRER

Frankfurt am Main

Rocket Backlinks Logo.

Rocket Backlinks

Aalen

hw brand experience logo.

H&W // Brand Experience

Schwäbisch Gmünd

Alle Agenturpartner

Lust auf mehr?

Symbolbild in einem Laptop eingebettet. Zu sehen ist ein Mitarbeiter einer Digitalagentur.
Digitalisierung

Digitalagentur finden

Wir unterstützen Sie bei der Auswahl der passenden Digitalagentur, mit Agenturempfehlungen und wichtigen Hintergrundinformationen in unserer FAQ.

→
Junger Mann, der in einer SEO-Agentur arbeitet arbeitet und in die Kamera lächelt.
SEO

SEO Agentur finden

Hier finden Sie eine geeignete SEO Agentur. Sie möchten eine bessere Sichtbarkeit Ihrer Website in Google & Co., mehr Traffic, höhere Conversions, mehr Umsatz? Eine professionelle SEO Agentur unterstützt Sie maßgeblich bei der Erreichung dieser wichtigen Ziele.

→
Inhaber einer WordPress-Agentur, am Tisch sitzt und in die Kamera schaut.
WordPress

WordPress Agentur finden

Wir unterstützen Sie bei der Auswahl Ihrer WordPress Agentur, mit Agenturempfehlungen und wichtigen Hintergrundinformationen in unserer FAQ.

→

7 Antworten

  1. Hannes sagt:
    6. September 2020 um 19:25 Uhr

    Guten Abend,

    zum Thema „WP-Version im Header verstecken“ habe ich noch einen anderen Code gefunden:

    ##################################
    function no_generator() { return “; }
    add_filter( ‚the_generator‘, ’no_generator‘ );
    ##################################

    Gibt es im Vergleich zu deinem Code einen Unterschied in punkto Sicherheit? Im RSS-Feed ist die Version mit meinem Code auch nicht mehr sichtbar.
    Würde mich freuen, wenn du kurz deine Meinung dazu äußerst.

    MfG Hannes

    Antworten
  2. Andreas sagt:
    10. Juni 2016 um 19:53 Uhr

    Hallo Andreas,
    1+ für Deinen Beitrag. Mir gefällt daran, dass Du nicht nur schreibst „mache dies und jenes“, sondern auch warum.
    Ich bin gerade dabei, eine Website mit WP aufzubauen. Es soll einen allgemein zugänglichen Bereich geben (unangemeldet) und einen geschützten. Benutze ich .htaccess, sehen nur angemeldete Benutzer Inhalte. Wie soll auch WP das unterscheiden bei nur einem Medienordner (oder ich müßte jede einzelne Datei je nach Bedarf in die .htaccess aufnehmen….).
    Ich habe viele Plugins probiert, das einzige (das ich gefunden habe), welches einen weiteren Ordner anlegt und diesen mit einer weiteren .htaccess – Datei schützt, war der Download Manager. Da die Seite später auch weniger versierte Redakteure pflegen sollen, finde ich das anschliessende Prozedere mit Shortcodes, Rechteverteilung etc. umständlich und störanfällig (weil vom Redakteur abhängig).
    Wie ist das Vorgehen generell bei Websites mit geschützem Bereich?
    Ich bin soweit, zwei Unterordner mit je einer WP-Installation einzurichten und so eine Trennung zu erreichen. Die Folge: Doppelte Redakteure, extra Authentifizierung etc….
    Kann ich z.B. beim Klick auf „Interner Bereich“ (noch auf der öffentlichen Seite) die wp-login.php der sicheren Seite aufrufen, „Benutzer ist angemeldet“ auslesen und anschliessend einen „geheimen“ Benutzer alla user:passwort@domain.tld an die .htaccess übergeben, macht man das so? Ist das sicher?
    Beim Programmieren von Maschinensteuerungen kenne ich mich aus, Internet ist ….anders.
    Vielen Dank schon mal für die Mühe, die ich Dir gemacht habe.

    Antworten
    1. Andreas Hecht sagt:
      11. Juni 2016 um 20:32 Uhr

      Hi, Andreas! Ich fürchte, dass, was Du da willst, ist sehr kompliziert und kann nur mit eingehenden Tests gelöst werden. Ein kleiner Rat zwischendurch ist anhand der Problemstellung nicht machbar, sorry…

  3. Nico sagt:
    10. Juni 2016 um 9:57 Uhr

    In dem Code „wp-config-verschieben.php “ muss ein Leerzeichen zwischen require_once und ABSPATH 🙂

    Antworten
    1. Andreas Hecht sagt:
      10. Juni 2016 um 10:06 Uhr

      Danke Dir für Deine Aufmerksamkeit! Ich habe das Gist ersetzt.

  4. Ribo sagt:
    8. Juni 2016 um 10:11 Uhr

    Danke für die Tipps.
    Vielleicht könnten Sie auch einen solchen Guide für Joomla Sicherheit machen?

    Antworten
    1. Andreas Hecht sagt:
      9. Juni 2016 um 13:21 Uhr

      Danke für die Anfrage! Allerdings kenne ich mich mit Joomla nicht aus, daher wird ein Artikel über die Sicherheit des CMS nicht wirklich viel Substanz haben. Doch sobald ein Joomla-Experte für uns schreiben möchte, kommt der Beitrag.

Schreibe einen Kommentar Antworten abbrechen

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

Dr. Web Logo weiss.
Fachmagazin für Online-Marketing. Seit 1997. Wissen, Software, Dienstleister: Wir bringen die Digitalisierung Ihres Unternehmens praxisnah voran. ✅

Agentur nach Schwerpunkt finden

  • Als Agentur eintragen
  • Beste Agenturen finden
  • Die besten Digitalagenturen
  • Die besten SEO Agenturen
  • Die besten Webdesign Agenturen
  • Die besten Werbeagenturen
  • WordPress Agentur finden
  • Als Agentur eintragen
  • Beste Agenturen finden
  • Die besten Digitalagenturen
  • Die besten SEO Agenturen
  • Die besten Webdesign Agenturen
  • Die besten Werbeagenturen
  • WordPress Agentur finden

Für Unternehmer: Finden Sie Ihre Agentur in…

  • Aachen
  • Augsburg
  • Basel
  • Bamberg
  • Bayreuth
  • Bergisch-Gladbach
  • Berlin
  • Bern
  • Bielefeld
  • Bochum
  • Bonn
  • Bremen
  • Chemnitz
  • Darmstadt
  • Dortmund
  • Dresden
  • Duisburg
  • Düsseldorf
  • Essen
  • Esslingen
  • Flensburg
  • Frankfurt
  • Freiburg
  • Gelsenkirchen
  • Gießen
  • Goslar
  • Hamburg
  • Hamm
  • Hannover
  • Heidelberg
  • Ingolstadt
  • Innsbruck
  • Karlsruhe
  • Kassel
  • Köln
  • Leipzig
  • Leverkusen
  • Ludwigsburg
  • Mainz
  • Mannheim
  • München
  • Münster
  • Nürnberg
  • Offenburg
  • Oldenburg
  • Osnabrück
  • Passau
  • Pforzheim
  • Potsdam
  • Regensburg
  • Reutlingen
  • Rosenheim
  • Rostock
  • Salzburg
  • Starnberg
  • Stuttgart
  • Tübingen
  • Wien
  • Wiesbaden
  • Wuppertal
  • Würzburg
  • Zürich
  • Aachen
  • Augsburg
  • Basel
  • Bamberg
  • Bayreuth
  • Bergisch-Gladbach
  • Berlin
  • Bern
  • Bielefeld
  • Bochum
  • Bonn
  • Bremen
  • Chemnitz
  • Darmstadt
  • Dortmund
  • Dresden
  • Duisburg
  • Düsseldorf
  • Essen
  • Esslingen
  • Flensburg
  • Frankfurt
  • Freiburg
  • Gelsenkirchen
  • Gießen
  • Goslar
  • Hamburg
  • Hamm
  • Hannover
  • Heidelberg
  • Ingolstadt
  • Innsbruck
  • Karlsruhe
  • Kassel
  • Köln
  • Leipzig
  • Leverkusen
  • Ludwigsburg
  • Mainz
  • Mannheim
  • München
  • Münster
  • Nürnberg
  • Offenburg
  • Oldenburg
  • Osnabrück
  • Passau
  • Pforzheim
  • Potsdam
  • Regensburg
  • Reutlingen
  • Rosenheim
  • Rostock
  • Salzburg
  • Starnberg
  • Stuttgart
  • Tübingen
  • Wien
  • Wiesbaden
  • Wuppertal
  • Würzburg
  • Zürich

Aus unserem Magazin

  • Buchhaltung
  • Content Marketing
  • Design
  • Digitalisierung
  • E-Business
  • E-Commerce
  • E-Mail-Marketing
  • Finanzen
  • Freelancer
  • Hosting
  • HTML
  • HTML/CSS
  • Inspiration
  • IT Sicherheit
  • JavaScript & jQuery
  • Jobs & Karriere
  • Online-Marketing
  • Programmierung
  • Public Relations
  • Rechtliches
  • Responsive Design
  • SEA – Suchmaschinenwerbung
  • SEO
  • Showcases
  • Social-Media-Marketing
  • Tipps, Tricks & Tutorials
  • Tools
  • UX Design
  • VPN
  • Webdesign
  • WordPress
  • Buchhaltung
  • Content Marketing
  • Design
  • Digitalisierung
  • E-Business
  • E-Commerce
  • E-Mail-Marketing
  • Finanzen
  • Freelancer
  • Hosting
  • HTML
  • HTML/CSS
  • Inspiration
  • IT Sicherheit
  • JavaScript & jQuery
  • Jobs & Karriere
  • Online-Marketing
  • Programmierung
  • Public Relations
  • Rechtliches
  • Responsive Design
  • SEA – Suchmaschinenwerbung
  • SEO
  • Showcases
  • Social-Media-Marketing
  • Tipps, Tricks & Tutorials
  • Tools
  • UX Design
  • VPN
  • Webdesign
  • WordPress

Rechtliches

  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Privatsphäre-Einstellungen ändern
  • Historie der Privatsphäre-Einstellungen
  • Einwilligungen widerrufen
  • Nach oben ↑
  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Privatsphäre-Einstellungen ändern
  • Historie der Privatsphäre-Einstellungen
  • Einwilligungen widerrufen
  • Nach oben ↑