Détections JavaScript
IBM Cloud® Internet Services (CIS) les fonctions de bot incluent des détections JavaScript. Une petite quantité de JavaScript est injectée dans les appareils client à l'aide de la technique d'empreinte digitale Picasso de Google. Les résultats de Picasso sont pris en compte dans les scores de bot et aident CIS à classer le trafic comme étant automatisé ou humain. BotScoreSrc: Not Computed et un score de 0 sont pertinents pour les demandes d'impression d'empreintes digitales JavaScript de Picasso. Ces demandes ne peuvent pas être bloquées par des règles de pare-feu.
Cette technique de détection collecte des données générales sur les machines qui atteignent CIS. Par exemple, si un utilisateur particulier accède à CIS via Google Chrome sur un MacBook Pro, CIS ne peut pas identifier des individus spécifiques, car des millions de personnes utilisent Google Chrome sur un MacBook Pro. CIS prend également des mesures pour anonymiser et supprimer progressivement les données afin de renforcer la confidentialité.
JavaScript est uniquement injecté en réponse aux demandes de pages HTML ou de vues de page, à l'exception des appels AJAX. Le trafic des API et des applications mobiles n'est pas affecté. En outre, le code n'est pas réinjecté jusqu'à l'expiration de sa durée de vie de session de 30 minutes. Le script Picasso est d'environ 70 Ko et le temps d'exécution varie par appareil, de 90 ms à environ 500 ms.
Les fragments de JavaScript contiennent une source pointant vers la plateforme de demande d'authentification avec des chemins commençant par /cdn-cgi/challenge-platform/....
Activer les détections JavaScript
Pour les plans d'essai gratuits (mode Bot Fight), les détections d' JavaScript s sont automatiquement activées et ne peuvent pas être désactivées.
Pour tous les autres plans (Super Bot Fight Mode et Bot Management for Enterprise), les détections JavaScript sont facultatives. Pour ajuster vos paramètres, accédez à Sécurité > Bots.
Application de l'exécution des détections JavaScript
Pour vous assurer que les visiteurs ont déjà exécuté et transmis des détections JavaScript, vous pouvez créer une règle de pare-feu avec la zone cf.bot_management.js_detection.passed qui effectue une action de demande d'authentification
gérée. Entrez (cf.bot_management.js_detection.passed) dans la section Aperçu de l'expression en tant que règle singulière.
Considérations
- Si vous disposez d'une stratégie de sécurité de contenu (CSP):
-
Vérifiez que tout élément sous
/cdn-cgi/challenge-platform/est autorisé. Votre CSP doit autoriser les scripts servis à partir de votre domaine d'origine (script-src self). -
Si votre CSP utilise un
noncepour les balises de script, CIS ajoute ces nonces aux scripts qu'il injecte en analysant votre en-tête de réponse CSP. -
Si votre CSP n'utilise pas
noncepour les balises de script et que la détection JavaScript est activée, une erreur de console telle queRefused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-b123b8a70+4jEj+d6gWI9U6IilUJIrlnRJbRR/uQl2Jc='), or a nonce ('nonce-...') is required to enable inline execution. -
Il n'est pas recommandé d'utiliser
unsafe-inline. A la place, il est recommandé d'utiliser CSPnoncesdans les balises de script qui sont analysées et prises en charge dans le CDN.
-