Notre inclut des mesures de sécurité strictes pour fournir un produit robuste et autonome avec fonctionnalité monitoring des navigateurs. Avant d’ installer l’agent de navigateur, assurez-vous que votre système répond à ces exigences.
Exigences de base
Pour signaler des données à New Relic, votre application doit répondre à deux exigences de base :
- Le trafic vers l’application doit provenir de clients capables de charger et d’exécuter du code JavaScript du navigateur.
- Les clients accédant à l'application doivent pouvoir envoyer des données à New Relic via requests HTTP. HTTPS est requis pour la monitoring plus avancée des fonctionnalités des navigateurs.
Important
Les navigateurs qui s'abonnent à une liste de déconnexion ou qui utilisent des extensions de filtrage de contenu telles qu'AdBlock peuvent ne pas être en mesure de signaler des données à New Relic. Par exemple, si vous utilisez la liste de déconnexion de prévention améliorée du suivi pour Mozilla Firefox 69.0 ou supérieur, vous devrez modifier la configuration par défaut.
La plupart des applications de navigateur classiques répondent à ces exigences, mais certaines applications de navigateur dans des environnements restreints peuvent avoir des difficultés à signaler des données à New Relic. Par exemple:
- Applications mobiles hybrides
- Applications installées sur du matériel inhabituel, comme des terminaux de point de vente ou des appareils grand public
Pour plus d'informations, consultez la documentation sur l' instrumentation de monitoring des navigateurs, puis vérifiez l'accès final au réseau de l'utilisateur.
Navigateurs pris en charge
L'agent de navigateur prend officiellement en charge les versions de navigateur suivantes :
- Chrome (10 versions précédentes)
- Safari (10 versions précédentes)
- Firefox (10 versions précédentes)
- Edge (10 versions précédentes)
l'instrumentation et les fonctionnalités spécifiques peuvent être compatibles avec d'autres navigateurs ou versions.
Exceptions | Comments |
---|---|
Horaires de peinture | Les attributs
|
AJAX | La fonctionnalité de synchronisation AJAX n'est pas disponible avec :
|
|
|
Trace de session | les traces de session ne sont signalées qu'à partir des navigateurs qui prennent en charge la spécification Resource Timing. |
SHA-256 | New Relic ne peut monitorer que les navigateurs compatibles avec SHA-256. |
Important
Lorsque vous utilisez monitoring des navigateurs avec des cookies, les cookies de New Relic sont des cookies tiers sur votre site et peuvent ne pas stocker ou fonctionner sur certains navigateurs Web utilisés par vos visiteurs. Consultez les sites Web des navigateurs concernés pour plus de détails sur leur compatibilité avec les cookies tiers.
Agent APM
Une façon de déployer monitoring des navigateurs pour une application est d'utiliser l'un de nos agents APM.
Si vous utilisez un navigateur pour une application déjà monitorée par APM, assurez-vous que la version de votre agent APM prend en charge monitoring des navigateurs :
- Go: Version 2.5.0 ou supérieure
- Java: Version 3.4.0 ou supérieur
- .NET: Version 2.20.25.0 ou supérieure
- Node.js: Version 1.4.0 ou supérieure
- PHP: Version 4.4.5.35 ou supérieure
- Python: Version 2.10.1.9 ou supérieur
- Ruby: Version 3.7.0.177 ou supérieure
Frameworks et bibliothèques pris en charge
L'agent de navigateur collecte des données sur les sites qui utilisent de nombreux frameworks et bibliothèques frontaux populaires. L'agent de navigateur monitore les objets et méthodes JavaScript de bas niveau, qui peuvent être encapsulés ou modifiés par d'autres bibliothèques et frameworks. Par conséquent, le niveau de détail collecté peut varier d’un framework à l’autre, et des conflits peuvent survenir avec toute bibliothèque qui modifie les mécanismes JavaScript natifs.
Exceptions de compatibilité | Commentaires |
---|---|
Zone.js | Si vous utilisez AngularJS et que vous souhaitez utiliser notre fonctionnalité monitoring SPA, notez que les versions Zone.js 0.6.18 à 0.6.24 ne sont pas compatibles avec le navigateur. Dans tous les cas, l'agent de navigateur must doit être chargé avant Zone.js pour éviter les erreurs. |
Cypress.io | Browser n'est pas en mesure d' instrumentercorrectement les méthodes
Cela n'affectera que les clients exécutant des tests avec l'agent de navigateur présent dans leur code. Les applications de production ne devraient pas être affectées. |
html2pdf.js | Cette bibliothèque n'est pas compatible avec notre agent Pro+SPA en raison de la manière dont cette bibliothèque enveloppe ses promesses. Si vous utilisez cette bibliothèque, nous vous recommandons de sélectionner le type d'agent Pro. |
MooTools | L'agent de navigateur n'est pas compatible avec les versions de MooTools antérieures à |
monitoringdes applications monopages (SPA)
Pour utiliser la fonctionnalité liée à monitoringdes applications à page unique (SPA), votre application doit répondre à ces exigences.
SPA : agent Version Browser
monitoring SPA nécessite une version spécifique à SPA du snippet de navigateur, disponible pour la version 885 ou supérieure de l'agent de navigateur. Cette version de l'agent est activée par défaut.
SPA : Types de Browser
monitoring SPA nécessite l' API du navigateuraddEventListener
et l' API de synchronisation de navigation. Les deux API sont disponibles dans tous les navigateurs modernes, notamment Google Chrome, Mozilla Firefox, Apple Safari et Microsoft Internet Explorer (IE) versions 9 ou supérieures.
SPA : exigences des frameworks
Étant donné que l’instrumentation SPA fonctionne en encapsulant des API de navigateur de bas niveau, elle est indépendante du framework. instrumentation SPA est compatible avec la plupart des frameworks SPA, tels que Angular, Backbone, Ember et React. Il peut également instrumenterrequests effectuées à l'aide de JSONP.
Vous trouverez ci-dessous les problèmes de compatibilité connus :
- Si votre application utilise AngularJS et que vous souhaitez utiliser les capacités de monitoring SPA du navigateur, les versions Zone.js 0.6.18-0.6.24 ne sont pas compatibles avec l'agent SPA.
- La bibliothèque html2pdf.js n'est pas compatible avec l'agent SPA.
- Les versions Angular 12 à 14 contiennent une limitation concernant la taille des éléments de script individuels contenus dans la source HTML de l'index. Consultez cette page de dépannage pour plus d'informations.
- Next.JS a une incompatibilité connue depuis la version 13.3.2-canary.2 où l'utilisation du routeur d'application peut entraîner le dysfonctionnement des liens sur la page. Consultez cette page de dépannage pour plus d'informations.
SPA : Sécurité pour les fragments de Hacher
Nous collectons et sauvegardons les fragments de hacher à partir des URL de changement d'itinéraire. Si vous utilisez hacher pour transmettre des données privées ou sensibles, ces données peuvent être visibles par l'utilisateur de votre compte New Relic. Suivez les directives du navigateur en matière de sécurité avec la collecte et la création de rapports de données.
Considérations relatives à la politique de sécurité du contenu (CSP)
Afin d'obtenir des mesures précises des performances du navigateur, notre monitoring des navigateurs nécessite l'utilisation d'un petit snippetde code JavaScript en ligne. New Relic examine attentivement le JavaScript en ligne pour éviter les scripts intersites (XSS) et autres vulnérabilités potentielles.
La politique de sécurité du contenu de niveau 2 ajoute des restrictions aux types de JavaScript autorisés, tels que les scripts en ligne. Il limite également le domaine qui peut charger le script pendant le chargement de la page.
Important
Si votre site Web n'autorise l'exécution d'aucun JavaScript hébergé par un tiers, vous devez demander une exception CSP via les procédures standard de votre organisation afin d'installer l'agent monitoring des navigateurs.
Lorsque vous demandez une exception CSP, suivez les procédures standard de votre organisation pour contacter votre équipe Web ou de sécurité. Les exceptions CSP pour votre cas d’utilisation dépendent de la version de l’agent de navigateur que vous exécutez actuellement. Nous recommandons toujours de mettre à jour vers la dernière version de l'agent de navigateur.
Vous pouvez ajouter toutes ces exceptions à la directive de secours default-src
(au lieu de script-src
et connect-src
). L'agent du navigateur requiert les exceptions CSP suivantes :
Exception CSP | Commentaires |
---|---|
| Ajoutez à la directive |
| Ajoutez à la directive |
| L'agent tente d'envoyer des frais aux sous-domaines de
|
nonce
À partir de l'agent de navigateur 1.247.0, l'agent respectera un attribut nonce
attaché au script en ligne lors du chargement de blocs de code supplémentaires. Si votre site ou votre infrastructure est capable d'injecter un attribut nonce
sur le script de l'agent de navigateur en ligne, vous n'aurez besoin de demander qu'une exception CSP pour connect-src
.
Important
Notre support intégré nonce
ne s'applique pas à l'utilisation du package npm de l'agent de navigateur. Avec le package npm, l'agent devient une partie du code de votre site ou de votre application. Tous les blocs supplémentaires chargés le seront via le code de votre application et vous aurez un contrôle total sur le moment et l'opportunité d'utiliser un attribut nonce
.
Certains agents APM capables d’injecter l’agent du navigateur prennent également en charge l’ajout d’un attribut nonce
au script injecté.
Agent APM | Version minimale | Note d'assistance |
---|---|---|
Go | Prend en charge l'injection du snippet JavaScript via l'API | |
Java | Prend en charge l'ajout de | |
.NET | Prend en charge l'ajout de | |
Node.js | Prend en charge l'ajout de | |
Ruby | Prend en charge l'ajout de |
Prise en charge du proxy
Important
Cette fonctionnalité est actuellement disponible pour ceux qui utilisent les méthodes d'installation par copier/coller ou par navigateur npm. UI Il configuration n'y a actuellement aucune option ou de NerdGraph disponible. Nous continuons à travailler pour améliorer l’accès à ces options de configuration et à d’autres.
À partir de l'agent de navigateur 1.240.0, l'agent peut être configuré pour transmettre requests réseau via un autre domaine et une autre combinaison de chemin que vous contrôlez. En fonction de votre configuration proxy et de vos paramètres CSP, vous n'aurez peut-être pas besoin de demander des exceptions pour ajouter un domaine New Relic à script-src
et connect-src
. Consultez notre documentation proxy pour plus d’informations, y compris un guide sur la configuration de l’agent.
Intégrité des sous-ressources (SRI)
L'agent du navigateur utilise le fractionnement de code pour rendre le snippet de code en ligne aussi petit que possible. Le code supplémentaire nécessaire au fonctionnement de l'agent est chargé lors de l'exécution à partir de notre réseau de diffusion de contenu (CDN). En tant que couche de sécurité supplémentaire, à partir de l'agent de navigateur 1.247.0, le snippet de l'agent contient un hachage de tous les fragments de code supplémentaires qui pourraient être chargés pendant l'exécution. Ces hacheurs sont utilisés par le navigateur pour vérifier que le code chargé depuis le CDN n'a pas été modifié involontairement, soit sur le CDN, soit pendant le transit via une attaque de l'homme du milieu.
Important
Les hacher SRI ne s'appliquent pas à l'utilisation du package npm de l'agent de navigateur. Avec le package npm, l'agent devient une partie du code de votre site ou de votre application, ce qui rend notre hacher généré invalide.
Pour plus d'informations sur le fonctionnement de la sécurité SRI, consultez cet article MDN.