WordPress installieren und sicherer machen

Von am 26. Januar 2010 um 00:30

WordPress-Icon Sowohl die Installation von WordPress als auch diverse Vorkehrungen um die Sicherheit von WordPress zu erhöhen, wurden schon in vielen Artikeln beschrieben.

Ich werde daher in diesem Artikel nicht nur beschreiben, wie man WordPress installiert, sondern auch welche Fehler auftauchen können und wie man schon während des Installations-Prozesses und kurz danach mit recht einfachen Mitteln, viel an Sicherheit dazu gewinnen kann.

1. Vor der Installation: Server-Check

Für die Installation von WordPress benötigt man PHP ab der Version 4.3 und MySQL ab der Version 4.1.2. Wobei ich aus Erfahrung zu PHP 5.x rate, da z. B. sehr viele WordPress-Plugins mit PHP 4.x nicht funktionieren.

Um die volle Funktionalität der Software nutzen zu können, wird Apache als Webserver empfohlen und sein Modul mod_rewrite sollte aktiv sein, damit man auch in der Lage ist "sprechende" Permalinks zu generieren. WordPress läuft zwar auch unter anderen Webservern, z. B. unter IIS von der Firma Microsoft. Jedoch sind dann einige Funktionen eingeschränkt (z. B. Permalink-Optionen).

Darüber hinaus ist es notwendig, dass du den Zugriff auf die .htaccess-Datei hast, um die Permalink-Struktur anpassen zu können. Hierbei handelt es sich um einfache Textdateien, mit denen du die Funktionen oder Einstellungen des Apache ansprechen bzw. steuern kannst.

Bevor man dann loslegt, sollte man auch prüfen ob man die Zugangsdaten hat (FTP, MySQL) und ob die Datenbank installiert ist.

2. Download, Anpassung der wp-config.php und die Installation

WordPress kann man sich entweder auf der offiziellen Website oder auf der deutschsprachigen Website herunterladen. Im deutschen Paket ist schon die Sprachdatei integriert und das Standard-Theme ist ebenfalls eingedeutscht.

Suchmaschinenoptimierung (SEO) für WordPress

Nach dem man das gezippte Paket heruntergeladen und entpackt hat geht es darum die Datei wp-config-sample.php in wp-config.php umzubenennen und anzupassen. Als erstes muss man die Angaben zur MySQL-Datenbank tätigen:

WordPress: MySQL-Zugangsdaten

Zugangsdaten für die MySQL-Datenbank

Nach dem man die Zugangsdaten eingetragen hat, geht es darum den ersten Schritt zur mehr Sicherheit zu tätigen:

WordPress: gesalzene Paswörter

WordPress-Paswort: 'gesalzen' und verschlüsselt

Mit den "Sicherheitsschlüsseln" (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY und NONCE_KEY) und den dazugehörigen Werten (innerhalb des nächsten Hochkomma-Paares), welche man auf der Website api.wordpress.org/secret-key/1.1/ bekommt, verschlüsselt du die Login-Daten.

Nach dem man diese Eingabe getätigt hat ist es ratsam, das Tabellen-Präfix wp_ welches standardmäßig eingetragen wird zu ändern:

WordPress: Tabellen-Präfix ändern

Das Tabellen-Präfix ändern

Hier kannst du einen beliebigen Wert eintragen, Hauptsache es unterscheidet sich vom Standard. Allerdings sind nur Buchstaben, Zahlen und Unterstriche erlaubt. Vergiss auch nicht den Unterstrich am Ende des Präfixes, damit es nachher bei der Verwaltung der Datenbank übersichtlich bleibt, aus dem Präfix mein_blog_ wird später in der Datenbank z. B. mein_blog_options.

Anschließend lädt man das ganze hoch und ruft die www.beispiel-domain.de/wp-admin/install.php auf:

WordPress installieren: Schritt 1

WordPress installieren: Schritt 1

In diesem Schritt gibt es drei Einstellungen, die man tätigen kann. Zum einen bestimmt man den Titel des Weblogs, zum zweiten kann man eine E-Mail-Adresse eingeben. Es sollte allerdings eine gültige Adresse sein, denn an diese werden die Zugangsdaten geschickt. Darunter kann man mit dem Klick auf die Checkbox – Ich möchte, dass mein Blog in Suchmaschinen, wie Google oder Technorati erscheint. – entscheiden ob das Weblog für die Suchmaschinen sichtbar sein soll oder nicht. Ist z. B. interessant für Leute, die in Ruhe testen möchten.

Nachtrag: Auch wenn WordPress seit der Version 3.0 zusätzliche Sicherungsmechanismen anbietet: Auswahl eines Nutzernamens und die Eingabe eines eigenen Passworts, ich würde dir dennoch empfehlen direkt nach der Installation einen neuen Admin zu erstellen, so wie ich es weiter unten beschrieben habe.

Alle drei Einstellungen kann man später ohne Probleme im Backend ändern. Mit einem Klick auf den Button WordPress installieren wird installiert (die Datenbank-Tabellen werden angelegt) und im nächsten Fenster erscheinen die Zugangsdaten:

WordPress installieren: Schritt 2

WordPress installieren: Schritt 2

Mit diesen Zugangsdaten kannst du dich nun einloggen uns loslegen.

2.1 Mögliche Fehler bei der Installation

Falls du nach dem Aufruf der /wp-admin/install.php nicht die vorletzte Abbildung zu sehen bekommst, dann könnte es dafür mehrere Ursachen geben. Falls du folgende Abbildung zu sehen bekommst:

WordPress: Datenbank-Fehler

WordPress: Datenbank-Fehler

Dann hat WordPress Probleme die Datenbank zu kontaktieren. Daher checkst du am besten folgende Schritte durch:

  • Kennst du den richtigen Datenbank-Namen und hast du diesen richtig in der Konfigurationsdatei (wp-config.php) notiert?
  • Kennst du den richtigen Nutzernamen für die Datenbank und hast du diesen in der Konfigurationsdatei auch richtig notiert?
  • Kennst du das richtige Passwort für die Datenbank und hast du es in der Konfigurationsdatei richtig notiert?
  • Hast du die Konfigurationsdatei hochgeladen? Und wenn ja, an die richtige Stelle?

Ein weiterer möglicher Fehler produziert folgende Fehlermeldung:

WordPress: bereits installiert

WordPress: bereits installiert

In diesem Fall ist es so, dass in der Datenbank eine WordPress-Installation mit dem identischen Tabellen-Präfix installiert ist. Die Lösung ist einfach: in der wp-config.php der neuen Installation das Tabellen-Präfix ändern.

3. Neuen Admin erstellen

Doch bevor du loslegst würde ich der empfehlen als erstes einen neuen Standard-Admin zu erstellen und den alten zu löschen. Du sollst dabei achten, dass der neue Admin als Nutzernamen nicht admin bekommt und das er mit einem neuen, starken Passwort bestückt wird.

WordPress: neuen Admin erstellen

Neuen Admin erstellen

Wie gesagt, wichtig bei der Erstellung des neuen Admins ist es dass er einen anderen, individuellen Nutzernamen bekommt. Darüberhinaus sollte der Account über ein starkes Passwort verfügen: mind. acht Zeichen und eine Mischung aus Buchstaben (groß und klein), Zahlen und Sonderzeichen (z. B. !).

wpShopGermany - Das erste echte Wordpress Shop-Plugin für Deutschland

Und warum das ganze? Dadurch das der Standardadmin den Nutzernamen admin hat, erleichtert es den Angreifern bei sehr vielen Weblogs die Arbeit, da sie schon die Hälfte des Logins kennen und sich auf das Passwort konzentrieren können.

Achte! bitte hinterher darauf, dass der Benutzername nicht als Anzeigename im Frontend (Öffentlicher Name) fungiert (ist leider Standardeinstellung), weil dadurch ein möglicher Angreifer direkt auch den Loginnamen erkennen kann und deine Mühe bei der Erstellung eines neuen Admin-Accounts umsonst war.

WordPress: neuer Admin 2

Neuer Admin: wähle einen anderen öffentlichen Namen

4. Die .htaccess-Datei: externe Zugriffe auf die Konfigurationsdatei blocken

Wenn du den Zugriff auf die .htaccess-Datei hast, dann kannst du sehr einfach den Zugriff von außen auf die wp-config.php blocken in dem du folgenden Code in die .htacces-Datei einträgst:

# Schützt die wp-config.php
<files wp-config.php>
Order deny,allow
deny from all
</files>

5. Login-Versuche einschränken

Mit dem Plugin Login LockDown kannst du die ungültigen Login-Versuche für den Admin-Bereich einschränken. Nach der Installation und der Aktivierung des Plugins erscheint unter Einstellungen ein zusätzlicher Menüpunkt: Login LockDown.

Login LockDown im Einsatz

Login LockDown im Einsatz (Ausschnitt)

Im ersten Punkt unter Max Login Retries gibt man an wie viele Login-Versuche innerhalb eines bestimmten Zeitraumes (zweite Einstellung Retry Time Period Restriction (minutes)) erlaubt sind. Wenn diese ausgeschöpft sind, kommt die dritte Einstellung Lockout Length (minutes) zum Zuge und die Login-Versuche sind für den IP-Bereich, von dem die ungültigen Login-Versuche kamen, für den angegebenen Zeitraum gesperrt.

Suchmaschinenoptimierung (SEO) für WordPress

Unter der Einstellung Lockout Invalid Usernames? kann man die ungültigen Login-Namen aussperren und unter Mask Login Errors? kann man die Fehlermeldungen bei ungültigen Login-Versuchen unterdrücken. Unter Currently Locked Out kann man einsehen welche IPs gesperrt sind und sie gegebenenfalls "befreien".

Durch den Einsatz der WordPress-Erweiterung wird die Brute-Force-Methode mindestens stark erschwert. Bei dieser Methode wird mit purer Rechnerkraft so lange ausprobiert bis man die Kombination aus Loginnamen und Passwort geknackt hat.

6. Fazit

Sicherlich, dass Arsenal an möglichen Sicherheitsmaßnahmen haben wir noch lange nicht ausgeschöpft. Aber du hast mit den oben beschriebenen und sehr einfachen Maßnahmen – Logindaten verschlüsseln, individuellen Tabellen-Präfix, neuer Admin, Schutz der wp-config.php und die Beschränkung der Login-Versuche – nicht nur WordPress installiert sondern deiner WordPress-Installation auch ein hohes Maß an Sicherheit spendiert.

Diesen Artikel weiterempfehlen:

Deinen XING-Kontakten zeigen

 — 


31 Reaktionen auf diesen Beitrag

Kommentare

  1. mo. von Phlow sagte am
    Sonntag, 31. Januar 2010 um 16:59 folgendes:

    Hey Vladimir!

    Großartiger und umfassender Artikel. Danke dafür, denn einige der hier beschriebenen Absicherungen waren mir nicht so geläufig. Noch einmal Danke, dass Du den Artikel frei veröffentlicht hast.

    Liebe Grüße, mo.

  2. hoohead sagte am
    Freitag, 02. April 2010 um 11:51 folgendes:

    Schön beschrieben.
    Eine Kleinigkeit würde ich noch machen:
    Den wp-admin Ordner per .htaccess schützen.

    • Rata sagte am
      Dienstag, 11. Mai 2010 um 07:15 folgendes:

      Ja, und erklärst Du einem Dussel mal eben das WIE?
      Danke ;)

      Lieber Gruß
      Rata

    • Perun sagte am
      Dienstag, 11. Mai 2010 um 10:17 folgendes:

      Hallo,

      Den wp-admin Ordner per .htaccess schützen.

      das würde ich nicht machen, da WordPress auch im Frontend auf Dateien im Backend zugreift.

      Dann lieber nur die wp-login.php absichern.

      • Dirk sagte am
        Donnerstag, 17. Juni 2010 um 14:50 folgendes:

        Ich mache das genau so (/wp-admin per HTTP-Auth gesichert), und konnte bisher noch nicht feststellen, dass das Frontend da irgendwo komisch reagiert hat.

        Wenn man ein sauberes Theme und suabere Plugins verwendet, kommt das auch nicht vor.

  3. Rata sagte am
    Mittwoch, 12. Mai 2010 um 17:12 folgendes:

    Danke schön ;)

    Lieber Gruß
    Rata

  4. Sabine sagte am
    Freitag, 14. Mai 2010 um 13:51 folgendes:

    Hallo,

    wie immer tolle Tipps und sehr gut und verständlich beschrieben. Danke.

    Aber leider habe ich den Artikel zu spät gelesen. Das Blog ist nämlich schon mit Leben gefüllt, ausschließlich mit Seiten und Artikeln von "admin".

    Meine Frage: Was passiert mit dem bestehenden content, wenn ich nachträglich den "admin" lösche und einen neuen Admin einrichte? Kann ich den content von "admin" auf den neuen "Admin" überragen?

    Sabine

    • Perun sagte am
      Sonntag, 16. Mai 2010 um 22:42 folgendes:

      Hallo Sabine,

      als erstes machst du ein Backup. Dann erstellst du den neuen Admin, loggst dich ein und vergibst dem neuen Admin einen öffentlichen Namen der sich vom Login unterscheidet und dann löschst du den alten Admin. Im Zwischenschritt wird gefragt ob die bisherigen Beiträge des alten Admins löschen oder auf jemand anderen übertragen möchtest.

      Hier wählst du die zweite Option und alle Beiträge werden dann dem neuen Admin übertragen. Im letzten Schritt löschst du den alten Admin.

      Viele Grüße

      • Sabine sagte am
        Sonntag, 23. Mai 2010 um 12:04 folgendes:

        Herzlichen Dank. Total easy!

        Sabine

  5. Andreas sagte am
    Samstag, 15. Mai 2010 um 16:31 folgendes:

    Da sind ein paar sehr gute und einfache (admin User Massnahmen) Mittel dabei um es Angreifern ein wenig schwerer zu machen.
    Jetzt brauche ich nur mehr die Kraft das in all meinen Websites umzusetzen – gibt es dafür ein Plugin (WP-Create-Time)? ;-)

    LG,
    Andreas

  6. Christian sagte am
    Donnerstag, 20. Mai 2010 um 10:35 folgendes:

    Herzlichen Dank für die Tipps :)! Sind tatsächlich recht einfach (vor allem einfach auch für Laien umzusetzen), aber man muss erst einmal darauf kommen…

    LG
    Christian

  7. balu sagte am
    Donnerstag, 10. Juni 2010 um 02:06 folgendes:

    Vielen Dank für die Vielen und Hilfreichen Tips,
    so eine Zusammenfassung ist immer sehr hilfreich,
    gerade wenn eine neuinstallation ansteht :)
    Also Danke dafür

  8. kira sagte am
    Dienstag, 22. Juni 2010 um 15:16 folgendes:

    Zwar leider etwas zu spät gesehen, aber trotzdem Danke.

    Nichtsdestotrotz möchte ich noch darauf aufmerksam machen, dass es in WP 3.0 zwar jetzt von Anfang an möglich ist, den Usernamen "admin" bei der Installation zu ändern, er aber hinterher leider nicht mehr direkt löschbar ist. Man sollte wohl jetzt auf alle Fälle über die MySQL-Datenbank im my Admin-Bereich zumindest die vergebene User-ID 1 manuell auf eine Zahl ab 3 setzen, wenn man noch einen Tick sicherer werden will.

    Gruß

Trackbacks und Pingbacks

  1. Tweets die WordPress installieren und sicherer machen | WordPress-Buch erwähnt -- Topsy.com
  2. uberVU - social comments
  3. MyOOS Version 2.1.5 - MyOOS Shopsystem
  4. Ein paar WordPress-Infos im Quickie-Format | Peruns Weblog
  5. delicious Links: 27. January 2010
  6. Wordpress installation sicher machen! | 3gfx.net
  7. WordPress installieren und sicherer machen » Euch, Sicherheit, WordPress, Sicherung, Backup, Datenbank » Gruening.me spezialisiert sich auf Rezensionen und bloggt über alles mögliche.
  8. WordPress sicher installieren | Peruns Weblog
  9. Checkliste für WordPress-Installation - Webmeister Blog
  10. Michel, wie macht man Wordpress einigermaßen sicher? - Pixelscheucher
  11. To Do Liste « Frapelos Fundstücke
  12. Technikwürze 171 – WordPress total » Technikwürze – Web Standards Podcast
  13. Einen Blog erstellen mit WordPress- Teil 1: Die 5 Minuten-Installation | Geld-online-Blog
  14. Auch WordPress sollte mit einem AntiViren-Plugin geschützt werden - WordPress, Plugin, Bedrohungen, AntiVirus, Sergej, Müller - Blogger Szene Magazin - Blogszene.com
  15. WordPress – was braucht man zum Start? | admartinator.de
  16. WordPress Sicherheit: Versionsnummer im head verbergen » Schmiedel-Stefan.de
  17. WordPress Sicherheit: Versionsnummer im head verbergen » WebdesignLabs

Tut mir Leid, die Kommentarfunktion für diesen Beitrag wurde geschlossen.