Rate Limiting WordPress: Grenzen für Autoren und Besucher

Verfasst von

in

Das Rate Limiting WordPress, das CSDN zur Verfügung stellt, setzt Grenzen gegen Schreibmissbrauch. Auf der einen Seite stehen Autoren, die in kurzer Zeit zu viele Inhalte veröffentlichen, zum Beispiel mit einem kompromittierten Konto. Auf der anderen Seite stehen Besucher, die zu viele Kommentare oder Kontaktformulare senden. Jede Grenze schaltet sich selbst ein und regelt sich selbst.

Schema von WordPress mit dem hervorgehobenen Reiter Rate Limiting WordPress des Plugins CSDN

Wo du es findest

Geh zu Einstellungen und wähl Cisilino Site Defense Network (Punkt 1 im Bild). Öffne den Reiter „Rate Limiting“ (Punkt 2). Zum Speichern brauchst du die Berechtigung manage_options; bei Multisite manage_network_options.

Es gibt vier Abschnitte. Punkt 3 ist „Wie es konkret funktioniert: was gezählt wird“. Punkt 4 ist „1. Autoren: zu häufige Veröffentlichungen“. Punkt 5 ist „2. Besucher: Kommentare und Kontaktformulare“. Punkt 6 ist „Derzeit gesperrte Benutzer“. Die Zeitwerte sind alle in Sekunden.

Wozu es dient

Die Grenze für Autoren stoppt ein Konto, das in Serie veröffentlicht, bevor es die Website mit Inhalten überflutet. Die Grenze für Besucher bremst, wer Kommentare und Formulare überschwemmt. Der Code kennt auch eine dritte Grenze, die Pflicht-E-Mail. Du findest sie im Reiter „Benutzerregistrierung“, beschrieben im vorherigen Kapitel.

Wie man es benutzt

Was gezählt wird (Punkt 3)

Der Infokasten erklärt die Regeln. Bei Autoren greift die Kontrolle, wenn WordPress einen Beitrag oder eine Seite speichert. Das Plugin zählt, wie viele Beiträge und Seiten dieses Autors in den letzten T Sekunden erstellt oder veröffentlicht wurden. Sind es mehr als N, wird der Autor gesperrt. Das Speichern, das die Schwelle überschreitet, geht durch: Die Sperrung blockiert die nachfolgenden.

Plugins und Themes zählen nicht, ebenso wenig Logins, Änderungen an älteren Inhalten als das Zeitfenster, automatische Entwürfe, Revisionen, der Papierkorb, Medien, Kommentare und andere Inhaltstypen. Temporäre Umgebungen, wie die Testumgebung des Plugin Check, werden ignoriert.

Achtung: Das Beispiel in diesem Kasten nennt noch N=3. Das ist ein alter Text. Der tatsächliche Standardwert ist 150 Inhalte in 5 Minuten, seit Version 1.0.13.

Autoren (Punkt 4)

  1. Kreuz „Rate Limit aktiv“ an, um die Veröffentlichungen der Autoren zu begrenzen.
  2. Entscheide, ob du „E-Mail-Alarm“ behalten willst: Du erhältst eine Mail bei der Sperrung eines Autors.
  3. Stell „N: erlaubte Inhalte“ ein, von 1 bis 1000. Standard 150.
  4. Stell „T: Zeitfenster (Sekunden)“ ein, von 10 bis 86400. Standard 300, das sind 5 Minuten.
  5. Stell „S: Sperrung (Sekunden)“ ein, von 60 bis 2592000. Standard 3600, das ist 1 Stunde.
  6. Klick auf Rate-Limiting-Einstellungen speichern.

Die Mail geht an die Administrator-Adresse von Einstellungen > Allgemein. Sie enthält den Benutzer, die Inhalte im Zeitfenster, den Ablauf und eine Liste von bis zu 20 aktuellen Inhalten zur Kontrolle. Die Sperrung ändert diese Inhalte nicht.

Besucher (Punkt 5)

  1. Kreuz „Rate Limit aktiv“ an, um die Einsendungen von Gästen zu begrenzen.
  2. Der „E-Mail-Alarm“ ist standardmäßig aus. Auf einer exponierten Website kann er viele Mails erzeugen. Er geht an dieselbe Administrator-Adresse von Einstellungen > Allgemein, einmal pro Sperrung.
  3. „N: erlaubte Einsendungen“, von 1 bis 100. Standard 2.
  4. „T: Zeitfenster (Sekunden)“, von 5 bis 3600. Standard 60.
  5. „S: IP-Sperrung (Sekunden)“, von 60 bis 2592000. Standard 3600.

Die Grenze betrifft nur nicht eingeloggte Besucher. Sie zählt die Einsendungen pro IP und pro Typ, Kommentare oder Formulare. Eine Sperrung bei Kommentaren blockiert keine Formulare. Die abgedeckten Kontaktformulare sind die von Contact Form 7. Der abgelehnte Kommentar zeigt „Zu viele Einsendungen“ mit Fehler 429.

Liegt ein Wert außerhalb der Grenzen, bringt das Plugin ihn auf den nächsten erlaubten. Das Speichern zeigt „Rate-Limiting-Einstellungen gespeichert. Werte außerhalb der erlaubten Grenzen wurden auf den nächsten erlaubten Wert gebracht.“

Rate Limiting WordPress: Sperrungen und Blockaden

Ein gesperrter Autor behält seine Rolle und kann den Rest des Panels nutzen. Er verliert aber die Berechtigung, Beiträge und Seiten zu erstellen und zu veröffentlichen. „Beitrag hinzufügen“ und die Seiteneinträge verschwinden, und öffnet er diese Bildschirme, erhält er „Zugriff verweigert“. Im Dashboard erscheint ein Hinweis, der sich nicht schließen lässt.

Achtung: Die Sperrung der Autoren trifft auch Administratoren. Ein gesperrter Administrator verliert die Erstellung und Veröffentlichung, kann aber trotzdem die Einstellungen öffnen und die Sperrung selbst aufheben. Es gibt keine Ausnahmeliste für Benutzer, Rollen oder IPs: Die IP-Whitelist des Reiters Allgemein befreit nicht vom Rate Limiting.

Achtung: Die Blockade der Besucher ist pro IP. Mehrere Personen hinter derselben IP, wie ein Büro, können zusammen blockiert werden. In dem Fall erhöh N. Das Plugin liest nur die Verbindungsadresse (REMOTE_ADDR) und nicht die Header von Proxy oder CDN: Hinter einem Reverse Proxy oder einer CDN können alle Besucher mit derselben IP erscheinen und sich gegenseitig blockieren.

Wie du eine Sperrung aufhebst

Du hast zwei Wege.

  1. Warten. Die Sperrung endet von selbst nach S Sekunden.
  2. Im Abschnitt bei Punkt 6, „Derzeit gesperrte Benutzer“, klick auf Sperrung aufheben in der Zeile des Benutzers. Du siehst „Sperrung aufgehoben: der Benutzer kann wieder Inhalte erstellen und veröffentlichen.“ Ist die Tabelle leer, liest du „Kein gesperrter Benutzer.“

Die Tabelle zeigt höchstens 100 Benutzer. Die Dashboard-Hinweise haben die Links „Sperrung aufheben“ und „Prüfen und aufheben“, die zum selben Reiter führen.

Das Ausschalten von „Rate Limit aktiv“ hebt eine laufende Sperrung nicht auf. Um sie zu entfernen, musst du sie aufheben oder den Ablauf abwarten.

Was im Hintergrund passiert

Die Sperrung ist eine beim Benutzer gespeicherte Information, mit Ablaufdatum. Bei Gästen wird jede Einsendung 24 Stunden lang in einer Plugin-Tabelle erfasst und dann im Zeitfenster gezählt. Kommen zwei Anfragen gleichzeitig an, kann eine mehr durchrutschen. Sperrungen und Blockaden landen im Aktivitätsprotokoll, wenn es aktiv ist und die Gruppen Benutzer und Kommentare aktiviert sind.

Achtung: Ein legitimer Import vieler Inhalte kann die Grenze für Autoren auslösen. Schalt vor einer Migration die Grenze aus oder erhöh N.

Beispiele für Rate Limiting WordPress

  • Blog mit einem einzigen Autor: Du kannst N auf 10 oder 20 senken, mit T=300. So erfasst du ein kompromittiertes Konto früher. Das sind Testwerte, keine Regel des Plugins.
  • Redaktion, die Seiten dupliziert oder importiert: Behalt 150/300 oder mehr.
  • Büros mit geteilter IP: Erhöh die erlaubten Einsendungen der Besucher auf 3 oder 5.

Nützliche Umrechnungen: 300 Sekunden sind 5 Minuten, 3600 sind 1 Stunde, 86400 sind 1 Tag. Für mehr zum allgemeinen Thema lies die OWASP-Anleitung Blocking Brute Force Attacks, die erklärt, warum man wiederholte Versuche begrenzt.

Vorheriges: Benutzerregistrierung: wer Konten anlegen darf. Nächstes: Aktivitätsprotokoll: was auf der Website passiert ist. Für das allgemeine Verzeichnis geh zu Kapitel 1 des Handbuchs.

Kommentare

Schreibe einen Kommentar

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

WordPress Cookie Hinweis von Real Cookie Banner