# DoS-Schutz für WordPress

## Ausgangssituation

### Viele Aufrufe.  
Eine klare Grenze.

#### Wiederholte Seitenaufrufe derselben IP-Adresse können WordPress unnötig beanspruchen. LU DoS Shield setzt dafür eine konfigurierbare Grenze.

Das Plugin zählt die Frontend-Anfragen, die seine Prüfung erreichen. Wird das Minutenlimit überschritten, blockiert es weitere geprüfte Zugriffe dieser IP für eine festgelegte Zeit. Eine eigene Liste ergänzt die Regeln um unerwünschte Bot-Kennungen.

Gedacht ist das Tool für Betreiber und betreuende Teams, die auffällige Zugriffshäufigkeiten begrenzen und Sperren direkt in WordPress nachvollziehen möchten.

## Funktionen

### DoS-Schutz für WordPress.  
Mit Regeln, die Sie festlegen.

Begrenzen, prüfen und freigeben.  
Die wichtigsten Funktionen im Überblick.

#### Aufrufe pro IP begrenzen.

Sie bestimmen, wie viele geprüfte Seitenaufrufe eine IP-Adresse innerhalb einer festen Minute auslösen darf. Erst beim Überschreiten greift die Sperre.

- Minutenlimit frei einstellbar
- Standard: 60 Aufrufe pro IP
- Sperrdauer in Minuten

#### Bot-Kennungen gezielt sperren.

Tragen Sie unerwünschte Begriffe aus dem User-Agent ein. Enthält eine Anfrage einen dieser Begriffe, wird ihre IP unabhängig vom Aufruflimit gesperrt.

- Eigene, kommaseparierte Liste
- Teilbegriffe werden erkannt
- Groß-/Kleinschreibung ist unerheblich

#### Sperrgründe nachvollziehen.

Die Sperrübersicht zeigt IP-Adresse, Sperrgrund, Beginn und vorgesehenes Ende. So lässt sich eine Sperre im Backend konkret einordnen.

- Aktive und abgelaufene Einträge
- Übersichten mit Seitennavigation
- Optionaler Link zu IP2Location

#### Bei Bedarf manuell freigeben.

Entfernen Sie einzelne Sperren oder leeren Sie die gesamte Sperrliste. Diese Aktionen stehen Benutzern mit der Berechtigung zur Optionsverwaltung offen.

- Einzelne IP-Adressen freigeben
- Alle Sperreinträge entfernen
- Geschützte Verwaltungsaktionen

#### Aufrufzähler kontrollieren.

Das Debug-Protokoll zeigt die für das Rate-Limiting erfassten Zähler je IP-Hash und Minutenfenster. Bei Bedarf lässt sich das Protokoll manuell leeren.

- Gekürzter Hash in der Anzeige
- Aufrufzahl und Minutenzeitstempel
- Kurzfristige technische Übersicht

#### Datenbestände begrenzt halten.

WP-Cron plant die Bereinigung abgelaufener Sperren und älterer Zähler. Ein konfigurierbares Tabellenlimit begrenzt zusätzlich die Anzahl gespeicherter Einträge.

- Bereinigung im Minutentakt geplant
- Tägliche Tabellenoptimierung geplant
- Standard: 2.000 Einträge je Tabelle

## So funktioniert es

### Eine Anfrage.  
Ein definierter Prüfablauf.

Die Prüfung erfolgt vor der Template-Ausgabe.  
Die Regeln konfigurieren Sie im Backend.

01

### Regeln festlegen

Im Menü „Luna Universe → DoS Shield“ Aufruflimit, Sperrdauer, Bot-Begriffe und Tabellenlimit einstellen.

02

### Anfrage prüfen

Das Plugin ermittelt die IP-Adresse, prüft Bot-Kennungen und bestehende Sperren und zählt zulässige Anfragen.

03

### Bei Verstoß sperren

Ein Bot-Treffer oder überschrittenes Limit löst eine IP-Sperre aus. Die Antwort ist HTTP 503 mit Wartungshinweis.

04

### Sperren verwalten

Sperrgründe einsehen, bei Bedarf freigeben und Regeln anpassen. Zeitlich abgelaufene Sperren greifen nicht mehr.

## Technik & Einordnung

### Ein Baustein.  
Mit klar definiertem Umfang.

Was das Plugin voraussetzt, welche Daten es verarbeitet und wo seine Grenzen liegen.

#### System

WordPress auf PHP mit MySQL-/MariaDB-Datenbank. Zwei eigene Tabellen speichern Sperren und Aufrufzähler.

#### Prüfpunkt

template _redirect, Priorität 1. Erfasst Frontend-Anfragen, die diesen WordPress-Hook erreichen.

#### Verwaltung

WordPress-Berechtigung manage _options. Nonce-Prüfungen sichern Freigaben und das manuelle Leeren des Protokolls ab.

#### Datenpflege

WP-Cron muss ausgeführt werden. Die tatsächlichen Bereinigungszeiten hängen vom WordPress-Zeitplan ab.

#### Anbindungen

Update-Metadaten über plugins.luna-universe.com; externer IP2Location-Link in der Sperrliste. Die Zugriffskontrolle selbst läuft lokal.

#### Updates

Der integrierte Updater fragt Versionsinformationen bei plugins.luna-universe.com ab und bindet verfügbare Updates in WordPress ein.

## WordPress mit Sodah

### Technik, die zu Ihrer  
Website passen muss.

#### LU DoS Shield ist eine Eigenentwicklung von Sodah Webdesign. Sein Einsatz gehört in den Kontext Ihrer WordPress- und Serverkonfiguration.

Für ein Website-Projekt oder die laufende Betreuung lässt sich gemeinsam klären, ob die IP-basierten Regeln zu Ihren Zugriffen passen. Bestehende Caches, vorgeschaltete Schutzdienste und legitime Bots müssen dabei berücksichtigt werden.

Besprechen Sie mit Sodah die Einrichtung und Verfügbarkeit für Ihr Projekt.

[WordPress-Webentwicklung] (https://www.sodah.de/webentwicklung-agentur/) [Support & Wartung] (https://www.sodah.de/webdesign-agentur/support-wartung/)

## Häufige Fragen

### Gut zu wissen.

Konkrete Antworten zu Funktion,  
Daten und Einsatzgrenzen.

### [Was ist LU DoS Shield?] (#1e2b8af930b89c324)

LU DoS Shield ist ein WordPress-Plugin von Sodah Webdesign für DoS-Schutz auf Anwendungsebene. Es begrenzt geprüfte Frontend-Seitenaufrufe pro IP-Adresse und Minute. Zusätzlich lassen sich Bots anhand selbst festgelegter User-Agent-Begriffe sperren.

### [Wann wird eine IP-Adresse gesperrt?] (#2c158232fe0bbf18d)

Eine IP-Adresse wird gesperrt, wenn ihr Aufrufzähler das konfigurierte Limit in einer festen Kalenderminute überschreitet oder der User-Agent einen gesperrten Begriff enthält. Die Standardwerte sind 60 Aufrufe und 30 Minuten Sperrdauer. Bei fortbestehendem Bot-Treffer wird die Sperrfrist erneut gesetzt. Gesperrte Anfragen erhalten HTTP 503 mit einem Wartungshinweis.

### [Ersetzt das Plugin eine Firewall oder einen DDoS-Dienst?] (#32cd2412e466cb9c6)

Nein. Die Prüfung läuft innerhalb von WordPress am Hook template _redirect. Sie greift bei Frontend-Anfragen, die diesen Punkt erreichen. Login, REST-API, XML-RPC und direkt ausgelieferte Dateien werden durch diesen Hook nicht allgemein erfasst. Das Plugin ersetzt keinen vorgelagerten Schutz gegen Netzwerküberlastung oder verteilte Angriffe.

### [Welche Voraussetzungen gibt es?] (#1de7a94e2303d80f7)

Benötigt werden WordPress mit PHP und einer MySQL-/MariaDB-Datenbank sowie das Recht manage _options zur Verwaltung. Für die geplante Datenpflege muss WP-Cron ausgeführt werden. Im vorliegenden Plugin sind keine verbindlichen Mindestversionen von WordPress oder PHP angegeben. Proxy-, CDN- und Cache-Konfigurationen müssen zur IP-Ermittlung und zum Prüfpunkt passen.

### [Welche Daten speichert das Plugin?] (#63c821b8f4f27d528)

Die lokale Sperrtabelle enthält vollständige IP-Adressen, deren SHA-256-Hash, Sperrgrund sowie Beginn und Ende der Sperre. Das Debug-Protokoll speichert IP-Hashes, Aufrufzähler und Minutenzeitstempel. Trotz des Feldnamens ip _anonymized sind die IP-Adressen der Sperrliste nicht anonymisiert. Beim Anklicken des IP2Location-Links wird die betreffende IP-Adresse an diesen externen Dienst übergeben.

### [Kann ich eine gesperrte IP manuell freigeben?] (#066d82c4fb763927f)

Ja. Berechtigte Administratoren können einzelne Sperreinträge entfernen oder die gesamte Sperrliste leeren. Auch das Debug-Protokoll lässt sich manuell leeren. Eine Freigabe ist keine dauerhafte Ausnahme: Trifft eine Sperrregel erneut zu, kann die IP wieder gesperrt werden.

### [Welche Aufgaben laufen automatisch?] (#c0fc4dae4fd0a78b8)

Geprüfte Frontend-Aufrufe werden automatisch gezählt und bei Regelverletzungen blockiert. WP-Cron plant die Bereinigung abgelaufener Sperren und älterer Minutenprotokolle im Minutentakt sowie die Tabellenoptimierung täglich. Die tatsächlichen Ausführungszeitpunkte hängen von WP-Cron ab. Beim Erreichen des Tabellenlimits können auch noch aktive Sperren verdrängt werden.

### [Erkennt LU DoS Shield Bots zuverlässig an ihrer Identität?] (#063b1f990c781797a)

Nein. Die Bot-Regel sucht ohne Beachtung der Groß- und Kleinschreibung nach eingetragenen Teilzeichenfolgen im User-Agent. Diese Kennung lässt sich verändern. Eine verifizierte Bot-Identität, automatische Bedrohungsdatenbank oder KI-Erkennung ist nicht implementiert.
