Este guia descreve como integrar New Relic Gerenciamento de vulnerabilidades com Snyk Webhooks. Webhooks em Snyk são um recurso beta disponível apenas para clientes Snyk's Business ou empresariais. Como um recurso beta, o Webhook API e a estrutura 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 em Snyk Webhooks, se você perceber que estamos fora de sintonia, avise-nos.
Após a conclusão dessas etapas, você verá novas vulnerabilidades detectadas por Snyk em sua conta New Relic em tempo real e poderá criar um dashboard de análise de problemas recém-detectados.
Para obter 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 Account settings em e copie sua Snyk API token chave. Leia mais na documentação oficial do Snyk.
New Relic License - Insert
Selecione um License - Insert em sua conta New Relic ou crie uma nova.
Importante
Além de suas 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 Snyk IDs de organização 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 Snyk organização.
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
Talvez seja necessário acionar uma verificação manual de um projeto em Snyk para que os dados fluam para o New Relic. Você pode fazer isso por meio da CLI ou API Snyk ou da interface Snyk, clicando em Retest now em um destino de verificação dentro de um projeto.
Verifique a documentação oficial 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 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 em Query 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 três 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 todos os 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 Snyk eventos 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 do mercado de observabilidadeNew 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.
Instale o dashboard de Instant Observability Snyk.