Cross-Site Request Forgery (CSRF) ist eine Website-Schwachstelle, bei der ein gültiger Browser des Benutzers für das Senden einer böswillige Anforderung, möglicherweise über einen iFrame, verwendet wird. Da der Browser Cookies auf Domain-Basis sendet, wenn der Benutzer derzeit bei einer Anwendung angemeldet ist, sind die Daten des Benutzers möglicherweise gefährdet.
Angenommen, Sie sind in einem Browser bei Administration Console angemeldet. Sie erhalten eine E-Mail mit einem Link. Sie klicken auf den Link, der eine neue Registerkarte im Browser öffnet. Die von Ihnen geöffnete Seite enthält einen ausgeblendeten iFrame, der eine böswillige Anforderung beim Formularserver mithilfe der Cookies aus Ihrer authentifizierten AEM Forms-Sitzung erzeugt. Da User Management einen gültigen Cookie erhält, wird die Anforderung übergegeben.
Referer: Die Adresse der Quellseite, von der eine Anfrage kommt. Eine Webseite auf „site1.com“ enthält beispielsweise einen Link zu „site2.com“. Beim Klicken auf den Link, wird eine Anforderung an „site2.com“ gesendet. Die Referenz dieser Anforderung ist „site1.com“, da die Anforderung von einer Seite stammt, deren Quelle „site1.com“ ist.
Auf die Zulassungsliste gesetzte URIs: URIs identifizieren Ressourcen auf dem Formularserver, die angefordert werden, zum Beispiel /adminui oder /contentspace. Einige Ressourcen ermöglichen einer Anforderung möglicherweise, von einer externen Site aus auf die Anwendung zuzugreifen. Diese Ressourcen gelten als auf die Zulassungsliste gesetzte URIs. Der Formular-Server führt keine Referenzüberprüfungen für auf die Zulassungsliste gesetzten URIs durch.
Null-Referer: Wenn Sie ein neues Browserfenster oder eine neue Registerkarte öffnen, dann eine Adresse eingeben und die Eingabetaste drücken, ist die Referenz null. Die Anforderung ist neu und stammt nicht aus einer übergeordneten Webseite, daher gibt es keine Referenz für die Anforderung. Der Forms kann eine Null-Referenz aus folgenden Quellen erhalten:
Lassen Sie eine Null-Referenz auf SOAP- und REST-Endpunkten zu. Lassen Sie außerdem eine Null-Referenz auf allen URI-Anmeldeseiten, wie „/adminui“ und „/contentspace“, und den entsprechenden zugeordneten Ressourcen zu. Beispielsweise ist das zugeordnete Servlet für „/contentspace“ „/contentspace/faces/jsp/login.jsp“, was eine Null-Referenzausnahme darstellt. Diese Ausnahme ist nur erforderlich, wenn Sie GET-Filterung für die Webanwendung aktivieren. Die Anwendungen können angeben, ob Null-Referenzen zulässig sind. Siehe „Schutz vor Cross-Site Request Forgery-Angriffen“ in Härtung und Sicherheit für AEM Forms.
Erlaubte Referer-Ausnahme: Erlaubte Referer-Ausnahme ist eine Unterliste der Liste der erlaubten Referer, von denen Anfragen blockiert werden. Zulässige Referenzauausnahmen beziehen sich insbesondere auf eine Webanwendung. Wenn eine Teilmenge der erlaubten Referer eine bestimmte Webanwendung nicht aufrufen darf, können Sie die Referer über Erlaubte Referer-Ausnahmen auf eine Blockierungsliste setzen. Zulässige Referenzausnahmen werden in der Datei „web.xml“ für Ihre Anwendung angegeben. (Siehe den Abschnitt zum Schutz vor Cross-Site Request Forgery-Angriffen in „Härtung und Sicherheit für AEM Forms“ auf der Seite „Hilfe und Tutorials“.)
AEM Forms bietet Referenzfilterung, die CSRF-Angriffe verhindern kann. Im Folgenden wird die Funktionsweise der Referenzfilterung beschrieben:
Der Formular-Server prüft die für den Aufruf verwendete HTTP-Methode:
Der Formular-Server prüft, ob die angeforderten URI auf die Zulassungsliste gesetzt ist:
Wenn es eine Referenz in der Anforderung gibt, überprüft der Server, ob es sich um eine zugelassene Referenz handelt. Wenn sie zulässig ist, sucht der Server nach einer Referenzausnahme:
Wenn es keine Referenz in der Anforderung gibt, überprüft der Server, ob eine Null-Referenz zulässig ist.
Wenn Sie Configuration Manager ausführen, werden der Standardhost und die IP-Adresse oder der Formularserver der Liste für zulässige Referenzen hinzugefügt. Sie können diese Liste in Administration Console bearbeiten.
Klicken Sie in Administration Console auf Einstellungen > User Management > Konfiguration > URLs für zulässige Referenzen konfigurieren. Die Liste für zulässige Referenzen wird unten auf der Seite angezeigt.
Hinzufügen einer zulässigen Referenz:
0
(null) in die Felder eingeben, werden alle Anschlüsse auf diesem Server aktiviert. Sie können außerdem eine bestimmte Anschlussnummer eingeben, damit nur dieser Anschluss aktiviert wird.Um Einträge aus der Liste für zulässige Referenzen zu entfernen, wählen Sie das Element aus der Liste aus und klicken auf „Löschen“.
Wenn die Liste für zulässige Referenzen leer ist, funktionieren die CSRF-Funktionen nicht mher und das System wird unsicher.
Nachdem Sie die Liste für zulässige Referenzen geändert haben, starten Sie den AEM Forms-Server neu.