Basisschutz – WordPress absichern Teil1

1. Und täglich grüßt das Murmeltier…Basisschutz WordPress

WordPress wird vielfach für Blogs, Webseiten oder andere Zwecke eingesetzt. Aufgrund der globalen Verbreitung im Web ist es gleichzeitig ein beliebtes Angriffsziel. Aktuell überschlagen sich Newsseiten und Blogs mit Warnungen vor einem Botnetzwerk, welches WordPress-Installationen weltweit attackiert.

Um seine WordPress-Installation abzusichern und gegen solche Übergriffe zu schützen sind zunächst nur ein paar einfache Maßnahmen notwendig. In dieser Artikelserie erkläre ich die Absicherung von WordPress (4.x). Los geht’s mit einfachen Tipps, die wirklich jeder mit wenigen Mausklicks umsetzen kann. Das Niveau wird sich langsam steigern und Folgendes umfassen:

  • Basisschutz – Was wirklich jeder umsetzen sollte wenn er WordPress einsetzt
  • Erweiteter Schutz bzw. was muss ich beachten?
  • Sicherheits-Plugins. Sind die eigentlich sinnvoll?
  • Konfigurationsbeispiele für die Absicherung des Admin-Bereichs (Apache, Lighttpd, nginx)
  • Anpassungen über die functions.php
  • Frühzeitige Erkennung von Bots und Spam

Unnütze Tipps und Schnickschnack lasse ich weg. Folgt ihr den vorgestellten Maßnahmen reduziert ihr die Wahrscheinlichkeit Opfer eines »Hacking-Angriffs« zu werden erheblich.

Dieser Beitrag ist Teil einer Artikelserie:

Update

März 2016: Die Artikelserie wurde das letzte Mal im März 2016 aktualisiert.

2. Das Problem

Der hohe und weiterhin steigende Verbreitungsgrad von WordPress erregt die Aufmerksamkeit dubioser Gestalten. Nicht selten wird versucht in das WordPress-Backend einzudringen, um sich anschließend Zugang auf Dateiebene zu verschaffen und Schadsoftware zu platzieren. Dabei gehen Angreifer fast immer nach einem ähnlichen Muster vor. Mittels automatisierten Tools versucht man Zugang in unzureichend geschützte Bereiche zu erhalten oder nutzt Schwachstellen in WordPress-Installationen und deren Plugins.

Neben der Attraktivität der hohen Verbreitung spielt allerdings noch ein weiterer Faktor eine wichtige Rolle: Gemeint ist der Anwender bzw. Betreiber einer WordPress-Installation. Durch dessen Unbedarftheit und Bequemlichkeit haben Angreifer oftmals leichtes Spiel. Angefangen bei einfachen Passwörtern wie »123456« bis hin zu uralten und nicht aktualisierten Installationen bzw. Plugins ist die Liste der Versäumnisse lang. Selbst wenn Hosting-Provider ihre Kunden auf veraltete Installationen aufmerksam machen, werden diese gutgemeinten Hinweise gerne ignoriert. Nicht selten hört man dann: »Was soll denn schon passieren…?«

3. Basisschutz WordPress

Kommen wir nun zu den einfachen Tipps – die wirklich jeder umsetzen sollte wenn er WordPress einsetzt.

3.1 Updates, Updates, Updates…

Die Entwickler von WordPress reagieren meist unverzüglich wenn eine Schwachstelle innerhalb von WordPress gefunden wurde. Ein Patch ist schnell verfügbar und kann über das Dashboard zügig eingespielt werden. Im Normalfall werdet ihr direkt nach dem Login in den Administrationsbereich über zur Verfügung stehende Updates informiert. Clevere legen sich vor einem Update noch ein Backup an, falls während der Installation ein Fehler auftreten sollte. Dazu eignet sich zum Beispiel das Plugin BackUpWordPress oder BackWPup-Plugin.

Für die installierten Plugins gilt ebenso: Updates einspielen, wann immer diese zur Verfügung stehen! Plugins solltet ihr zeitnah aktualisieren und so stets auf aktuellem Stand halten. Wer sich nicht oft in das Dashboard einloggt oder gerne eine Benachrichtigung erhält, falls neue Updates zu Verfügung stehen, kann sich das Plugin WP Updates Notifier installieren.
WordPress Updates
Wichtige Randbemerkung: Jedes Plugin stellt übrigens ein Risiko dar. Reduziert eure Plugins daher auf das Notwendigste. Für Spielereien ist bei ernsthaften WordPress-Installationen kein Platz!

WordPress auf Schwachstellen und Konfigurationsfehler prüfen

Für Deine WordPress-Installation habe ich ein spezielles Leistungspaket im Angebot:
  • Scan Deiner WordPress-Installation auf Schwachstellen
  • Auswertung und Beurteilung der gefundenen Schwachstellen
  • Auf Basis der Ergebnisse erhälst Du von mir individuelle Maßnahmenempfehlungen zur Behebung und Absicherung

Wenn du Deine WordPress-Installation nachhaltig absichern möchtest, kannst Du mich gerne kontaktieren.

Gut zu wissen: Sicherheit erlangst Du nicht durch die Installation unzähliger Security-Plugins, sondern durch eine saubere Konfiguration, stetige Updates und proaktive Maßnahmen zur Absicherung. Kontakt aufnehmen

3.2 Standard-Benutzername – Nein!

Bei einer Neuinstallation könnt ihr mittlerweile einen individuellen Benutzernamen vergeben. Ältere WordPress-Installationen hatten dieses Feature nicht und legten automatisch den Benutzer »admin« an. Warum kann das gefährlich sein? Die Authentifizierung (also der Login zum WordPress-Backend) besteht aus der Kombination Benutzername und Passwort.
Login
Möchte ein Angreifer Zugang zum System erlangen verwendet er meist Benutzernamen in der Form von »admin«, »Administrator«, »root« oder ähnlicher Form –  Namen, die üblicherweise für Logins benutzt werden und erhöhte Rechte verleihen. Ändert ihr den Standard-Benutzernamen »admin«, erschwert dies einem Angreifer den Zugriff. Er benötigt neben dem korrekten Passwort nun auch noch den Benutzernamen.

Erledigt daher folgende Schritte:

  • Ihr legt im Dashboard unter Benutzer einen zusätzlichen Administrator an. Verwendet dabei einen Fantasienamen – zum Beispiel »blogmaster3000«. Danach loggt ihr euch aus.
  • Mit dem soeben erstellen Administrator meldet ihr euch wieder an.
  • Zusätzlich legt ihr einen weiteren Benutzer mit der Rolle Autor an.
  • Anschließend löscht ihr das Standard-Administrator Konto mit dem Namen »admin«.
  • Beim Löschvorgang werdet ihr gefragt was mit den Beiträgen des Benutzers admin passieren soll. Übertragt alle Beiträge an den neu angelegten Benutzer mit der Rolle Autor.
  • In Zukunft schreibt und kommentiert ihr alle Beiträge mit dem Autoren-Konto. Das Administrator-Konto wird lediglich für die Pflege bzw. Verwaltung von WordPress verwendet.

Account
Warum macht es Sinn den zusätzlichen Nutzer mit der Rolle Autor anzulegen? Veröffentlicht ihr in Zukunft eure Beiträge oder kommentiert Artikel erscheint lediglich der Benutzername des Autors. Ihr vermeidet damit, dass das Administrator-Konto irgendwo auf der Seite erwähnt wird oder über einen Link einsehbar ist – ein Angreifer findet also keinerlei Informationen. Jetzt muss er neben dem Passwort auch noch alle möglichen Kombinationen von Benutzernamen durchprobieren, bevor es sich Zugriff in den Administrationsbereich verschaffen kann. Somit laufen die meisten Angriffsversuche ins Leere – der Benutzer »admin« existiert nicht mehr.

Du kannst den Blog aktiv unterstützen!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

3.3 Wichtig: Ein starkes Passwort

Unverzichtbar ist ein sicheres und individuelles Passwort für eure WordPress-Accounts. Denn schlechte Passwörter stellen nach wie vor ein Problem dar – nicht nur bei WordPress-Installationen. Generell fällt es Anwendern schwer ihre Passwörter korrekt zu verwalten, nicht immer das gleiche Passwort für mehrere Accounts zu verwenden oder sich gute Passwörter auszudenken.

Hier ein Tipp:

  • Nutzt einen Passwort-Manager. Gut geeignet ist das frei verfügbare KeePass. Neben Versionen für Windows, Linux, Mac OS stehen sogar welche für iOS und Android zur Verfügung.
  • Wem es an Kreativität mangelt oder einfach nicht weiss welche Kriterien ein sicheres Passwort erfüllt, der kann einen Passwort-Generator nutzen. Dieser ist in KeePass bereits integriert – oder hier zu finden. 12 Zeichen (inklusive Sonderzeichen, Groß-und Kleinschreibung und Zahlen) stellen einen vernünftigen Wert dar.
  • Unter Benutzer ändert ihr anschließend das Passwort für den Administrator-Account, sowie für alle weiteren Accounts.

Passwort
WordPress visualisiert unter der Passworteingabe die errechnete Stärke eures Passworts und bietet euch so ein Feedback. Nutzt diesen Indikator und bleibt niemals unter dem Wert »Stark«.

4. Fazit

Die dargestellten Maßnahmen zur Absicherung einer WordPress-Installation sollte wirklich jeder durchführen. Sie stellen das Mindestmaß an Sicherheit dar und lassen sich mit wenigen Handgriffen erledigen. Damit entgeht man ca. 90% aller Angriffsversuche und reduziert die Wahrscheinlichkeit eines erfolgreichen Übergriffs deutlich.

Sobald der Bekanntheitsgrad eines Blogs oder Webseite ansteigt, reichen die oben genannten Maßnahmen meist nicht mehr aus. Konkurrenten, Neider oder einfach nur Spaßvögel versuchen dann mit härteren Bandagen Zugang zu erlangen. Um böse Überraschungen vorzubeugen, werde ich in weiteren Teilen der Artikelserie weitere Maßnahmen zur Abwehr vorstellen.

Bildquellen:

WordPress-Secure: https://wordpress.org/

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

13 Ergänzungen zu “Basisschutz – WordPress absichern Teil1”

  1. Comment Avatar Dominik sagt:

    Super Tipps, wird geteilt. Danke dir.

    Ich empfehle noch den Einsatz von Limit Login Attempts. IPs werden dank dem Plugin geblockt, wenn der Login Xmal fehlgeschlagen ist.

  2. Comment Avatar Christoph sagt:

    Danke für die Tipps: Vielleicht doofe Frage, aber: Wenn ich den „alten“ Admin lösche wie in 3.2 beschrieben, was passiert dann mit den Beiträgen, die ich damit verfasst habe?

  3. Comment Avatar Torsten sagt:

    Für die aktuelle Angriffswelle ist Limit Login Attempts nicht hilfreich, da das Botnet über 90.000 IP-Adressen verfügt (laut Matt Mullenweg) und so alle IP-Sperren und Login-beschränken-Ansätze durch das Wechseln der IP ausgehebelt werden können.
    Siehe auch: https://ma.tt/2013/04/passwords-and-brute-force/

    (Schadet aber auch nicht, es trotzdem installiert zu haben …)

  4. Comment Avatar Isabella sagt:

    Toller Artikel, schön strukturiert. Und du hast recht, dieses Basis-Sicherheitseinstellungen sollte wirklich jeder machen. Eig. fast schon traurig dass man dafür einen extra Artikel machen muss….aber wir kennen das ja, hier in diesem Land….wo jeder denkt „ach sowas wird mir doch nicht passieren“… ;-)

  5. Comment Avatar Bärbel Loy sagt:

    Gute Tipps für den Umgang mit WordPress. Ich denke auch, dass ein sicheres (lang und nicht einprägsames Passwort) mehr als die halbe Miete in Sachen Sicherheit ausmacht. Backups sind generell ein MUST HAVE. Leider werden diese gerne vergessen.

  6. Comment Avatar Manuela sagt:

    Hallo Mike, danke für deinen Linke zu deinen tolle Tipps. Werde mir deine Seite zu Herzen nehmen :) lg, Manuela

  7. Comment Avatar Remo sagt:

    Daß der Benutzername „admin“, den WP leider immer einfach installiert anstatt ihn den Nutzer von WP selbst entscheiden zu lassen, geändert bzw. gelöscht werden sollte, wußte ich.

    Was mir aber nicht bekannt-war, ist, daß der Benutzername nur bei Blogbeiträgen und sonst nirgends (auf Seiten oder im Quelltext oder so nicht?) angezeigt wird.

    Dann macht natürlich die Maßnahme, einen Admin-Benutzernamen zu haben mit Administrator-Rechten und einen Autor-Benutzernamen mit Autorenrechten super Sinn!

    Danke für den Tipp!

  8. Comment Avatar Tobi sagt:

    Wie sieht es denn unter wordpress 4.3.1 aus? Der Standarduser „admin“ ist bei mir zumindest nicht vorhanden. Unter „Users“ ist es dann möglich, einen Nickname anzulegen.
    Ausserdem gibt es noch die Option „Display name publicly as“, in der man den Nickname auswählen kann. Ist der „echte“ Admin-Benutzername dann öffentlich nichtmehr einsehbar? Kann man dann auf den Auto-User verzichten?

    • Comment Avatar Leon Castillo sagt:

      Der Artikel ist ja von 2013 und WordPress lernt auch dazu.
      Mittlerweile kann man Namen und Nicks angeben um absolute Verwirrung zu schaffen.
      Ich DENKE es bringt auf jeden Fall etwas, wenn man
      1.) den User Admin tatsächlich anlegt, ihm ein gutes Kennwort verpasst und ihm später lediglich Gast-Rechte verleiht. Der User Admin hat dann die ID 1.
      2.) Zwei neue Nutzer anlegen, ihnen Gast-Rechte zukommen lassen, die haben dann die ID 2 und 3, und sie später löscht.
      3.) Nun den Redakteuer anlegen, der hat die ID 4.
      4.) Jetzt wird der Admin angelegt, mit der ID 5.
      Will man nun mit „einfachen“ Mitteln die Nutzer herausfinden, kommt man zunächst nur bis User ID 1, denn 2 und 3 sind ja gelöscht, es gibt sie nicht. Wer dann noch Bock hat, versucht sich an ID 4 und hat auch da nur den Redakteur. Also muss man sich schon bis 5 durchkämpfen, wenn man zum Admin will.
      Ich halte es zumindest so. Ob es wirklich wirksam ist… keine Ahnung!

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.