Une attaque multisite par usurpation de requête ou CRSF (Cross-site request forgery) consiste à utiliser le navigateur d’un utilisateur valide pour envoyer une requête malveillante via un élément iframe, par exemple. Le navigateur envoyant les cookies sur la base de domaines, si l’utilisateur est connecté à une application, ses données peuvent être corrompues.
Imaginons, par exemple, un scénario où vous êtes connecté à Administration Console dans un navigateur. Vous recevez un message électronique contenant un lien. Vous cliquez sur le lien qui vient ouvrir un nouvel onglet dans votre navigateur. La page que vous avez ouverte contient un iFrame masqué qui envoie une requête malveillante au serveur Forms à l’aide du cookie de votre session AEM forms authentifiée. Comme User Management reçoit un cookie valide, il transmet la requête.
Référent : adresse de la page source à partir de laquelle une demande arrive. Par exemple, une page Web de site1.com contient un lien vers site2.com. En cliquant sur ce lien, une requête est envoyée à site2.com. Le référent de la requête est donc site1.com, la requête ayant été envoyée à partir d’une page provenant de site1.com.
URI Placés sur la liste autorisée : les URI identifient les ressources sur le serveur Forms qui sont demandées, par exemple /adminui ou /contentspace. Certaines ressources peuvent autoriser des requêtes à entrer dans l’application à partir de sites Web externes. Ces ressources sont considérées comme des URI placés sur la liste autorisée. Le serveur Forms n’effectue jamais de vérification du référent à partir d’URI placés sur la liste autorisée.
Référent nul : lorsque vous ouvrez une nouvelle fenêtre ou un nouvel onglet de navigateur, puis saisissez une adresse et appuyez sur Entrée, le référent est nul. La requête est totalement nouvelle et ne provient d’aucune page Web parente ; il n’existe donc aucun référent pour la requête. La valeur d’un référent reçu par le serveur Forms peut être NULL dans plusieurs cas :
Autorisez la valeur de référent NULL sur les points de fin SOAP et REST. Autorisez également la valeur de référent NULL sur toutes les pages de connexion URI telles que /adminui et /contentspace, ainsi que leurs ressources mappées correspondantes. Par exemple, la servlet mappée pour /contentspace est /contentspace/faces/jsp/login.jsp ; sa valeur de référent doit pouvoir être NULL. Cette exception est obligatoire uniquement si vous activez le filtrage GET pour votre application Web. Vos applications peuvent indiquer s’il convient d’autoriser des référents de valeur NULL Voir "Protection contre les attaques multisites par usurpation de requête" dans Renforcement et sécurité des formulaires AEM.
Exception de référent autorisé : l’exception de référent autorisé est une sous-liste de la liste des référents autorisés, à partir de laquelle les requêtes sont bloquées. Les exceptions aux référents autorisés sont spécifiques à une application Web. Si un sous-ensemble des référents autorisés ne doit pas être autorisé à appeler une application web spécifique, vous pouvez placer sur la liste bloquée les référents via les exceptions aux référents autorisés. Les exceptions aux référents autorisés peuvent être spécifiées dans le fichier web.xml de votre application (consultez la section Protection contre les attaques multisite par usurpation de requête dans Renforcement et sécurité d’AEM Forms sur la page Aide et didacticiels).
AEM forms offre une option de filtrage des référents aidant à prévenir les attaques CSRF. Le filtrage des référents fonctionne de la manière suivante :
Le serveur Forms vérifie la méthode HTTP utilisée pour l’appel :
Le serveur Forms vérifie si l’URI requis est placé sur la liste autorisée :
S’il existe un référent pour la requête, le serveur vérifie s’il s’agit d’un référent autorisé. Si le référent est autorisé, le serveur vérifie qu’il ne fait pas partie des exceptions aux référents autorisés :
S’il n’existe aucun référent pour la requête, le serveur vérifie que les référents de valeur NULL sont autorisés.
Lorsque vous exécutez Configuration Manager, l’hôte par défaut et l’adresse IP ou le serveur Forms sont ajoutés à la liste de référents autorisés. Vous pouvez modifier cette liste dans Administration Console.
Dans Administration Console, cliquez sur Paramètres > Gestion des utilisateurs > Configuration > Configurer les URL des référents autorisés. La liste de référents autorisés s’affiche en bas de la page.
Pour ajouter un référent autorisé :
0
(zéro) dans les champs, tous les ports sont activés sur ce serveur. Vous pouvez également saisir un numéro de port spécifique pour activer uniquement ce port.Pour supprimer une entrée de la liste de référents autorisés, sélectionnez l’élément dans la liste puis cliquez sur Supprimer.
Si la liste de référents autorisés est vide, la fonction CSRF est désactivée et le système n’est donc plus sécurisé.
Après avoir modifié la liste de référents autorisés, redémarrez le serveur AEM forms.