Minderung des Authentifizierungsrisikos in Adobe Experience Manager Assets mithilfe von Dispatcher-Filterregeln
In diesem Artikel wird erläutert, wie Sie Dispatcher-Filterregeln für den AEM Assets-Anmeldeendpunkt überprüfen, der von der SAML-Authentifizierung ausgeschlossen ist. Dispatcher-Filter schränken Anfragen nach URL und Methode ein. Sie authentifizieren keine Benutzenden und ersetzen keine AEM-Repository-Berechtigungen. Um dieses Risiko zu beheben, überprüfen Sie die Endpunkt- und SAML-Callback-Pfade, überprüfen Sie die effektive Filterreihenfolge und die Repository-Berechtigungen und testen Sie die Änderungen in einer Nicht-Produktionsumgebung vor der Produktionsbereitstellung.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service-Umgebungen mit AEM Assets, SAML-Authentifizierung und Dispatcher
Problem/Symptome
- Eine Sicherheitsüberprüfung identifiziert einen AEM Assets-Anmeldendpunkt, der von der SAML-Authentifizierung ausgeschlossen ist.
- Die Dispatcher-Konfiguration beschränkt Anfragen nicht wie beabsichtigt auf diesen Endpunkt.
- Das Sicherheits-Team muss überprüfen, ob der Endpunkt nicht authentifizierte Anfragen mit Funktionen oder Daten versorgt.
Ursache
Ein SAML-ausgeschlossener Endpunkt ruft für Anfragen an diesen Pfad nicht die SAML-Herausforderung auf. Dispatcher-Filter stimmen mit Anforderungsattributen wie URL und Methode überein; sie authentifizieren den Aufrufer nicht. Eine Regel zum Zulassen von Filtern gewährt keine Authentifizierung und ersetzt keine Repository-Berechtigungen. Schützen Sie sensible Funktionen und Daten mit den entsprechenden AEM-Authentifizierungs- und Repository-Berechtigungen und verwenden Sie Dispatcher als zusätzliche Zugriffsfilterschicht.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben.
-
Überprüfen Sie die Dispatcher-Filterregeln und identifizieren Sie alle Einträge, die für den Anmeldungsendpunkt gelten (z. B.
/libs/granite/core/content/login*). -
Aktualisieren Sie Ihre Dispatcher-Konfiguration, um die folgenden Regeln hinzuzufügen:
- Alle Anfragen an den Anmeldeknoten standardmäßig ablehnen:
/0100 { /type "deny" /url "/libs/granite/core/content/login*" }- Lassen Sie nur legitime GET-Anfragen an die Anmeldeseite zu.
/0101 { /type "allow" /method "GET" /url "/libs/granite/core/content/login.html" }- Lassen Sie nur das vom Anmeldefluss verwendete Formular-POST-Ziel zu.
/0102 { /type "allow" /method "POST" /url "/libs/granite/core/content/login.html/j_security_check" } -
Überprüfen Sie, ob die Regeln korrekt angeordnet sind. Da Dispatcher-Filterregeln ein Evaluierungsmodell verwenden, bei dem die letzte Übereinstimmung mit dem Gewinn erzielt wird, platzieren Sie die breitere Regel Ablehnen vor den spezifischeren Zulassen-Regeln.
-
Stellen Sie die aktualisierte Dispatcher-Konfiguration in einer Nicht-Produktionsumgebung bereit.
-
Überprüfen Sie, ob nur legitime Anmeldeanforderungen zulässig sind und dass alle anderen Anforderungen an den Anmeldungsendpunkt abgelehnt werden.
-
Stellen Sie sicher, dass der Anmeldevorgang weiterhin erwartungsgemäß funktioniert.
-
Stellen Sie nach der Validierung der Konfiguration die Änderungen in der Produktionsumgebung bereit.
-
Überwachen Sie Protokolle und Zugriffsversuche, um sicherzustellen, dass die Schwachstelle behoben und nicht autorisierte Zugriffsversuche blockiert werden.