Konfigurieren von Adobe Experience Manager Dispatcher zum Verhindern von CSRF-Angriffen configuring-dispatcher-to-prevent-csrf-attacks
AEM (Adobe Experience Manager) bietet ein Framework, mit dem Cross-Site Request Forgery-Angriffe verhindert werden können. Um dieses Framework ordnungsgemäß zu verwenden, nehmen Sie die folgenden Änderungen an Ihrer Dispatcher-Konfiguration vor:
-
Fügen Sie in den Dateien
author-farm.anyundpublish-farm.anyim Abschnitt/clientheadersam Ende der Liste den folgenden Eintrag hinzu:CSRF-Token -
Fügen Sie in den Dateien
author-farm.anyundpublish-farm.anyoderpublish-filters.anyim Abschnitt „/filter“ die folgende Zeile hinzu, um Anfragen für/libs/granite/csrf/token.jsondurch den Dispatcher zuzulassen./0999 { /type "allow" /glob " * /libs/granite/csrf/token.json*" } -
Fügen Sie in der Datei
publish-farm.anyunter dem Abschnitt/cache /ruleseine Regel hinzu, um den Dispatcher daran zu hindern, die Dateitoken.jsonzwischenzuspeichern. Meist umgehen Autorinnen und Autoren das Zwischenspeichern, daher müssen Sie die Regel wahrscheinlich nicht zur Dateiauthor-farm.anyhinzufügen./0999 { /glob "/libs/granite/csrf/token.json" /type "deny" }
Um zu überprüfen, ob die Konfiguration funktioniert, sehen Sie sich „dispatcher.log“ im DEBUG-Modus an. So können Sie sicherstellen, dass die Datei token.json nicht zwischengespeichert oder von Filtern blockiert wird. Sie sollten Meldungen erhalten, die dieser ähneln:... checking [/libs/granite/csrf/token.json]... request URL not in cache rules: /libs/granite/csrf/token.json... cache-action for [/libs/granite/csrf/token.json]: NONE
Im access_log von Apache kann zudem überprüft werden, ob Anfragen erfolgreich sind. Anfragen für „/libs/granite/csrf/token.json“ sollten einen HTTP-Status-Code 200 zurückgeben.