01/03/2022

WordPress aufräumen – leider wichtig!

Isch glaub‘ isch hab Plug(ins) 😱

Puh, wir haben schon wieder März. Nur noch einmal joggen gehen und es ist Ostern 🙂 Sobald jetzt das Wetter besser wird, kommen wir demnach in die Phase „Frühjahrsputz“ – also WordPress aufräumen! Dazu gehört auch eine Bestandsaufnahme der WordPress-Webseiten, die ich betreue und betreibe.

Besonderes Augenmerk richte ich dabei auf die Plugin-Sektion von WordPress. Die wird schonungslos unter die Lupe genommen. Ziel ist es, so wenig Plugins wie möglich einzusetzen.

Warum ist WordPress aufräumen absolut notwendig?

Jedes Plugin bringt Code mit in die Webseite, den ein Dritter geschrieben hat. Wir vertrauen darauf, dass er keinen Schadcode enthält oder sensible Daten abgezweigt werden.

Meistens haben die Plugin-Entwickler gar nichts böses im Sinn. Aber selbst dann kann der Code unwissentlich neue Einfallstore für Hacker öffnen oder schlicht ungenügend umgesetzt sein, so dass sich Probleme auf der Webseite ergeben.

Da Plugin-Entwickler dann gerne auch in Ländern sitzen, die ein ganz anderes Verständnis von Datenschutz haben, passen solche Plugins dann oft nicht mit dem strengen deutschen Datenschutz zusammen.

Ein schönes Beispiel ist das sehr weit verbreitete Contact Form 7.

Ich gebe gleich zu, dass ich dieses Kontaktformular-Plugin seit Jahren nicht mehr nutze. Womöglich hat sich die Sachlage inzwischen zum Besseren geändert. Mir liegt es auch fern hier Plugin-Bashing zu betreiben. Wenn du Contact Form 7 einsetzt, dann solltest du zumindest Wissen, dass es u.a. gravierende Sicherheitslücken gab. Überprüfe daher, ob du die neuste Version verwendest. Updates einspielen ist auch eien From von WordPress aufräumen!

Dezember 2020: Kritische Sicherheitslücke in Contact Form 7 gefunden 📧

Immerhin weist Contact Form 7 über 5 Millionen aktive Installationen auf und gehört damit zu den top populärsten WordPress Plugins. Durch eine kritische Lücke konnten Angreifer über Datei-Upload-Felder, die in Contact Form 7 Formularen verwendet wurden, Dateien mit Schadcode einschleusen. Außerdem konnten Angreifer so einen Fernzugriff über eine Web-Shell-Schnittstelle einrichten und so eigene Befehle auf dem Webserver ausführen.

Übrigens genau das wollen die meisten Hacker von kleineren Webseiten: den Webserver kapern und dessen Ressourcen nutzen. Hier ist ein Artikel von mir dazu, in dem ich das genauer erkläre: „Warum Hacker auch deine Webseite wollen„.

Es geht den Hackern meist gar nicht um Bezahldaten, sensible Informationen oder die Störung des Betriebs der Webseite. Es geht meist darum möglichst unauffällig etwas Kapazitäten deines Webservers abzuzwacken. Zum Beispiel um eine Botnetzwerk aufzubauen.

Anders verhält es sich natürlich bei den Giganten unter den Webseiten á la Amazon & Co., die eine riesige Nutzerdatenbank haben und allein deren Ausfall richtig viel Geld kostet – laut capital.de 837.330 US Dollar – pro fucking Minute! Hier sind wahrscheinlich Erpressung und „sensible Daten abgreifen“ das erklärte Ziel der meisten Angriffe. Zumal die Webseiten der großen Player auch viel aufwändiger zu Hacken sind (sollte man meinen).

Was sind CVE Nummern? 🤔

Die oben genannte Sicherheitslücke im Contact Form 7 Plugin hat immerhin einen CVE Eintrag bekommen. CVE steht für Common Vulnerabilities and Exposures (Häufige Schwachstellen und Risiken). Das ist eine Datenbank mit offiziellen Sicherheitslücken.

Allerdings bekommen Sicherheitslücken erst ab einer gewissen „Kritikalität“ einen eigenen CVE-Eintrag. D.h. wenn es einen CVE-Eintrag gibt, dann ist die Sache auch Ernst genug, um sich drum zu kümmern. CVE-Einträge sind also quasi der Ritterschlag für eine Sicherheitslücke – im negativen Sinne.
Hier ist der CVE-Eintrag zu eben jener Sicherheitslücke: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-35489

Die CVE Datenbank wird übrigens von der US Non-Profit-Organisation MITRE Corporation gepflegt – eine Abspaltung des renommierten Massachusetts Institute of Technology (MIT).

Was man dem Entwickler von Contact Form 7 zu Gute halten muss: er hat sehr schnell reagiert! Ein Sicherheits-Patch war bereits am nächsten Tag verfügbar! Das wiederum ist ein gutes Signal, das für den Einsatz von Contact Form 7 sprechen kann: wie gut wird das Plugin gepflegt.

Contact Form 7 und reCaptcha 🤦‍♀️

Spätestens bei der Umsetzung von Googles reCaptcha in Contact Form 7 hatte ich dann allerdings genug von dem Plugin. reCaptchas sollen Spam bei Formularen verhindern. Von daher macht ein reCaptcha nur dort Sinn, wo auch ein Formular verwendet wird.

Wenn man reCaptcha bei Contact Form 7 aktiviert, wird es fortan auf jeder Unterseite geladen – nicht nur auf der Seite mit einem Formular. (Why? Und ist das immer noch so?)

Oft sieht man Webseiten, wo bereits auf der Startseite unten rechts das reCaptcha Logo erscheint, obwohl es auf der ganzen Startseite gar kein Formular gibt. Häufig ein Indiz für den Einsatz von Contact Form 7.

Weitere WordPress Plugins mit Sicherheitslücken 😱

Aber wie gesagt, ich will hier nicht allein auf Contact Form 7 herumreiten, ich wollte nur darstellen, warum ich mich vor einiger Zeit bereits entschieden habe, dass ich Contact Form 7 nicht mehr auf meinen Seiten einsetze und meinen Kunden vom Einsatz abrate.

Um bei beliebten Formular-Plugins zu bleiben: auch NinjaForms, mit über 1 Million aktiven Installationen, hat sich 2021 nicht mit Ruhm bekleckert. Im August 2021 und schon wieder im Oktober 2021 sind kritische Lücken mit CVE-Einträgen aufgetaucht. Falls Ihr also NinjaForms nutzt: bitte prüft eure Version und spielt ggf. Updates ein!

Hier die CVE-Nummern:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34647
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34648
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24889

Und damit es nicht heisst, ich habe es auf WordPress Formular-Plugins abgesehen, hier noch eine Handvoll weiterer Lücken aus dem Jahr 2021:

Essential Addons for Elementor (ca. 1 Millionen aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0320

All in One SEO (ca. 3 Millionen aktive Installationen)
Hier sind die CVE-Einträge geleert worden ¯_(ツ)_/¯ Dafür hier Links zum Report bei Jetpack und heise.de:
Severe Vulnerabilities Fixed in All In One SEO Plugin Version 4.1.5.3
All in One SEO WordPress kritische Lücke bei heise.de

The Plus Addons for Elementor (ca. 30.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24175

NextGEN Gallery Plugin (ca. 800.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-35942

Contact Form 7 Style (ca. 50.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24159
ACHTUNG: dauerhaft ungefixt! Dieses Plugin bitte deinstallieren!

Popup Builder (ca. 200.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10195
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10196

WP Statistics (ca. 500.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24340

WP Super Cache (ca. 2.000.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24312

UltimateMember (ca. 100.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24306

Simple 301 Redirect (ca. 300.000 aktive Installationen)
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24356

Und das ist nur ein kleiner Auszug. Laut wpscan.com (eine WordPress spezifische Datenbank mit Sicherheitslücken) wurden 2021 insgesamt 5662 Sicherheitslücken gemeldet. Das waren im Schnitt etwa 470 pro Monat! WTF!

Sicherheitslücken im WordPress Core?

Und betreffen diese Sicherheitslücken eigentlich nur die Plugins? Leider nein. Selbstverständlich hat WordPress selbst, so wie jede komplexere Software heutzutage, auch mit Sicherheitslücken zu kämpfen. Am 6. Januar 2022 erst wurde das Update auf Version 5.8.3 zwangseingespielt, eben wegen mehrerer Injection Lücken, die man hätte ausnutzen können.

Alles raus, was keine Miete zahlt! 🧹

Um nun den Bogen zum Frühjahrsputz und der Aktion „WordPress aufräumen“ wieder zu schließen sollte nun klar sein, warum ich regelmäßig den Einsatz von Plugins überprüfe und überflüssiges möglichst entferne.
Man schleppt sich nicht nur weniger Sicherheitslücken-Potential ein, in der Regel läuft die Seite auch performanter, je weniger Plugins im Einsatz sind. Zudem bleibt der Pflegeaufwand überschaubarer je weniger Plugins man benutzt.

Dazu kommt noch das Problem: je mehr Plugins man benutzt, desto höher die Wahrscheinlichkeit, das bei einem Update etwas schief läuft. Ein regelmäßiges WordPress- bzw. Plugin-Audit mit meinen Webseiten-Kunden hat hier schon so einiges aufgeräumt.

Wieviele Plugins sind zu viel?

Das kann man pauschal natürlich nicht beantworten. Wenn das Plugin einen wichtigen Zweck erfüllt, den man nur mit viel Aufwand oder gar nicht anders anders umsetzen kann, dann macht das Plugin vermutlich Sinn.

Plugins, die deaktiviert im Plugin-Verzeichnis schlummern, würde ich in der Regel immer entfernen. Auch wenn Sie nicht aktiv sind, können Sie die gleichen Sicherheitslücken bieten, wie im aktivierten Zustand.

In einem Artikel (ich erinnere mich leider nicht mehr wo) habe ich gelesen, die durchschnittliche Anzahl der installierten WordPress-Plugins pro Seite läge bei 22.

Werfen wir einen kurzen Blick auf die Anzahl der Plugins der WordPress-Seiten, die ich betreue. Ich habe auch Kunden, die selbst Plugins installieren. Dort entsteht erfahrungsgemäß oft Wildwuchs. Diese Seiten lasse ich jetzt mal aussen vor. Bleiben noch 14 Seiten übrig. Dort habe ich im Schnitt 11 Plugins installiert. Das Minimum liegt bei 4 Plugins. Das Maximum liegt bei 18 Plugins.

WordPress aufräumen

Ich kann euch nur empfehlen regelmäßig eure Plugin-Sammlung durchzugehen. Prüft, ob das Plugin wirklich notwendig ist. Wenn nicht – raus damit. Prüft auch ob das Plugin noch regelmäßig aktualisiert wird. Wenn nicht – sucht nach Alternativen. Pflegt eure WordPress Seiten und bietet euren Besuchern damit einen sicheren und performanten Besuch an – alles andere wäre unfair.

In diesem Sinne: sauber bleiben 😁
René

Zahnpflege ist nicht meine Profession 😬
Aber wenn Sie einen richtig guten WordPress Experten suchen, sind Sie hier genau richtig.

Jetzt Kontakt aufnehmen
Image