WP Cerber Security 9.9.3
English version: WP Cerber Security 9.9.3
Auf einen Blick
Version 9.9.3 wurde mit Fokus auf Fehlerfreiheit an den kritischen Stellen entwickelt. Dieses Release behebt das Verhalten von WP Cerber bei schwerwiegenden PHP-Fehlern, korrigiert die IPv6-Bereichszuordnung in den Zugriffskontrolllisten und sorgt dafür, dass Administratorhinweise in Ihrer Sprache angezeigt werden.
Wichtigste Highlights
- Schwerwiegende PHP-Fehler werden nun wieder korrekt behandelt. Als unsere Fehlerprotokollierung noch aktiv war, konnte ein unbehandelter Fehler dazu führen, dass die WordPress-Fehlerseite und die E-Mail zum Wiederherstellungsmodus nicht angezeigt wurden. Dieses Problem wurde behoben.
- Zuverlässige Diagnosen. Der schwerwiegende Fehler, der eine Anfrage tatsächlich abgebrochen hat, wird nun zuverlässig im Traffic Inspector-Protokoll erfasst, sodass Ihre forensischen Analysen präzise bleiben.
- IPv6-Adressbereiche verhalten sich deterministisch. Gültige Bereiche in Bindestrich- oder Wildcard-Notation werden nicht mehr abgelehnt, und Bereichsgrenzen werden nun inklusive berücksichtigt.
- Administratorhinweise in Ihrer Sprache. Meldungen, die durch unbeaufsichtigte Hintergrundprozesse generiert werden, werden nun erst übersetzt, wenn Sie sie lesen, und nicht mehr zum Zeitpunkt ihrer Erstellung.
Sicherheitsänderungen
Die IPv6-Adressbereichsübereinstimmung in der ACL wurde korrigiert. Unser Bereichsparser verglich bisher die niederwertigen Abschnitte einer IPv6-Adresse, selbst wenn die führenden Abschnitte bereits die korrekte Reihenfolge aufwiesen. Dadurch wurden einige gültige IPv6-Bereiche, die in Bindestrich- oder Wildcard-Notation angegeben waren, beim Hinzufügen eines Eintrags in der Zugriffssteuerungsliste oder beim Filtern von Datensätzen im Aktivitäts- und Datenverkehrsprotokoll abgelehnt. Der Parser vergleicht nun die verbleibenden Abschnitte nur noch, wenn beide Grenzen denselben führenden Abschnitt aufweisen. Umgekehrte und leere Bereiche werden weiterhin abgelehnt. Ihre ACL akzeptiert nun jeden gültigen Bereich.
IPv6-Bereichsgrenzen sind nun inklusiv. Wir haben den Bereichsvergleich so korrigiert, dass die erste und letzte Adresse eines IPv6-Bereichs als Teil des Bereichs behandelt werden. Zugriffsentscheidungen für den gesamten Bereich sind nun deterministisch, einschließlich Randadressen.
Administratorerfahrung
Die Fehlermeldung zum E-Mail-Versand wird nun zur Ladezeit übersetzt. Auf nicht-englischsprachigen Websites konnte die Meldung über eine fehlgeschlagene E-Mail in der Sprache der Anfrage erscheinen, die den Fehler verursacht hat. Dies betrifft in der Regel unbeaufsichtigte Anfragen wie geplante Berichte oder Besucherbenachrichtigungen. Die Meldung wird nun zum Zeitpunkt ihrer Anzeige in der Sprache des Administrators aufgelöst.
Die Meldungen zur Wiederherstellung der Einstellungen werden nun korrekt lokalisiert. Waren die Plugin-Einstellungen auf einer nicht-englischsprachigen Website beschädigt, wurde der Wiederherstellungsbericht dem Administrator unübersetzt angezeigt. Auch damit waren wir nicht zufrieden. Die Meldung wird nun beim Anzeigen neu erstellt und in der Sprache des jeweiligen Administrators übersetzt.
Die Meldungen des Bereitschafts-Widgets wurden korrekt internationalisiert (i18n). Einige Meldungen im Widget waren zuvor nicht lokalisiert und konnten daher nicht übersetzt werden. Diese Lücke wurde geschlossen.
Zuverlässigkeitsverbesserungen
Schnellere Datenbankschicht für häufig genutzte Datenpfade. Wir haben den Aufwand für die Bezeichnervalidierung in unserem Abfragegenerator reduziert, indem wir reguläre Ausdrücke durch einen ressourcenschonenden Zeichenscan ersetzt haben. Häufig ausgeführte Datenbankoperationen sind nun effizienter, und die bestehenden Validierungsregeln sowie das Abfrageverhalten bleiben vollständig erhalten.
Intelligenterer Umgang mit gemeldeten Problemen. Die Registry, die die Administrator-Problembenachrichtigungen steuert, kann nun jedes Problem kurz vor dessen Anzeige erneut prüfen, es aktualisieren oder nach der Behebung vollständig löschen. Wichtig ist, dass wir den Fehlerbehandlungspfad zuerst entwickelt haben: Ein Fehler in diesem Schritt verbirgt niemals ein Problem vor Ihnen.
Kompatibilitätstests. Wir haben diese Version mit PHP 7.4.33, 8.0.30, 8.1.34, 8.2.33, 8.3.33, 8.4.24 und 8.5.9 sowie mit WordPress 5.8.14, 6.6.6, 6.7.6, 6.8.7, 6.9.6 und 7.0.3 getestet.
Fehlerbehebungen
Schwerwiegende Fehler, die nicht abgefangen werden, umgehen nun nicht mehr die WordPress-Wiederherstellung. Dies ist die wichtigste Fehlerbehebung in diesem Release. Wenn die Fehlerprotokollierung aktiviert war und ein nicht abgefangener Throwable-Fehler auftrat (z. B. eine unbehandelte Ausnahme, ein Typfehler oder ein Syntaxfehler), beendete unser Handler die normale PHP-Fehlerbehandlung. Dadurch konnte WordPress die Anzeige der Seite für kritische Fehler, den Versand der E-Mail zum Wiederherstellungsmodus oder das Rückgängigmachen fehlerhafter PHP-Änderungen über den integrierten Plugin- oder Theme-Editor verhindern. Betroffene Fehler konnten außerdem in der debug.log-Datei fehlen, wenn WP_DEBUG_LOG aktiviert war. Nicht schwerwiegende PHP-Fehler waren von diesem Fehler nicht betroffen.
Schwerwiegende Fehler werden nun zuverlässig im Traffic Inspector-Protokoll erfasst. Zuvor wurden nicht alle PHP-Fehler protokolliert. Unsere eigenen Shutdown-Routinen führen Datenbank- und Netzwerkoperationen durch, die zusätzliche Diagnoseinformationen erzeugen können. Da PHP nur einen einzigen Speicherplatz für den letzten Fehler speichert, konnte eine spätere Warnung den schwerwiegenden Fehler ersetzen, der die Anfrage beendet hat. Wir speichern den letzten Fehler nun direkt zu Beginn unserer Shutdown-Callback-Funktion, sodass unsere eigenen Aufräumarbeiten ihn nicht mehr überschreiben können. Aus Gründen der Transparenz: Shutdown-Callbacks, die von anderem Code vor unserer registriert wurden, können den letzten Fehler weiterhin ändern, bevor wir ausgeführt werden.
Die Schnellnavigation erzeugt keine PHP-Warnungen mehr. Mehrwertige Abfrageparameter konnten im Schnellnavigationsblock zu skalaren Zeichenkettenvergleichen führen und dadurch Warnungen Array to string conversion auslösen. Abhängig von Ihrer PHP-Fehlerkonfiguration konnten diese Warnungen die Protokolle verfälschen, in der Admin-Ausgabe erscheinen oder eine AJAX-Antwort beschädigen.
Fazit
Version 9.9.3 macht Fehler vorhersehbar und Diagnosen zuverlässig. Schwerwiegende Fehler werden nun sowohl an die WordPress-Wiederherstellungstools als auch an unsere Protokolle übermittelt, sodass die Fehlerbehebung auf präzisen Daten basiert. IPv6-Bereiche funktionieren korrekt in der ACL und in Protokollfiltern. Administratorhinweise werden in Ihrer Sprache angezeigt, genau dann und dort, wo Sie sie lesen.