WordPress-CMS absichern: keine unerwünschten Zugriffe durch IP-Sperre

Seit einiger Zeit stellen wir fest, dass die Zugriffe auf unsere Website, welche auf Basis von WordPress als CMS läuft, nicht aus unserer aus unserem Zielmarkt stammen. Während sich einige erklären lassen, gibt es andere, die eigentlich nur einen Rückschluss zulassen.

Erklärbare Zugriffe sind zum Beispiel aufgrund der Sprache unserer Seiten Besucher aus Ländern in denen Deutsch gesprochen wird, also DACH-Region zuzüglich Anrainer-Staaten oder Regionen. Weniger nachvollziehbar sind Zugriffe aus Russland und ehemaligen Sowjetrepubliken oder China.

Folglich steht der Verdacht nahe, dass es sich hierbei eher um Angriffe, als um potentielle Kunden handelt. Wodurch die Frage aufgekommen ist, wie sperrt man unerwünschte Besucher aus und schützt so das Content Management System vor potentiellen Angriffen.

Warum man Besucher aussperren sollte

Bei uns lag es zuallererst in dem klar definierten Zielmarkt begründet. Dieser ist Deutschland. Warum also sollten Besucher aus Russland oder China Interesse an einer Website in Deutsch und Leistungen für diesen Zielmarkt haben? Zu dem fiel auf, dass die Zugriffe aus diesen Staaten (plus ein paar mehr) in den letzten Jahren zu genommen haben. Hierbei jeder Besucher lediglich eine Seite aufgerufen hat und diese oft nur Impressum, Kontakt, oder Formularseiten waren. Dass diese Zugriffe in der Folge nichts Gutes im Schilde führen, liegt aus unserer Sicht auf der Hand. Zumal die russischen Zugriffe seit dem Ukrainekrieg stark anstiegen und interessanterweise auch in den Zeiten stark verzeichnet wurde, in denen nach Pressemeldungen Cyberangriffe auf Unternehmen erfolgten.

Neben diesen einfachen Schutzmaßnahmen sind auch andere wirtschaftliche Erwägungen zu eventuell zu berücksichtigen.

Bestimmte Länder stehen auf Sanktionslisten (zur Übersicht). Also ist eine geschäftliche Beziehung in diese Staaten entweder nicht möglich oder aber könnte zu Folgen hinsichtlich der eigenen Geschäftsbeziehungen mit Dritten führen. Daher ist es eventuell sinnvoll, Besucher auf den eigenen Webseiten aus diesen Staaten von vornherein auszuschließen.

Gedanken zur Datenschutzproblematik

Das Vorgehen, IP Adressen zu analysieren um die Zugriffe auf die Website abzuwehren, können Datenschutzaspekte tangieren und somit zum Beispiel nicht konform sein zu der DSVGO.

Diese Problem sehe ich hier jedoch nicht (Achtung: kein Jurist!). Wir selbst “erheben die Daten” gleiche diese ab und speichern diese aus Statistischen zwecken. Geben sie also nicht weiter und verwenden sie auch nicht weiter. Einzig die Zwischenspeicherung bei Webhoster, welche aber durch die entsprechenden untereinander getroffenen vertraglichen Regelungen (Stichwort Auftragsverarbeiter) abgesichert sind, könnten problematisch sein. Der Abgleich an sich fällt innerhalb des selbstgehosteten CMS an.

Zu dem setzt das Gesetz voraus, dass persönliche Daten und deren Erhebung darunter fallen. Da außer den IP-Nummern und deren regionale Zuordnung keinerlei Verbindung zu irgendwelche natürlichen Personen hergestellt werden können, ist eine IP-Sperre DSVGO-konform.

Des weiteren unterliegt die Erhebung der IP-Adresse zum Abgleich dieser mit einer Liste für unerwünschte Zugriffe eindeutig einem berechtigten Interesse. Und ist damit gerechtfertigt.

Gedanken zum Thema Diskriminierung

Der Gedankengang wurde seitens des Hostingproviders angeregt. Er begründete in unserem Fall, dass das serverseitige Aussperren von Zugriffen aus einzelnen Staaten nicht möglich sei mit dem Totschlagargument der Diskriminierung.

Ein Diskriminierungsaspekt kann ich nicht erkennen. Denn wenn man a) nur einen räumlich beschränkten Markt hat, warum diskriminiert man dann b) Personen aus anderen Regionen? Wohl eher nicht.

Auch liegt durch eine auf Regionen bezogene IP-Sperre keine Diskriminierung vor, da ja alle anderen sozialen und soziogeografischen Aspekte nicht betrachtet werden.

Lösungsansätze

Es gibt verschiedene mögliche Lösungsansätze. Aus unserer Sicht sind hier serverseitige Lösungen oder über die .htmaccess die sinnvollsten. Aber auch eine Lösung innerhalb des CMS ist denkbar. Der ungünstigste Ansatz wäre ein Passwortschutz, da dieser potentielle Neukunden ausschließt.

Da wir selbst keinen Zugriff auf die Servereinstellungen haben, verbleibt lediglich der Weg über die .htmaccess oder ein WordPress-Plugin.
Mehrere Versuche die die .htmaccess-Datei so anzupassen, dass sie über IP-Abgleiche die unerwünschten Zugriffe herausfiltert und am Aufruf der Webseiten hindert scheiterten leider. Offensichtlich wurde serverseitig der Zugriff auf die GeoIP verhindert.

Letztendlich haben wir daher auf ein Plugin zurückgreifen müssen. Nach einigen Tests viel die Entscheidung auf “IP2Location Country Blocker”. Mit für uns schon nach wenigen Tagen erschreckenden Erkenntnissen (dazu später).

IP2Location Country Blocker – was das Plugin macht

Das Plugin ist ein recht einfach zu händelndes Tool. Nach dem Download hat man bei der Einrichtung die Auswahl zwischen 2 Möglichkeiten der IP-Datenquelle. Wir haben uns für die für die API-Lösung entscheiden und unseren Key angegeben.

Anschließend noch ein paar Einstellungen gemacht. So zum Beispiel welche Besucherherkunft unerwünscht ist und wie sich die Website zukünftig verhalten soll. Auch Einstellungen hinsichtlich Webcrawler (als Whitelist) sind erfolgt, so dass im Falle bestimmter IP-Sperren diese durchgelassen werden.

Der erste Schritt bei der Einstellung ist dabei das Frontend zu schützen. Hintergrund ist dabei: Impressumsdaten werden gerne ausgelesen und für Spams benutzt. Aber auch Formulare werden gerne für mehr oder eher weniger seriöse Werbung genutzt, nicht selten beinhalten diese Formularmails S**-Angebote und Links zu bösartigen Seiten. Was wir hoffen, aufgrund dieser Sperre etwas zu reduzieren (auch wenn es wahrscheinlich zu spät dafür ist)

Das Plugin “IP2Location Country Blocker” bietet des Weiteren die gleiche Filtermöglichkeit für das Backend an. Ein Einrichtung ist empfehlenswert und sogar noch strenger zu setzen, um Loginversuche in das Backend von WordPresse zu verhindern.

Nach den Einstellungen analysiert das Plugin nun alle Zugriffe, in dem es die Ips gegen eine GeoIP-Dantenbank und die Whitelist für Crawler und Proxys abgleicht. Fällt die IP unter die gesperrten Nummern erhält der Besuche je nach Einstellung eine Fehlermeldung oder eine vordefinierte Seite angezeigt. In unserem Fall haben wir uns für den Standardfehler 403 (Forbidden) entschieden.

Erkenntnisse aus der Sperre durch IP2Location Country Blocker

Wie gesagt, hatten wir festgestellt, dass wir seit ein paar Jahren steigende Besuchszahlen aus bestimmten Staaten hatten. Nachvollzogen haben wir diese hier durch Auswertungen auf unsere einzelnen Seiten im Internet.

“IP2Location Coutry Blocker” liefert uns die Bestätigung anhand eigener Statistiken. Hier wird aufgelistet, wie viele IP-Nummern aus welchem Land nicht durchgelassen wurden. Die Grafiken waren gerade zu schockierend. Insbesondere in Hinsicht auf die Backend-Blocks-

Verteilung der ausgesperrten IPs. (Frontend und Backend)

Verteilung der ausgesperrten IPs. (Frontend und Backend)

Wir haben bisher lediglich Russland/Russische Förderation, Belarus, Iran, Irak, Myanmar und China ausgesperrt. Es vergeht kein Tag (nach der Grafik: ausgesprerrt 62 Zugriffe aufs Backend = 2 Pro Tag), an dem nicht IP-Adressen aus diesen Staaten in die Sperre tappen.

Graph täglich ausgeschlossener Zugriffe (IP-Sperre)

Graph täglich ausgeschlossener Zugriffe (IP-Sperre)

Während sich hierbei chinesische Zugriffsversuche hauptsächlich auf das Frontend beziehen, zielen nach den “IP2Location Country Blocker”-Statistiken die russischen Zugriffe auf das Backend ab. Also nicht auf die Seiteninhalte, sondern auf den Adminbereich des CMS-System. Folglich kann man hier von böswilligen Angriffen auf das System ausgehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert