Este guia descreve como integrar o New Relic Gerenciamento de vulnerabilidades com Snyk Webhooks. Webhooks no Snyk são um recurso beta disponível apenas para clientes Business ou Enterprise do Snyk. Como um recurso beta, a API e a estrutura do Webhook podem mudar sem aviso prévio, portanto, seja discreto ao usar Webhooks para automação em seus processos de segurança.
Embora façamos todos os esforços para nos mantermos sincronizados com as alterações nos Snyk Webhooks, se você perceber que estamos fora de sintonia, avise-nos.
Após a conclusão dessas etapas, você verá novas vulnerabilidades detectadas pelo Snyk em sua conta New Relic em tempo real e poderá criar um painel de análise de problemas recém-detectados.
Para mais informações, consulte a documentação oficial do Snyk.
Pré-requisitos
Um token de API Snyk
New Relic
Você deve ser um administrador da organização Snyk para configurar Webhooks via API
Configuração de webhook
Para configurar seu webhook, siga as seguintes etapas:
Obtenha seu token da API Snyk
Na interface do Snyk, no menu do usuário, clique em Account settings e copie sua chave do token de API do Snyk. Leia mais na documentação oficial do Snyk.
New Relic License - Insert chave de licença
Selecione um License - Insert em sua conta New Relic ou crie uma nova.
Importante
Além das chaves Snyk e New Relic, você precisa gerar um segredo de assinatura aleatório. Isso é exigido pelo Snyk, mas não é usado pela New Relic ao receber dados.
Compilar IDs de organização Snyk
Obtenha uma lista dos IDs da organização Snyk aos quais você tem acesso executando o seguinte comando:
$curl -H "content-type: application/json" \>-H "authorization: token YOUR_SNYK_API_TOKEN" \>"https://api.snyk.io/api/v1/orgs" | jq -r '.orgs[] | "\(.id)\t\(.name)"'
Importante
Para executar este comando, você precisa instalar jq, um processador JSON de linha de comando.
Crie um webhook em cada organização Snyk
Você deve configurar um webhook separadamente para cada organização Snyk.
Execute o comando a seguir para criar um webhook que será postado no processador de ingestão de segurança no New Relic sempre que um projeto for testado. Isso é enviado por meio do tipo de evento project_snapshot .
$curl -X POST -H "content-type: application/json" \>-H "authorization: token <SNYK_API_TOKEN>" \>--data '{"url": $ "https://security-ingest-processor.service.newrelic.com/v1/security/webhooks/snyk?Api-Key=YOUR_NEW_RELIC_LICENSE_KEY",$ "secret": "YOUR_SIGNING_SECRET"}' \>"https://api.snyk.io/api/v1/org/<SNYK_ORG_ID>/webhooks"
Testar uma conexão de webhook
O comando a seguir retorna uma matriz de resultados com um ID de webhook e URL para cada webhook configurado na organização:
$curl -H "content-type: application/json" \>-H "authorization: token YOUR_SNYK_API_TOKEN" \>"https://api.snyk.io/api/v1/org/YOUR_SNYK_ORG_ID/webhooks"
Para testar um webhook, copie o ID do webhook que deseja testar e execute o seguinte comando:
$curl -X POST --data "" -H "content-type: application/json" \>-H "authorization: token YOUR_SNYK_API_TOKEN" \>"https://api.snyk.io/api/v1/org/YOUR_SNYK_ORG_ID/webhooks/YOUR_WEBHOOK_ID/ping"
O comando retornará OK
se você configurou o webhook corretamente.
Teste um Webhook manualmente
Pode ser necessário acionar uma verificação manual de um projeto no Snyk para que os dados fluam para o New Relic. Você pode fazer isso por meio da CLI ou API do Snyk, ou da interface do Snyk, clicando em Retest now em um destino de verificação em um projeto.
Verifique a documentação oficial do Snyk sobre a execução de testes manuais.
Clique em Retest now em um destino de verificação em um projeto.
Verifique se seus dados Snyk foram enviados para New Relic
Verifique o login no New Relic para verificar se as descobertas do Snyk do seu teste manual foram entregues com sucesso inserindo logtype:security
para filtrar o evento de segurança.
Vá para
one.newrelic.com > All capabilities > Logs
.
Na barra de pesquisa, digite
logtype:security
e clique emQuery logs
.
one.newrelic.com > All capabilities > Logs
Os transportes Snyk Webhook retornam apenas New Issues e Removed Issues que ocorrem com cada teste. New Relic analisará apenas o New Issues. Se o teste manual não revelar nenhum problema novo, você não verá nenhum novo log de segurança no New Relic. Nesse caso, você verá uma mensagem do log no New Relic para o transporte bem-sucedido do webhook nos moldes de:
SnykWebhook scan reported 879 byte payload with 0 events (0 unique issue ids) from '' errors=no
Veja os dados do Snyk no New Relic
Depois de configurar um ou mais eventos de webhook, você poderá visualizar os resultados do webhook Snyk sendo enviado para nosso endpoint de ingestão de segurança no New Relic.
Confira as 3 maneiras que você pode usar para identificar dados Snyk no New Relic:
Visualizando dados no Gerenciamento de vulnerabilidades
Você pode encontrar esta página em one.newrelic.com > All capabilities > Vulnerability Management.
Essa visualização oferece uma visão panorâmica de todas as vulnerabilidades do seu software, incluindo quaisquer dados que foram consumidos pela integração do Snyk. Use as diversas guias para identificar e fazer a triagem de vulnerabilidades.
one.newrelic.com > All capabilities > Vulnerability Management.
Consultando evento de vulnerabilidades
Quando os eventos Snyk são processados, eles são armazenados na tabela Vulnerability . Para consultar esta tabela e visualizar os dados brutos, faça o seguinte:
Vá para one.newrelic.com > All capabilities > Query your data.
Insira a seguinte consulta:
FROM Vulnerability SELECT * where source = 'Snyk' since 7 days agoone.newrelic.com > All capabilities > Query your data
Dashboard Snyk
Você pode instalar o dashboard Snyk pré-construído no mercado de observabilidade New Relic Instant.
Este dashboard oferece outra visão dos dados de vulnerabilidades, e você pode usar o widget de gráfico para construir suas próprias visualizações dashboard a partir dos dados de integração do Snyk.