Bloggen und Technik

WordPress sicher machen

Wordpress Starthilfe

Ihr habt euer WordPress frisch installiert und die ersten Grundeinstellungen vorgenommen. WordPress sicher machen sollte nun der nächste Schritt sein.

Es wird immer Gesellen geben, die eurem Blog was Böses antun wollen. Die Gründe sind meistens gar nicht persönlich gegen den Blogger gerichtet, sondern sportlicher Ehrgeiz sich in fremde Systeme zu hacken, wirtschaftliche Interessen oder die Nutzung des Servers als Spamschleuder und viele Dinge mehr.

Eine 100% Sicherheit wird es aber nie geben. Mit ein paar einfachen Maßnahmen kann man WordPress aber so weit absichern, dass das Risiko gehackt zu werden relativ überschaubar bleibt. Diese Schritte möchte ich euch nun vorstellen. Also auf zu einem sicherem WordPress…

Admin User umbenennen

Solltet ihr bei der Installation den Blogadministrator als Admin oder Root benannt haben, dann habt ihr ein Sicherheitsproblem. Gefühlte 90% der Hackversuche über das Login passieren mit den beiden Usernamen. Legt einfach einen neuen Administrator in der Benutzerverwaltung an, und benennt diesen anders. Danach könnt ihr den alten Admin-Account dann löschen. Das Ändern des Benutzernamens ist nicht so ohne weiteres möglich, daher müsst ihr diesen Weg gehen.

Zusätzlichen User als Redakteur anlegen

Zusätzlich zum Administrator könnt ihr euch noch einen weiteren Useraccount anlegen, mit der Rolle als Redakteur. Mit diesem arbeitet ihr dann in eurem Blog, schreibt Artikel, erstellt Seiten usw. Der Administrator wird dann nur noch für Updates, Installationen usw. genutzt. Somit taucht auch der Administrator als Name nirgendwo im Blog auf.

Ein Nachteil dabei ist sicherlich, das ihr euch häufiger An- und Abmelden müsst um zwischen den Rollen zu wechseln. Hier müsst ihr einfach abwägen, ob euch die Sicherheit des Blogs das wert ist.

Sichere Passwörter

Nutzt bitte für alle Accounts im Blog sichere Passwörter. „mama1211“ ist genau so wenig ein sicheres Kennwort wie sein eigenes Geburtsdatum oder der Name des Haustieres.

Ein gutes Kennwort besteht aus mindestens 8 Zeichen, 10 oder 12 sind noch besser. Sie beinhalten Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen und sind vor allen nicht lesbar! „1Dvf*S(5A“ -> Das ist ein gutes Kennwort. Lasst einfach eure Fantasie spielen, oder die Finger auf der Tastatur.

Und bitte, das Kennwort, welches ihr in eurem Blog nutzt, wird auf keinen Fall bei anderen Diensten im Internet benutzt.

So wenige Plugins wie nötig nutzen

In einem späteren Kapitel zeige ich euch noch, welche tollen Plugins es für WordPress gibt. Setzt diese aber, mit dem Blick auf die Sicherheit, sehr sparsam ein. Ganz ohne Plugins geht es nicht, das ist klar. Alleine für die Steigerung der Sicherheit kann man Plugins einsetzen.

Aber nutzt nur die Plugins mit Bedacht und nutzt nur so viele, wie unbedingt nötig sind. Einige bekannte WordPress Hacks in den letzten Monaten kamen durch Plugins in die betroffenen Systeme.

Bei der Auswahl eines Plugins achtet auch drauf, wie oft die Erweiterungen aktualisiert werden und wie lange die letzte Aktualisierung bereits her ist. Ein Plugin, welches vor 3 Jahren zum letzten mal ein Update bekommen hat, würde ich nur mit großen Bedenken einsetzen.

2 Wege Authentifizierung

Um den Zugang zum Adminbereich des Blogs zu erschweren kann man eine so genannte 2-Wege-Authentifizierung einsetzen. Neben dem Benutzernamen und dem Kennwort muss man dabei noch einen Code eingeben.

Sergej Müller hat dafür ein Plugin (2-Step-Verification) erstellt, welches eine 2 Wege Authentifizierung per Mail ermöglicht. Beim Anmelden sendet das Tool euch eine Mail mit einem Code den ihr dann zusätzlich noch eingeben müsst.

Alternativ gibt es noch ein Plugin von Henrik Schack, welches einen 2 Wege Login per Google Authentifizierung ermöglicht. Dies kann auch per Mail, per Telefon oder per App auf euren Smartphone erfolgen. Ich persönlich finde diese Variante besser, da die Codes zur Anmeldung nicht auf eurem Server generiert werden sondern extern erstellt werden.

Absicherung des WordPress Adminbereich per htaccess

Eine Alternative zur 2 Wege Authentifizierung ist die Absicherung des Adminbereich per htaccess. Dies ist sicherste Methode, den Zugriff auf den Adminbereich abzusichern.

Eine tolle Beschreibung, wie man den Schutz per htaccess einrichtet findet ihr auf der Seite vom Chefblogger. Er hat das dort so toll erklärt, das kann ich nicht besser schreiben.

Falsche Logins unterbinden

Es wird immer Versuche geben in euer WordPress einzudringen. Ihr könnt das unterbinden bzw. schwerer machen, wenn ihr das Plugin Limit Login Attemps einsetzt. Diese Plugin überwacht das Login in den Adminbereich des Blogs. Bei mehreren Fehlversuchen wird der Nutzername erst zeitlich begrenzt gesperrt, später dann komplett und die dazu gehörige IP wird ebenfalls gesperrt. Das macht es den Angreifern ein wenig schwerer verschiedene User / Password Kombinationen zu testen. In dem Protokoll kann man übrigens schön sehen, dass die Angriffe zum großen Teil auf den Namen Admin laufen.

Verzeichnis- und Dateiberechtigungen auf dem ftp Server

Ein großes Problem, bzw. ein großes offenes Scheunentor für Hacker sind oft falsch gesetzte Verzeichnis- und Dateiberechtigungen auf dem Server des Blogs. Alle Verzeichnisse sollten auf 755 gestellt sein und die Dateien auf 644. Diese Werte könnt ihr euch per ftp-Client wie Filezilla auf dem Server anschauen und ggf. neu setzen.

Ein paar Dateien sollten noch zusätzlich auf den Wert 444 gesetzt werden (nur Lesen für alle):

  • .htaccess
  • wp-config.php

Die nur Lese Berechtigung für die beiden Dateien ist vollkommen ausreichend. Wenn ihr Änderungen an den Dateien vornehmen müsst, dann ändert den Wert temporär kurz auf 644 und stellt den nach der Änderung wieder zurück auf 444.

Exkurs: Was bedeuten eigentlich die Werte? Schaut mal hier beim Codingnerd,  dort ist das System ganz gut erklärt.

Besitzrechte auf dem ftp Server

Jetzt gibt es nur noch ein Problem. Zusätzlich zu den gerade beschriebenen Dateiberechtigungen gibt es noch das Besitzrecht auf dem ftp-Server. Wenn dieser falsch gesetzt ist, dann bringen die ganzen schönen Dateiberechtigungen nichts, da WordPress dann der Besitzer der Dateien ist.

WordPress, also Dein Adminuser ist dabei der so genannte php-User. Wenn die Besitzrechte der Dateien auf dem Server nun bei diesem User, darf WordPress, seine Plugins und der Admin dort alles mögliche mit den Dateien anstellen.

Das kann man verhindern, in dem der ftp-User Besitzer der Dateien ist. Damit dard dann auch WordPress nicht mehr machen, was es will.

Welcher User die Dateien besitzt kann man in WordPress recht einfach testen. Wenn man ein Update installiert oder ein neues Plugin und dabei nach den ftp-Userdaten gefragt wird, dann ist alles in Ordnung. Wenn die Abfrage nicht kommt, dann sind die Rechte falsche gesetzt.

Bei meinem Provider AllInkl kann ich in so einem Fall die Besitzrechte neu setzen lassen. In der Adminoberfläche unter Tools gibt es einen Punkt „Besitzrechte“.

Besitzrechte ändern

Besitzrechte ändern

Ich habe hier als Beispiel das ftp-Verzeichnis für meinen Demo-Blog ausgewählt und den entsprechenden ftp-User aus meinem System bei AllInkl. Wenn ihr nun das Häkchen noch bei „Rekursiv“ macht und dann auf den Button „Besitzrechte setzen“ klickt werden die Rechte für alle Dateien und Verzeichnisse eurer Installation neu und richtig gesetzt.

Präfix in der Datenbank ändern

Bei einer WordPress Installation werdet ihr gefragt, wie der Präfix bei den Tabellen in der Datenbank aussehen soll. Im Standard schlägt WordPress dort „wp_“ vor. Solltet ihr den Präfix bei der Installation bereits verändert haben ist alles gut und ihr müsst euch nicht weiter darum kümmern.

[mks_icon icon=“fa-exclamation-triangle“ color=“#dd3333″ type=“fa“]Vorsicht: Macht bitte vor dieser Maßnahme eine Sicherungskopie von der wp_config.php und eurer Datenbank.

Solltet ihr den Wert nicht verändert haben oder eine automatische Installation über den Provider gewählt haben, dann müsst die diesen Präfix ändern.

  1. Öffnet in einem Editor die wp-config.php aus eurer WordPress Installation
  2. Sucht dort die Zeile wo „$table_prefix  = ‚wp_‘;“ steht
  3. Ersetzt nun „wp_“ durch einen neuen Wert, zum Beispiel „debl7_“
  4. Speichert die Datei und ladet die neue Version auf euren Server

Jetzt müsst ihr die phpMyAdmin Oberfläche der eingesetzten Datenbank aufrufen. Dies geht über den Adminbereich eures Webspaces.

Wählt dort die Datenbank aus, auf die euer WordPress zugreift und markiert in der Datenbank alle Tabellen mit dem alten Präfix „wo_“.

Präfix ändern

Präfix ändern

Wählt nun aus dem Pulldown-Menü unten den Punkt „Tabellenpräfix ändern“ aus. Im nachfolgenden Dialog könnt ihr dann den alten und den neuen Präfix einsetzten. Achtet bitte auf die exakte Schreibweise, die mit dem eingegebenen Wert in der wp_config.php überein stimmen muss.

Präfix ändern - alten und neuen Wert eingeben

Präfix ändern – alten und neuen Wert eingeben

Nun müsst ihr noch zwei SQL Befehle ausführen lassen. Das könnt ihr ebenfalls in phpMyAdmin machen. Klickt dazu einfach oben auf den Reiter SQL, dann öffnet sich folgendes Fenster:

Eingabemaske für SQL Befehle in phpMyAdmin

Eingabemaske für SQL Befehle in phpMyAdmin

Fügt nun dort die folgende Zeile ein und ändert den Wert aus diesem Beispiel hier von debi7 auf den Wert, der eurem neuen Präfix entspricht:

UPDATE debl7_options SET option_name =
REPLACE(option_name, 'wp_', 'debl7_');

Klickt danach unten rechts auf OK und der Befehl wird ausgeführt. Am oberen Rand des Fensters wird euch eine Meldung ausgegeben, das eine Anzahl x an Datensätzen geändert wurde. Sollte dort eine Fehlermeldung kommen, so kontrolliert die exakte Schreibweise.

Wenn der Befehl erfolgreich durchgelaufen ist, dann wieder holt das mit folgendem Befehl. Auch hier müsst ihr natürlich debi7 durch euren Präfix ersetzen.

UPDATE debl7_usermeta SET meta_key =
REPLACE(meta_key, 'wp_', 'debl7_');

Das war dann auch schon alles, nun habt ihr einen neuen Präfix für die Tabellen in der Datenbank gesetzt. Und euer WordPress sollte nun, wie gewohnt, wieder funktionieren.

Datensicherung

Eine Datensicherung schützt euch zwar nicht vor Angriffen, gibt einem aber ein gutes Gefühl, wenn doch mal was schief läuft.

Ihr könnt Datensicherungen manuell erstellen, in dem ihr eure Datenbank per phpMySQL exportiert und die Verzeichnisse des Blogs vom ftp-Server regelmäßig auf euren Rechner kopiert. Nur, aus eigener Erfahrung, manuell macht man das nicht regelmäßig. Und bei einem Blog, wo jeden Tag neue Beiträge oder Kommentare erscheinen ist ein sieben Tage altes Backup schon seeehr alt.

Ich setzte auf meinen Seiten daher ein Plugin ein, welches die Datensicherung automatisch durchführt. Und zwar komplett, jede Nacht! Dazu nutze ich das Plugin BackWPub in der kostenlosen Version. Man kann dort verschiedene Aufträge erstellen, die dann zu festgelegten Zeiten ausgeführt werden. Dabei kann dann nur die Datenbank, nur der ftp-Bereich oder beides zusammen gesichert werden. Ich kann Tabellen in der Datenbank ausschließen und ebenso Dateien und Verzeichnisse aus dem ftp-Bereich.

Was mir besonders gut gefällt ist, das die Sicherungsdateien automatisch vom eigenen Server weg verschoben werden können. Sie können entweder per Mail zu gesendet werden, per ftp auf einen anderen Server verschoben werden oder in eine Cloud (z.B. Dropbox) verschoben werden. Denn das Ablegen der Sicherungen auf dem gleichen Server macht, in meinen Augen, keinen Sinn. Wenn der böse Hacker einmal auf dem Server ist, dann kann er im schlimmsten Fall auch auf die Sicherungsdateien zugreifen – und dann wird es richtig übel.

Fazit

Jetzt habt ihr ein WordPress, welches sicher gegen Angriffe ist. Zumindest sehr sicher, denn wie gesagt, eine hundertprozentige Sicherheit werdet ihr niemals erreichen. Aber mit den Maßnahmen habt ihr es den Angreifern schon mal ein wenig schwerer gemacht und das alles mit vielleicht einer Stunde Aufwand. Das ist aber nichts im Vergleich zu dem Aufwand, den man betreiben muss, um einen gehackten Blog wieder ans Laufen zu kriegen.

Kennt ihr noch weitere Maßnahmen, habt ihr Fragen oder Anregungen zu dem Beitrag? Dann raus damit in den Kommentaren.

Wir zwei beiden im Arches NationalparkNeu hier im Blog? Dann schau doch mal wer wir sind oder was wir auf diesem Blog anbieten.

Ganz besonders ans Herz legen möchte wir die Reiseberichte unserer Rundreisen, unsere Reisetipps und die Fototipps für schönere Urlaubsbilder. 

Über Kommentare freuen wir uns ebenso, wie über Likes und Shares auf den Sozialen Medien.

Der Beitrag gefällt Dir? Dann teile ihn doch...

Hinterlasse einen Kommentar

22 Kommentare

  • Oh , kurz vorweg. Wie ich sehe bist Du meinem Rat gefolgt und hast das Quick Tag Plugin eingebunden.

    Eine 100% Sicherheit wird es aber nie geben.

    Ach das leidige Thema Sicherheit.
    Ich habe so viele Blogs die immer noch mit Admin und einem 4 Zeichen Passwort laufen und nie ist was passiert.
    Na gut, nie stimmt auch nicht ganz. Aber nie über den Admin.

    Zu meiner Sicherheit ziehe ich täglich Backups und zur Not hat mein Hoster auch noch eines.
    Wenn man nur ein Blog betreibt dann ist der Aufwand vielleicht ok.
    Aber bei unzähligen Blog dann alles händisch einstellen

    und das alles mit vielleicht einer Stunde Aufwand

    wie Du sagst da kommt schon eine Menge Arbeit auf einen zu.

    Mein momentaner Lieblingshoster arbeitet mit C-Panel. Von dort kann ich alle Sicherungen zentral auf dem C-Panel für alle Blogs mit wenigen Klicks regeln.

    Ich setzte auf meinen Seiten daher ein Plugin ein, welches die Datensicherung automatisch durchführt.

    Hast Du mal getestet ob man das Backup / den SQL Dump auch wieder einspielen kann?
    Ich habe auf meinen Blogs noch das Plugin „WordPress Database Backup“ von Austin Matzko.
    Da wollte ich mal den Dump einspielen und dann hat er sich immer aufgehängt.
    Bis jetzt bin ich noch nicht dazu gekommen den Fehler zu suchen.

    Aber danke für den Tipp
    Das BackWPub in der kostenlosen Version werde ich gleich mal testen. …..

    Etwas später. Ich finde das Plugin nicht in der WordPress Liste…..

    Jetzt habe ich es doch gefunden. Man muss in der Suche „BackWPup Free“ eingeben dann erscheint es als erstes.

    Gut dann schau ich mal ob da für mich besser ist.
    Wieder was dazu gelernt 🙂

    Dir einen schönen Abend.

    Grüße
    Lothar

    • Hi Lothar

      Aber bei unzähligen Blog dann alles händisch einstellen

      Die Zielgruppe des Blogs hier sind Hobbyblogger und Einsteiger, da ist jetzt nicht davon auszugehen, das diese direkt unzählige Blogs betreiben. Ich würde die genannten Maßnahmen allerdings, direkt bei der Einrichtung oder unmittelbar danach, auf jeden meiner Blogs durchführen, ganz unabhängig von der Anzahl.

      Hast Du mal getestet ob man das Backup / den SQL Dump auch wieder einspielen kann?

      Selbstverständlich… ist eine Berufskrankheit.

      LG Thomas

  • Die Zielgruppe des Blogs hier sind Hobbyblogger und Einsteiger

    Asche auf mein Haupt ich habe daran nicht gleich gedacht 🙂

    Dein Css Style für blockquote geht hier nicht. Das nur mal so nebenbei.

    Das BackWPup habe ich nun installiert.
    Wo kann ich da denn einstellen wann und wie oft ich backups per Mail zugeschickt bekomme?
    Oder geht das nur in der Premium Version?

    Grüße
    Lothar

    • Dein Css Style für blockquote geht hier nicht. Das nur mal so nebenbei.

      Ist mir auch gerade aufgefallen… ich such schon die passenden Klassen für die CSS-Datei.

      Du planst doch die Uhrzeiten für das Backup. Wenn es fertig ist, wird dann die Mail automatisch und sofort raus geschickt.

      LG Thomas

  • Du planst doch die Uhrzeiten für das Backup.

    Ich bin glaube ich blind. 🙂
    Ich finde nicht den Ort wo ich die Uhrzeiten für das Backup eingeben kann?
    *ich schau nochmal*

    Minuten später…
    Jetzt habe ich es gefunden.
    Planen –> mit WordPress Cron

    Ok alle Unklarheiten beseitigt.

    Danke für den Tipp.

    Grüße
    Lothar

  • hallöchen, eine schöne auflistung hast du da gemacht, da freuen sich die blogger-neulinge und alte hasen die sich absichern möchte.

    übrigens auch danke fürs verlinken und bis bald mal wieder

    lg eric

  • Hallo Thomas,

    vielen Dank für die zahlreichen Tipps hier! Ich bin ja immer noch blutiger Anfänger und darf hoffentlich eine vielleicht sehr blöde Frage stellen? 😉

    Wenn ich das Backup laufen lassen, speichert der mir dann auch das Design? Also die manuellen Änderungen, die ich über das Feld CSS gemacht habe oder muss ich das von Hand speichern?

    Danke u. viele Grüße

    Sarah

    • Hi Sarah,

      einfach fragen, auch dafür ist dieser Blog da. Die CSS- und andere Themedateien sind im Verzeichnis wp-content/themes/DEINTHEME gespeichert. In den meisten BackUp Anwendungen kannst Du kontrollieren, welche Verzeichnisse vom Backup ein- oder ausgeschlossen sind. Hier einfach drauf achten, dass das Theme-Verzeichnis mitgesichert wird. In der Regel sollte das im Standard mit gesichert werden. Ausgeschlossen werden z.B. temporäre Verzeichnisse, wie der Cache.

      LG Thomas

  • Deine Tippsammlung ist super -und besser als es gewisse t3*-Seiten verfassen / würden.

    Du hast zu jeder möglichen (öffentlich bekannten) Lücke etwas verfasst -respekt!

    Würde diesen Beitrag in naher Zukunft gerne verlinken und darauf bezug nehmen – falls du es mir gestattest. 😉

    Gruß

    Hendrik

      • Hey,

        danke dir.

        Ja, dem fehlt es noch am Content – aber was nicht ist, kann ja noch werden.

        Dir auch weiteren Erfolg – wobei! Hier läuft ja alles auf Hochtouren. 🙂

        Gruß

        Hendrik

      • Ähm, bis jetzt ja… vor allem heute, mal eben Besucherrekord.

        Vielleicht sollte ich öfters solche Mißstände-Artikel schreiben… 🙂 Aber zum Glück sind die meisten Blogs zu gut und zu schön, da geht einem irgendwann das Material aus.

        Aber eine Idee ist mir heute gekommen, seid alle gespannt! :-)) Es wird ekelig!

        LG Thomas

  • Hallo Thomas,

    ja, ich hätte den Rat „Das Ändern des Benutzernamens ist nicht so ohne weiteres möglich“ beherzigen sollen 😀 Das Nachfolgende wird Dich vermutlich zum schmunzeln bringen:

    Ich habe versucht über ein Plugin meinen Admin-Namen (der war Sarah, daher auch nicht so sicher) zu ändern. Also das hier installiert: https://wordpress.org/plugins/admin-renamer-extended/ und den Namen geändert. Nun konnte ich mich gar nicht mehr einloggen, egal mit welchem Namen. Da ich auch noch ein Plugin habe, was die IP-Adressen bei falschen Anmeldeversuchen sperrt (für ganze 60 Min, denn das habe ich „sicherheitshalber“ so eingestellt), war das eine echt lustige Angelegenheit. Letztendlich konnte ich dann über die Datenbank wieder einen Namen eintragen (da war kurioserweise gar keiner mehr gespeichert) und mich auch wieder einloggen. Jetzt ist es irgendwie so, dass mein „Anzeigename“ trotzdem noch Sarah ist, aber ich mich mit einem anderen Namen einlogge. Sicher dürfte es aber trotzdem sein, oder?

    Puuuuh 😉 Das BackWPup hätte mir dem Fall ja auch nicht mehr helfen können, wenn ich mich gar nicht einloggen kann…

    • Hi Sarah,

      das ist auf jeden Fall sicherer.

      Das mit dem Aussperren hatte ich auch mal, auch in Verbindung mit dem Plugin, welches einen dann sperrt. Das kann man aber einfach umgehen, in dem man den Installationsordner des Plugins umbenennt, dann stellt das Tool seine Arbeit sofort ein. 😉

      LG Thomas

  • Hallo!
    Ein sehr interessanter und wichtiger Beitrag. Habe bis jetzt nur eine kleine Seite mit einem kostenlosen Design und ohne Server dahinter…Jetzt frage ich mich, wie ich das mit den Plugins machen soll. Ich finde das leider gar nicht, wo man diese tollen plugins installiert..?! Weil viele reden davon, das man das auf einen Server laden soll…Empfiehlt es sich also direkt, eine Domain mit ftp und so anzulegen? Sry, für die dummen Fragen, bin nicht so der IT Crack bei sowas.

    Liebe Grüße,
    pastellaris

      • Hey
        danke für deine Antwort!
        Das ist aber schade…was kann ich denn da sonst machen? gibt es da überhaupt möglichkeiten?
        hmm, dann werd ich doch mal schauen, ob ich es hosten kann.

        Liebe grüße,
        Sophia

%d Bloggern gefällt das: