O agente de infraestrutura da New Relic é executado em seus hosts e fornece dados abrangentes, especialmente quando executado com privilégios de administrador. O que se segue é uma visão geral da segurança do nosso agente de infraestrutura e algumas recomendações.
Comunicação segura do agente
Cada informação trocada entre seus hosts e o agente de infraestrutura é entregue com segurança. Toda a comunicação do agente ocorre por HTTPS, usando Transport Layer Security (TLS). Para garantir uma comunicação segura, o agente de infraestrutura foi projetado com as seguintes medidas de proteção:
Toda a comunicação é estabelecida diretamente do agente para o serviço.
O agente não exige que nenhuma porta de entrada seja aberta.
O agente é somente leitura e não pode fazer alterações no seu sistema.
A New Relic está comprometida com a segurança dos seus dados. Todos os dados derivados durante a execução do agente de infraestrutura são protegidos e usados apenas para entregar informações relacionadas à sua infraestrutura para você.
Linux
É possível executar o agente Linux de infraestrutura em três modos diferentes:
Quando o agente executa como usuário root ele tem acesso total a todas as métricas e inventário do sistema.
O agente executa um usuário sem privilégios, denominado nri-agent, que recebe recursos estendidos do kernel durante o processo de instalação. O usuário nri-agent privilegiado é, portanto, capaz de coletar algumas métricas e a maior parte do inventário. Essas permissões são somente leitura_._
O script de instalação em modo privilegiado fará as seguintes alterações em seu sistema:
Crie o usuário e o grupo nri-agent .
Defina o usuário e o grupo nri-agent como proprietários dos seguintes diretórios:
/var/run/newrelic-infra
/var/db/newrelic-infra
/var/log/newrelic-infra
/etc/newrelic-infra
Adicione os seguintes recursos do kernel ao executável /usr/bin/newrelic-infra :
CAP_SYS_PTRACE, que permite inspecionar e rastrear processos arbitrários
CAP_DAC_READ_SEARCH, para ignorar a leitura de arquivos e diretórios e executar verificações de permissão
O agente roda com um usuário não privilegiado, nri-agent, que é criado automaticamente durante o processo de atualização/instalação, e não terá acesso de leitura a todas as métricas do sistema. Isso fornece visibilidade em ambientes com políticas regulatórias ou de segurança muito rígidas. Não há permissões especiais ou acesso concedido ao usuário neste modo de execução.
O script de instalação em modo sem privilégios fará as seguintes alterações em seu sistema:
Crie o usuário e o grupo nri-agent .
Defina nri-agent e o grupo como proprietários dos seguintes arquivos e pastas do sistema:
Em sistemas Windows, o agente deve ser executado com permissões de administrador.
Fontes de coleta de dados
O agente de infraestrutura reúne métricas, eventos e dados de inventário de diversas fontes de sistema operacional. Embora algumas dessas fontes possam ser lidas em uma conta sem privilégios, outras exigem privilégios elevados.
Para as versões atuais do agente, o New Relic exige que ele seja executado como usuário root (no Linux) ou com acesso total de administrador (Windows). Aqui estão detalhes adicionais sobre como o agente de infraestrutura acessa diretórios padrão e quais pacotes e comandos ele usa.
Salvo indicação em contrário, estas informações se aplicam a qualquer sistema operacional Linux.
Diretório ou arquivo
Propósito
SO Linux
/etc/newrelic-infra.yml
Arquivo de configuração padrão
Qualquer
/usr/bin/newrelic-infra-service
Local de instalação binária do wrapper de serviço do agente padrão
Qualquer
/usr/bin/newrelic-infra
Local de instalação binária do agente padrão
Qualquer
/usr/bin/newrelic-infra-ctl
Localização binária de controle do agente CLI padrão
Qualquer
/var/db/newrelic-infra/
Cache de inventário padrão e binários de plug-in
Qualquer
/var/run/newrelic-infra.pid
Arquivo pid padrão
Qualquer
stdout, stderr, logs
Dependendo da configuração, o agente grava o log em stdout, que pode se conectar ao serviço de log do seu sistema
Qualquer
Algumas fontes de dados são específicas para determinado sistema operacional. Salvo indicação em contrário, a New Relic usa a fonte em todas as variações de um sistema operacional quando o software relacionado é detectado. Muitas das ferramentas estão em um caminho acessível ao agente. Se não for indicado de outra forma, o agente de infraestrutura normalmente os procura em /usr/bin, /bin ou /sbin.
New Relic utiliza algumas ferramentas ou fontes de dados para coletar informações para múltiplos recursos de infraestrutura. Aqui estão alguns casos de uso principais. Salvo indicação em contrário, a New Relic usa essas informações principalmente para a páginaInventory.
Vários plug-ins reúnem detalhes de todo o sistema por meio deste diretório. Utilizado para infraestrutura Inventory e métrica.
/proc/
Qualquer
Vários plug-ins reúnem configurações sysctl por meio deste diretório. Utilizado para infraestrutura Inventory e métrica.
/sys/
Qualquer
Vários plug-ins (sshd_config, hostinfo) leem configurações específicas neste diretório. Utilizado para infraestrutura Inventory e métrica.
/etc/
Qualquer
Proxies
O New Relic inclui configurações opcionais para que você possa configurar o agente para se comunicar por meio de um proxy. Para definir configurações de proxy, consulte a documentação de configuração para monitoramento de infraestrutura.
Conexões de agentes externos
O agente envia periodicamente dados em formato JSON descrevendo a métrica computacional, o evento e a configuração do seu inventário para o endpoint da infraestrutura no New Relic. Essas comunicações são associadas ao agente usando o gerado para sua conta. Assim que New Relic receber dados de algum agente externo, ele exibirá os novos dados de métricas, eventos ou configuração na interface de monitoramento de infraestrutura.
Comandos de agente externo
O agente lida com duas fontes diferentes de comandos, newrelic-infra-ctl e command-API:
Os comandos CLI enviados com newrelic-infra-ctl são enviados para o agente com sinalização Linux ou Docker ou com pipes nomeados do Windows.
Usando o endpoint command-API da plataforma New Relic, o agente pesquisa comandos fornecidos pela plataforma a cada 60 segundos. A conexão é sempre aberta do agente para os endpoints de comando da plataforma New Relic da API, nunca o contrário. O endpoint command-API é utilizado apenas para forçar a habilitação ou desabilitação do cadastro de entidade dinâmica. Aplica-se também à integração Docker que acompanha o agente de infraestrutura versão 1.9.0 ou superior.
Entregáveis
O agente de infraestrutura e toda a integração no host que roda sobre ele são fornecidos usando repositórios e pacotes padrão do sistema operacional. New Relic assina criptograficamente todos os pacotes e as etapas de verificação são fornecidas por padrão no script de instalação.
Todo o código é verificado quanto a vulnerabilidades de dependência por meio de ferramentas de segurança padrão (Snyk, Dependabot, Trivy).
O site oficial de downloads da New Relic é hospedado na AWS via S3 e gerenciado pela Fastly, nosso provedor confiável de CDN.