Der Reiter „Benutzerregistrierung“ entscheidet, wer auf deiner Website neue Konten anlegen darf und mit welcher Rolle. Es ist die Abwehr gegen versteckte Administratoren, also heimlich angelegte Konten, um nach einem Angriff zur Website zurückzukehren. Die Benutzerregistrierung WordPress wird von hier gesteuert. In diesem Kapitel siehst du die Registrierungsrichtlinie, die erlaubten Rollen und die Pflicht-E-Mail.

Wo du es findest
Öffne im Menü von WordPress Einstellungen und dann Cisilino Site Defense Network (Punkt 1 im Bild). Wähl den Reiter „Benutzerregistrierung“ (Punkt 2). Zum Speichern brauchst du die Berechtigung manage_options; bei Multisite manage_network_options.
Es gibt drei Abschnitte. Punkt 3 ist „Registrierungsrichtlinie“. Punkt 4 ist „Erlaubte Rollen (nur Stufe „Rollen mit geringem Privileg“)“. Punkt 5 ist „Pflicht-E-Mail“.
Wozu es dient
Die Richtlinie gilt für jeden Weg der Kontoerstellung: das wp-admin-Panel, die REST API, XML-RPC, WP-CLI und jedes Plugin oder Theme, das die WordPress-Funktionen zur Benutzererstellung nutzt. Die Prüfung erfolgt in PHP, ohne die Datei .htaccess zu berühren.
Wie man es benutzt
Registrierungsrichtlinie (Punkt 3)
Wähl genau eine von drei Stufen. Sie addieren sich nicht.
- „Keine Einschränkung (deaktiviert)“: Das Modul ist aus, und WordPress verhält sich wie immer.
- „Nur Rollen mit geringem Privileg (nie Administrator/Redakteur/Autor)“: Das ist die Standardstufe. Es gelten die erlaubten Rollen aus Punkt 4.
- „Keine Registrierung (exklusiv)“: Kein neuer Benutzer kann angelegt werden.
Erlaubte Rollen (Punkt 4)
Gilt nur für die Stufe der Rollen mit geringem Privileg. Du kannst subscriber (standardmäßig angekreuzt), contributor und customer (nützlich mit WooCommerce) ankreuzen. Die Kästchen administrator, editor, author und shop_manager sind immer deaktiviert, mit der Beschriftung „nie erlaubt“.
Pflicht-E-Mail (Punkt 5)
Das Kästchen „Keine Benutzer ohne gültige E-Mail-Adresse anlegen“ ist standardmäßig aktiv. Es verhindert die Erstellung von Benutzern ohne gültige E-Mail, über jeden Weg. Es berührt keine bereits bestehenden Benutzer. Diese Einstellung wird zusammen mit denen des Rate Limiting gespeichert, aber hier verwaltet.
Klick am Ende auf Registrierungsrichtlinie speichern. Du siehst „Registrierungsrichtlinie für Benutzer gespeichert.“ Das Speichern landet im Aktivitätsprotokoll, mit der Beschriftung „Benutzerregistrierung“.
Benutzerregistrierung WordPress: Standardwerte und Grenzen
- Die Standardrichtlinie ist „Nur Rollen mit geringem Privileg“, aktiv auch wenn du nie etwas gespeichert hast.
- Die erlaubte Rolle am Anfang ist nur
subscriber. - Verbotene Rollen werden immer verworfen, auch wenn jemand versucht, sie von Hand zu senden.
- Die Rollenliste ist fest: Sie zeigt nicht die eigenen Rollen deiner Website.
- Es gibt keine Listen von E-Mail-Domains, kein Captcha und keine Anti-Spam-Kontrollen bei Registrierungen.
Achtung: Mit „Keine Registrierung (exklusiv)“ kann niemand Benutzer anlegen, auch nicht der Administrator. Der Eintrag „Neuen Benutzer hinzufügen“ verschwindet aus dem Menü, und user-new.php von Hand zu öffnen ergibt einen 403-Fehler. Nimmst du bei der Stufe der Rollen mit geringem Privileg das Häkchen bei allen Rollen weg, bleibt die Liste leer, und kein Benutzer ist erlaubt. Hier bleiben aber der Menüeintrag und die Seite sichtbar: Der 403-Fehler kommt erst, wenn du versuchst, den Benutzer anzulegen.
Mit der Standardstufe kannst du keinen Redakteur oder Autor anlegen, auch nicht als Administrator. Das Plugin sieht keine Ausnahmen für bereits eingeloggte Personen vor. Um einen Benutzer mit hoher Rolle anzulegen, wechsel vorübergehend zu „Keine Einschränkung“, leg den Benutzer an und geh dann zurück.
Prüfe auch die „Standardrolle für neue Benutzer“ unter Einstellungen > Allgemein von WordPress. Ist sie eine verbotene Rolle, wie Redakteur, wird jede Registrierung ohne explizite Rolle abgelehnt.
Was im Hintergrund passiert
Die Hauptprüfung wirkt auf den Filter pre_insert_user_data, nur bei der Erstellung eines Benutzers. Änderungen an bestehenden Benutzern passieren immer. Ein abgelehnter Versuch zeigt den Titel „Registrierung nicht erlaubt“ mit Fehler 403. Auf der REST API erhältst du einen JSON-Fehler 403 statt der Seite.
Bei jeder aktiven Richtlinie entfernt das Plugin die XML-RPC-Methode wp.newUser. Mit der exklusiven Richtlinie zwingt es auch die WordPress-Option „Jeder kann sich registrieren“ auf falsch. Mit der Stufe der niedrigen Rollen bleibt diese Option so, wie du sie gewählt hast.
Es gibt auch ein Sicherheitsnetz nach der Erstellung. Entsteht ein Konto trotzdem und verstößt gegen die Richtlinie, entzieht das Plugin ihm sofort die Rolle und schreibt ein Ereignis ins Aktivitätsprotokoll. Das Konto wird nicht gelöscht, damit du es prüfen kannst.
Achtung: Ein kompromittiertes Plugin oder Theme, das mit einem INSERT direkt in die Benutzertabelle der Datenbank schreibt, läuft durch keinen Filter. Kein PHP-Plugin kann das stoppen. Die durch diesen Reiter geschützte Benutzerregistrierung WordPress ist eine starke Barriere, aber keine absolute.
Beispiele
- Vitrinen-Website ohne öffentliche Benutzer: Wähl „Keine Registrierung (exklusiv)“.
- Website mit Abonnenten oder Kommentaren: Lass die Standardstufe mit
subscriber. - Shop mit WooCommerce: Füge
customerhinzu. - Du musst einen Mitarbeiter mit hoher Rolle hinzufügen: Nutz „Keine Einschränkung“ nur für die nötige Zeit.
Wenn etwas nicht funktioniert
Wird eine Anmeldung mit der Meldung zur nicht erlaubten Rolle abgelehnt, prüf die Standardrolle von WordPress und die angekreuzten Rollen bei Punkt 4. Das Aktivitätsprotokoll sagt dir, ob einem Konto vom Sicherheitsnetz die Rolle entzogen wurde. Um die Rollen besser zu verstehen, lies die Seite Rollen und Berechtigungen in der WordPress-Dokumentation. Sie listet auf, was jede Rolle darf.
Vorheriges: Paranoic Hardening: Sicherheitsheader und Administratorsitzung. Nächstes: Rate Limiting: Grenzen für Autoren und Besucher. Für das allgemeine Verzeichnis geh zu Kapitel 1 des Handbuchs.
Schreibe einen Kommentar