Partage des ressources d'origine croisée
Le partage des ressources d'origine croisée (CORS) se produit quand un script sur un serveur envoie une requête Ajax vers un autre serveur. Le partage des ressources d'origine croisée se produit également lorsqu'une requête est envoyée sur un protocole ou un port différent vers le même serveur.
Le partage des ressources d'origine croisée enfreint la 'règle de même origine', qui est en vigueur pour prévenir les attaques de falsification des requêtes. Alors que la prévention globale des cookies pour les points d'extrémité /api/* permet d'éviter ces attaques, les navigateurs tentent encore de faire respecter cette politique. Tous les navigateurs utilisent cette convention mais elle ne s'applique pas aux mécanismes de requête manuels comme cURL.
Les navigateurs détectent que vous essayez d'envoyer une requête à un serveur et envoient d'abord une requête de contrôle en amont. Les requêtes de contrôle en amont sont définies comme une demande d'OPTION sur la même URL, mais contiennent aussi l'en-tête d'origine. Le serveur doit renvoyer d'autres informations telles que les types de requêtes autorisés, si des en-têtes sont attendus dans la réponse de la requête même, et si l'origine est acceptée.
Si l'en-tête 'Access-Control-Allow-Origin' de la réponse à la requête de contrôle en amont ne correspond pas à l'en-tête d'origine de la requête, le navigateur le rejette. Si l'en-tête 'Access-Control-Allow-Origin' correspond, le navigateur procède à la demande. La réponse à la requête doit réussir la même vérification de l'origine, dans le cas où la règle change entre la requête de contrôle en amont et la requête effective.
Gestion des origines autorisées
La valeur d'origine qui est envoyée par votre navigateur contient le protocole suivi du nom d'hôte et du port, par exemple :
http://192.0.2.0:8888
Vous pouvez intercepter les demandes envoyées par votre navigateur pour vous assurer que vous disposez de la valeur d'origine correcte. Vous pouvez ajouter votre origine à une liste blanche sur la consoleQRadar® dans le fichier /opt/qradar/webapps/console/restapi/allowed_origins.list . Les changements sont détectés et prennent effet immédiatement. Ce fichier contient une liste des origines autorisées séparées par des sauts de ligne. Chaque entrée est testée par rapport à l'en-tête d'origine qui est envoyée par les navigateurs lors des requêtes de contrôle en amont. Si une entrée correspond à l'origine (ou une entrée est '*'), le navigateur est autorisé à effectuer des requêtes de partage des ressources d'origine croisée.
Une convention courante de navigateur consiste à envoyer null en tant qu'origine lorsque le script est lancé à partir de file:// en ajoutant '*' à la liste blanche. Cette pratique autorise toutes les origines et ne constitue pas une bonne pratique.