Nosso inclui medidas de segurança rigorosas para fornecer um produto robusto e independente com monitoramento de recursos do browser. Antes de instalar o agente browser, certifique-se de que seu sistema atenda a esses requisitos.
Requisitos básicos
Para reportar dados à New Relic, seu aplicativo deve atender a dois requisitos básicos:
- O tráfego para o aplicativo deve ser proveniente de clientes capazes de carregar e executar o código JavaScript do browser.
- Os clientes que acessam o aplicativo devem ser capazes de enviar dados para a New Relic por meio de solicitações HTTP. HTTPS é necessário para o monitoramento mais avançado do recurso do browser.
Importante
Browsers que assinam uma lista de desconexão ou que usam extensões de filtragem de conteúdo, como AdBlock, podem não conseguir reportar dados à New Relic. Por exemplo, se você estiver usando a lista de desconexão do Enhanced Tracking Prevention para Mozilla Firefox 69.0 ou superior, será necessário alterar a configuração padrão.
A maioria dos aplicativos de browser típicos atendem a esses requisitos, mas alguns aplicativos de browser em ambientes restritos podem ter dificuldade em relatar dados à New Relic. Por exemplo:
- Aplicativo mobile híbrido
- Aplicativo instalado em hardware incomum, como terminais de ponto de venda ou dispositivos de consumo
Para obter mais informações, revise a documentação da instrumentação para monitoramento do browser e, em seguida, verifique o acesso à rede do usuário final.
Browser compatível
O browser agente suporta oficialmente as seguintes versões de browser:
- Chrome (10 versões anteriores)
- Safari (10 versões anteriores)
- Firefox (10 versões anteriores)
- Edge (10 versões anteriores)
Instrumentação e recurso específico podem ser compatíveis com outros browsers ou versões.
Exceptions | Comments |
---|---|
Tempos de pintura | O atributo
|
AJAX | Os recursos de temporização AJAX não estão disponíveis com:
|
|
|
Rastreamento da sessão | trace da sessão são reportados somente a partir de browsers que suportam a Especificação de Tempo de Recursos. |
SHA-256 | A New Relic só pode monitor browsers compatíveis com SHA-256. |
Importante
Quando você usa monitoramento de browser com cookies, os cookies da New Relic são cookies de terceiros em seu site e podem não armazenar ou funcionar em determinados browsers usados por seus visitantes. Consulte os sites do browser aplicável para obter detalhes sobre sua compatibilidade com cookies de terceiros.
Agentes APM
Uma forma de implantar o monitoramento de Browser para uma aplicação é utilizando um de nossos agentes APM.
Se você estiver implantando browser para um aplicativo que já está sendo monitorado pelo APM, certifique-se de que a versão do seu agente APM suporta monitoramento de browser:
- Ir: Versão 2.5.0 ou superior
- Java: Versão 3.4.0 ou mais alto
- .NET: Versão 2.20.25.0 ou superior
- Node.js: versão 1.4.0 ou superior
- PHP: Versão 4.4.5.35 ou superior
- Python: Versão 2.10.1.9 ou mais alto
- Ruby: Versão 3.7.0.177 ou superior
Estrutura e biblioteca suportadas
O agente browser coleta dados em sites que usam muitas bibliotecas e estruturas de front-end populares. O agente browser monitora objetos e métodos JavaScript de baixo nível, que podem ser agrupados ou modificados por outra biblioteca e framework. Como resultado, o nível de detalhe coletado pode variar de uma framework para outra, e podem ocorrer conflitos com qualquer biblioteca que modifique a mecânica nativa do JavaScript.
Exceções de compatibilidade | Comentários |
---|---|
Zone.js | Se você estiver usando AngularJS e quiser usar nosso recurso de monitoramento SPA, observe que as versões 0.6.18 a 0.6.24 do Zone.js não são compatíveis com o browser. Em todos os casos, o agente browser must deve ser carregado antes do Zone.js para evitar erros. |
Cypress.io | O browser não consegue instrumentar adequadamente os métodos
Isso afetará apenas os clientes que executam testes com o browser agente presente em seu código. O aplicativo de produção não deve ser afetado. |
html2pdf.js | Esta biblioteca não é compatível com nosso agente Pro+SPA devido à forma como esta biblioteca envolve promessas. Se você estiver usando esta biblioteca, recomendamos selecionar o tipo de agente Pro. |
MooTools | O browser agente não é compatível com versões do MooTools anteriores a |
Monitoramento de aplicativo de página única (SPA)
Para usar o recurso relacionado ao monitoramento de aplicativos de página única (SPA), seu aplicativo deve atender a estes requisitos.
SPA: versão do agente browser
O monitoramento do SPA requer uma versão específica do SPA do trecho do browser, disponível para o agente do browser versão 885 ou superior. Esta versão do agente está habilitada por padrão.
SPA: tipos de browser
O monitoramento do SPA requer a API do BrowseraddEventListener
e a API Navigation Timing. Ambas API estão disponíveis em todos os browsers modernos, incluindo Google Chrome, Mozilla Firefox, Apple Safari e Microsoft Internet Explorer (IE) versões 9 ou superior.
SPA: requisitos framework
Como a instrumentação SPA funciona agrupando API do browser de baixo nível, ela é independente framework . A instrumentação SPA é compatível com a maioria das estruturas SPA, como Angular, Backbone, Ember e React. Também pode instrumentar solicitações feitas usando JSONP.
Abaixo estão os problemas de compatibilidade conhecidos:
- Se seu aplicativo usa AngularJS e você deseja usar os recursos de monitoramento SPA do browser, as versões 0.6.18-0.6.24 do Zone.js não são compatíveis com o agente SPA.
- A biblioteca html2pdf.js não é compatível com o agente SPA.
- As versões Angular 12 a 14 contêm uma limitação em torno do tamanho dos elementos de script individuais contidos na fonte HTML do índice. Consulte esta página de resolução de problemas para obter mais informações.
- Next.JS tem uma incompatibilidade conhecida desde a versão 13.3.2-canary.2 onde o uso do roteador do aplicativo pode fazer com que os links da página não funcionem. Consulte esta página de resolução de problemas para obter mais informações.
SPA: Segurança para aplicar fragmentos de hash
Coletamos e salvamos fragmentos de hash aplicados de URLs de mudança de rota. Se você usar aplicar hash para passar dados privados ou confidenciais, esses dados poderão ficar visíveis para o usuário da sua conta New Relic. Siga as diretrizes de segurança do browser com coleta de dados e relatórios.
Considerações sobre a Política de Segurança de Conteúdo (CSP)
Para obter métricas precisas de desempenho do browser, nosso monitoramento de browser requer o uso de um pequeno trecho JavaScript embutido. A New Relic analisa cuidadosamente o JavaScript embutido para evitar scripts entre sites (XSS) e outras vulnerabilidades potenciais.
A Política de Segurança de Conteúdo Nível 2 adiciona restrições aos tipos de JavaScript permitidos, como script embutido. Também limita qual domínio pode carregar script durante o carregamento da página.
Importante
Se o seu site não permitir a execução de JavaScript hospedado por terceiros, você deverá solicitar uma exceção CSP por meio dos procedimentos padrão da sua organização para instalar o agente de monitoramento do browser.
Ao solicitar uma exceção de CSP, siga os procedimentos padrão da sua organização para entrar em contato com a equipe da Web ou de segurança. As exceções de CSP para seu caso de uso dependem da versão do agente browser que você está executando atualmente. Recomendamos sempre atualizar para a versão mais recente do agente browser.
Você pode adicionar todas essas exceções à diretiva substituta default-src
(em vez de script-src
e connect-src
). O agente browser requer as seguintes exceções de CSP:
Exceção CSP | Comentários |
---|---|
| Adicione à diretiva |
| Adicione à diretiva |
| O agente tenta enviar carga para subdomínios de
|
nonce
apoiar
A partir do agente browser 1.247.0, o agente respeitará um atributo nonce
anexado ao script embutido ao carregar blocos de código adicionais. Se o seu site ou infraestrutura for capaz de injetar um atributo nonce
no script do agente browser embutido, você só precisará solicitar uma exceção CSP para connect-src
.
Importante
Nosso suporte integrado nonce
não se aplica ao uso do pacote npm do browser agente. Com o pacote npm, o agente passa a fazer parte do código do seu site ou aplicativo. Quaisquer blocos adicionais carregados serão feitos por meio do código do seu aplicativo e você terá controle total sobre quando e se um atributo nonce
será usado.
Alguns APM de agente capazes de injetar o agente browser também suportam a adição de um atributo nonce
ao script injetado.
Agente APM | Versão mínima | Nota de suporte |
---|---|---|
Go | Oferece suporte à injeção do trecho JavaScript por meio da API | |
Java | Suporta adição de | |
.NET | Suporta adição | |
Node.js | Suporta adição | |
Ruby | Suporta adição |
Suporte de proxy
Importante
Este recurso está disponível atualmente para aqueles que usam os métodos de instalação do browser copiar/colar ou npm. Atualmente não há opções de interface ou configuração do NerdGraph disponíveis. Continuamos trabalhando para melhorar o acesso a essas e outras opções de configuração.
A partir do agente browser 1.240.0, o agente pode ser configurado para fazer proxy de solicitações de rede por meio de outra combinação de domínio e caminho que você controla. Dependendo da configuração do proxy e das configurações do CSP, talvez você não precise solicitar exceções para adicionar domínios New Relic a script-src
e connect-src
. Confira nossos documentos sobre proxy para obter mais informações, incluindo um guia sobre como configurar o agente.
Integridade de Sub-Recursos (SRI)
O browser agente utiliza divisão de código para tornar o snippet de código embutido o menor possível. O código adicional necessário para o agente funcionar é carregado em tempo de execução de nossa rede de entrega de conteúdo (CDN). Como uma camada adicional de segurança, começando com o agente browser 1.247.0, o trecho do agente contém aplicar hash de todos os pedaços de código adicionais que podem ser carregados durante o tempo de execução. Esses hash aplicados são usados pelo browser para verificar se o código carregado do CDN não foi modificado acidentalmente, seja no CDN ou durante o trânsito por meio de um ataque man-in-the-middle.
Importante
SRI aplicar hash não se aplica ao uso do pacote npm do browser agente. Com o pacote npm, o agente passa a fazer parte do código do seu site ou aplicativo, tornando inválido o hash aplicar gerado.
Para obter mais informações sobre como funciona a segurança SRI, consulte este artigo do MDN.