7 Schwachstellen Ihre WordPress Security -Plugins können Sie nicht schützen (und wie man sie manuell repariert)
Veröffentlicht: 2025-01-27Wenn Sie wie die meisten WordPress -Benutzer sind, haben Sie wahrscheinlich ein Sicherheits -Plugin installiert, um Ihre Website sicher zu halten. Dies ist ein ausgezeichneter erster Schritt und wird einen Großteil Ihres Schutzes bewältigen-insbesondere wenn Sie die Zwei-Faktor-Authentifizierung aktiviert haben.
Aber beachten Sie, dass ich den ersten Schritt betont habe. Ich habe das absichtlich getan, weil viele Leute denken, es sei der einzige Schritt, den sie unternehmen müssen. Wenn Sie sich jedoch wirklich um die Sicherheit Ihrer Website kümmern, sollte dies nicht der Fall sein.
Die gute Nachricht ist, dass Sie mit einer leichten manuellen Konfiguration Ihre WordPress -Sicherheit auf Serverebene verbessern und Ihre Website erheblich mehr gegen Angriffe resistent machen können. Als zusätzlichen Bonus fühlen Sie sich dabei wie ein WordPress -Sicherheitsexperte - wohl der wichtigste Teil des gesamten Prozesses. 😉
Wenn Sie also bereit sind, sich von einem lässigen WordPress -Benutzer zu einem Profi zu verwandeln und Ihre Website kugelsicher zu machen, dann beginnen wir los.
Werkzeugkasten
Ob Sie es glauben oder nicht, um dies auszuziehen, benötigen Sie nur drei (möglicherweise vier) Tools.
- SUCURI -SEITE -Überprüfung : Kostenloses Tool zum Ausführen Ihres ersten Scans und zur Überprüfung Ihrer Änderungen.
- Sicherheitsheader : Ein weiteres kostenloses Tool, das ein detailliertes Feedback zu den Sicherheitskonfigurationen der Website bietet.
- Zugriff auf Ihr Hosting -Bedienfeld : Ich verwende CPanel, aber ich werde abdecken, was zu tun ist, wenn Sie etwas anderes haben.
- In einem Texteditor (vielleicht): In Ihrem Hosting -Bedienfeld wird wahrscheinlich ein integriert, sodass dies möglicherweise nicht benötigt wird, aber ich liste es hier für den Fall auf.
Das komplizierteste von der obigen Liste ist der Zugriff auf CPANEL. Es ist nicht schwierig, aber jedes Hosting -Unternehmen hat seinen eigenen Weg, und wenn Sie es noch nie zuvor getan haben, müssen Sie es herausfinden.
Der einfachste Weg, sich daran zu nähern (wenn Sie sich nicht sicher sind), besteht darin, die Website -Wissensbasis Ihres Hosting -Unternehmens zu besuchen und nach „CPANEL“ zu suchen. Wenn Sie das nirgendwo hin bringt, wenden Sie sich an den Kundensupport.
Ausführen Ihrer ersten Sicherheitskontrollen ausführen
Bevor Sie mit dem Code Ihrer Website basteln, möchten Sie zuerst überprüfen, wie er die Sicherheit umgeht. Die Änderungen, die ich Ihnen zeigen werde, sind sehr spezifisch, daher möchten Sie sicherstellen, dass diese tatsächlich für Ihre Website erforderlich sind.
In den meisten Fällen - insbesondere wenn Sie sich auf gemeinsames Hosting verlassen - müssen Sie sie herstellen. Auf einigen auf höheren Ebenen verwalteten WordPress-Hosting-Plänen ist es jedoch möglich, dass Ihr Host die Verbesserungen in Ihrem Namen vornimmt. Daher ist es wichtig, diese Scans vorher zu laufen.
Sucuri Site Check
Gehen Sie, um zu beginnen, zu Sucuris Site -Check -Tool und fügen Sie Ihre Website -Adresse in den Scanner ein:
Klicken Sie auf Senden und lassen Sie Sucuri seine Magie bearbeiten.
Für die Zwecke dieses Tutorials habe ich meine persönliche Website absichtlich ungeschützt, um Ihnen zu zeigen, wie die Standard -WordPress -Konfiguration aussieht (bevor Sie die Änderungen vornehmen):
Wie Sie sehen können, enthüllte der Scan fünf Sicherheitslücken, die Sie in einem typischen WordPress -Setup sehen würden. Ich werde erklären, was sie gleich meinen.
Sicherheitsüberschriften
Während Sucuri uns einen guten Blick auf die Vogelperspektive gab, lassen Sie uns einen Moment lang wirklich nerdend und überprüfen, was Sicherheitsheader zu sagen haben. Der erste Schritt ist genau der gleiche wie Sucuri. Geben Sie einfach die Adresse Ihrer Website in das Tool ein oder fügen Sie sie ein und klicken Sie auf Scan .
Abhängig davon, wie groß Ihre Website ist, können die Ergebnisse von einer Sekunde bis… na ja, länger dauern. 😅 Mein erstes Ergebnis sah so aus:
Alle roten Farben und der riesige F sehen vielleicht ein bisschen einschüchternd aus, aber es gibt uns tatsächlich einige sehr nützliche Informationen. Jede dieser roten Markierungen verweist auf einen fehlenden Sicherheitsheader, der Ihre Website anfälliger macht.
Ich möchte auch erneut betonen , dass Sie diese Ergebnisse auch mit Wordfence oder einem anderen Sicherheits -Plugin sehen, das auf Ihrer Website installiert ist. Die Ausnahme besteht darin, dass Ihre Hosting -Firma oder jemand anderes die Änderungen vor Ihnen vornimmt.
Alle roten Fahnen verstehen
Lassen Sie uns nun alles organisieren, was unsere Scans gefunden haben - es gibt einige Überschneidungen zwischen den Werkzeugen, aber jeder hat auch einige einzigartige Probleme erfasst.
Probleme beider Tools, die gefangen wurden 🤝
- Die Inhaltssicherheitspolitik fehlt völlig-dh nichts steuert, welche Skripte und Inhalte auf der Website geladen werden können. ℹ️ Ohne diese Kontrollen könnte böswilliger Code auf Ihren Seiten injiziert und ausgeführt werden, was möglicherweise Ihre Website und Ihre Besucher beeinträchtigt.
- X-Frame-Optionen fehlen, wodurch die Site für Clickjacking-Versuche durch unbefugte Einbettung anfällig ist. ℹ️ Klickjacking ist, wenn Angreifer Benutzer dazu bringen, auf etwas anderes zu klicken als das, was sie sehen, oft indem Sie Ihre legitime Site unter böswilligen Inhalten unsichtbar übertragen.
- Inhaltstypoptionen sind nicht festgelegt, was die Verwirrungsangriffe vom Typ MIME ermöglichen könnte. ℹ️ Verwirrung vom Typ MIME tritt auf, wenn ein Browser dazu gebracht wird, eine Dateiart als eine andere zu behandeln und möglicherweise schädlichen Code auszuführen.
Sucuris einzigartige Erkenntnisse 🔍
- Die PHP -Version ist in HTTP -Headern sichtbar. ℹ️ Wenn Angreifer Ihre PHP -Version sehen können, wissen sie genau, welche Schwachstellen gegen Ihre Website funktionieren könnten - wie beispielsweise eine Blaupause Ihres Sicherheitssystems.
Zusätzliche Einsichten des Sicherheitsheaders 🔬
- Keine Empfehlungsrichtlinie . ℹ️ Ohne diese Richtlinie kann Ihre Website sensible Informationen über die Browsing -Muster Ihrer Benutzer auf andere Websites austauschen.
- Berechtigungsrichtlinien wurden nicht konfiguriert. ℹ️ Dies bedeutet, dass jede Seite auf Ihrer Website möglicherweise den Zugriff auf Besucherkameras, Mikrofone oder Standortdaten ohne Einschränkungen fordern kann.
- Strikte transportiert Security fehlt. ℹ️ Ohne diesen Header können Verbindungen zu Ihrer Website von HTTPS auf HTTP herabstufen, was sie anfällig für Abfangen anfällig macht.
Das Schöne daran, diese Probleme zu beheben, ist, dass Sie nicht jedes technische Detail verstehen müssen - Sie müssen nur die Lösungen korrekt implementieren. Das bequem ist es genau das, was wir tun.
Finden Sie Ihren Weg zu den Serverdateien
Angenommen, Sie haben CPanel wie ich, klicken Sie auf Dateimanager in Ihrem Dashboard:
Wenn Sie etwas anderes als CPANEL verwenden, können Sie Filezilla herunterladen (es ist kostenlos und hier ist eine kurze Anleitung, wie Sie es verwenden können). Verwenden Sie nach der Installation Ihre FTP -Details in Ihrem Hosting -Dashboard, um eine Verbindung zu Ihrem Server herzustellen:
- Host:
ftp.yoursite.com
- Überprüfen Sie, ob dies die richtige Adresse im FTP -Abschnitt von CPanel ist - Benutzername:
your-username
- Passwort:
your-password
- Port:
21
- Überprüfen Sie auch, ob dies der Port ist, den Ihr Setup verwendet (FTP in CPanel).
Einige Hosts bieten Ihnen auch eine eigene CPANEL -Alternative, die ähnlich funktionieren könnte. Mit anderen Worten, Sie müssen Filezilla möglicherweise nicht unbedingt verwenden. Wenn Sie sich nicht sicher sind, fragen Sie den Kundenunterstützung.
Auffinden der .htaccess -Datei
Sobald Sie angemeldet sind, sehen Sie etwas, das wie der Dateibrowser Ihres Computers aussieht. Wir müssen eine bestimmte Datei namens .htaccess
finden - sie steuert, wie Ihr Server verschiedene Sicherheitseinstellungen umgeht. Der einfachste Weg, um die Suchfunktion der CPanel -Dateimanager oben rechts zu verwenden. Filezilla -Benutzer können sich auf eine ähnliche Funktion verlassen.
Geben Sie .htaccess
im Fenster ein und klicken Sie auf Go .
Wenn Sie nur eine Website mit Ihrem Hosting -Konto verknüpft haben, sollte dies ziemlich einfach sein. Wenn Sie mehrere Websites haben, stellen Sie sicher, dass Sie auf die .htaccess
-Datei klicken, die der Website zugeordnet ist, für die Sie diese Änderungen vornehmen werden.
Ein weiteres potenzielles Tripwire -Detail ist die Tatsache, dass Sie selbst bei einer einzelnen Site -Setup wahrscheinlich noch andere .htaccess
-Ish -Dateien haben. Grundsätzlich Dateien, die .htaccess
in ihrem Namen, aber auch andere Wörter oder Zeichen haben.
Sie wollen keine davon. Sie wollen nur den, der als .htaccess
genannt wird und sonst nichts.
Hinzufügen von Code in die .htaccess -Datei, um die Sicherheitsprobleme zu beheben
Sobald Sie die Datei gefunden haben, möchten Sie sie herunterladen, bevor Sie Änderungen vornehmen. Wenn etwas schief geht, haben Sie eine Sicherung, die Sie wieder in den Ordner hochladen können.
Nichts sollte schief gehen, aber besser, in Sicherheit zu sein als Sie, was .
Sobald Ihre Sicherung sicher heruntergeladen ist, können Sie mit der Bearbeitung der .htaccess
-Datei fortfahren. Klicken Sie in der Dateimanager von CPANEL mit der rechten Maustaste auf die Datei und wählen Sie Bearbeiten . Wenn Sie FileZilla verwenden, klicken Sie mit der rechten Maustaste und wählen Sie Ansicht/Bearbeiten . Dadurch wird die Datei in Ihrem Standardtext-Editor geöffnet.
Der nächste Teil ist der Scheitelpunkt dieser gesamten Mission. Hier fühlen Sie sich für einen kurzen Moment wie ein WordPress -Sicherheitsexperte. Genieße es, während es dauert.
Wo kann der Code in Ihre .htaccess
-Datei einfügen 👨🏻💻
WordPress -Installationen haben hier in der Regel mehrere Abschnitte, die durch Kommentare gekennzeichnet sind, die mit # BEGIN
und # END
beginnen.
Suchen Sie nach einer Zeile, die Folgendes sagt:
# END WordPress
Der sicherste Ansatz besteht darin , die Sicherheitsheader gleich danach hinzuzufügen . Wenn Sie die genaue Zeile nicht sehen oder sich nicht sicher sind, können Sie die Header am Ende der Datei hinzufügen, stellen Sie einfach eine leere Linie zwischen vorhandenen Code und den Neuzugangs.
Hier ist der Code:
# BEGIN Security Headers Header unset X-Powered-By php_flag expose_php Off Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' * data: blob:; style-src 'self' 'unsafe-inline' *; img-src 'self' data: *; frame-src 'self' *; font-src 'self' data: *; media-src 'self' *;" Header set Referrer-Policy "strict-origin-when-cross-origin" Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()" # END Security Headers
Nachdem Sie fertig sind, klicken Sie oben rechts auf Änderungen speichern . Suchen Sie für Nicht-CPANEL-Benutzer, was auch immer die gleichwertige Schaltfläche auf Ihrer eigenen Schnittstelle ist.
Damit können Sie die Sicherheits -Scans erneut ausführen, um die Auswirkungen Ihrer Änderungen zu erkennen.
Sicherheitsüberprüfungen erneut
Überprüfen Sie zunächst die Sicherheitsüberschriften:
Nicht schade, oder?
Wir gingen von einem F zu einem A.
Sprechen Sie über ein Glühen!
Jeder von uns konfigurierte Sicherheitsheader, den wir konfiguriert haben, wird als ordnungsgemäß implementiert angezeigt.
Als nächstes überprüfen wir Sucuri:
Viel besser, aber seltsamerweise gibt es noch zwei Warnungen.
Der erste ist eigentlich ein falsches Positiv, da ich weiß, dass meine Website Wordfence läuft. Ich habe keine Erklärung dafür für dieses andere als Sucuri erkennt auch nicht aus irgendeinem Grund Wordfence. Wenn Sie die gleiche Warnung sehen und auch wissen, dass Sie eine WAF installiert haben, ignorieren Sie sie einfach.
Die zweite Nachricht ist jedoch etwas anders. Es zeigt sich auch im Ergebnis der Sicherheitsheader, unter dem herausragenden Bericht über einen Notenbericht, den ich Ihnen bereits gezeigt habe:
Hier ist die Sache:
Obwohl sie von beiden Werkzeugen als „gefährlich“ markiert wurde, ist die Verwendung von unsicherem Inline tatsächlich vollkommen in Ordnung.
WordPress benötigt bestimmte JavaScript- und CSS -Fähigkeiten, um zu funktionieren - insbesondere für den Blockeditor und die Plugins. Während es technisch strengere Möglichkeiten gibt, um damit umzugehen (darum geht es in diesen Nonces -Referenzen), würde dies Ihre Website brechen. Buchstäblich.
Die beste Analogie hier ist, an ein Haus zu denken. Sie könnten Ihr Haus technisch „sicherer“ machen, indem Sie alle Fenster und Türen mit Zement versiegeln, aber das würde Ihr Haus nicht funktionsfähig machen. Dies ist die gleiche Idee.
Einpacken
WordPress -Sicherheits -Plugins sind die Grundlage einer guten Sicherheitsstrategie - sie können jedoch nicht auf die Serverebene reichen, auf der bestimmte kritische Schutzmaßnahmen festgelegt werden müssen.
Die Vorher und Nachher -Screenshots aus den von Ihnen gesehenen Sicherheits -Scans sind ein Beweis dafür.
Und jetzt, wo Sie dieses Tutorial gelesen haben, können auch Sie Ihre WordPress-Sicherheit von "Plugin geschützt" zu "Serverebene gesichert" nehmen.
Abschließend empfehle ich als Best Practice auch die folgenden Sicherheits -Sicherheits -Praxis:
- Führen Sie diese Sicherheits -Scans monatlich aus.
- Behalten Sie die Dokumentation Ihrer Sicherheitskonfigurationen bei.
- Testen Sie nach großen WordPress -Updates, um sicherzustellen, dass noch alles wie beabsichtigt funktioniert.
- Ändern Sie Ihre Anmeldeseitenadresse.
- Limitversuche begrenzen.
- Aktivieren Sie die Zwei-Faktor-Authentifizierung (oder kurz 2FA).
- Halten Sie Plugins und Themen aktualisiert und löschen Sie die, die Sie nicht verwenden.
… Und noch viel mehr. WordPress Security kann Sie in ein tiefes Kaninchenloch hinunterführen, aber das, was Sie hier gelernt haben, reicht aus, um Ihnen den Einstieg zu erleichtern und Ihre Website vor den meisten Angriffen zu schützen.
Haben Sie Fragen? Lass es mich in den Kommentaren wissen. Ich würde Ihnen gerne helfen.