Conector do GitHub (usando os Webhooks) (usando o Azure Function) para o Microsoft Sentinel

O conector de dados de webhook do GitHub fornece a capacidade de ingerir eventos assinados pelo GitHub no Microsoft Sentinel usando eventos de webhook do GitHub. O conector fornece a capacidade de inserir eventos no Sentinel que ajudam a examinar riscos de segurança em potencial, analisar o uso colaboração pela sua equipe, diagnosticar problemas de configuração e muito mais.

Observação: caso pretenda gerir logs de auditoria do GitHub, confira o Conector de Log de Auditoria do GitHub Enterprise na galeria "Conectores de Dados".

Atributos do conector

Atributo do conector Description
Código do aplicativo de funções do Azure https://aka.ms/sentinel-GitHubWebhookAPI-functionapp
Tabela(s) do Log Analytics githubscanaudit_CL
Suporte às regras de coleta de dados Sem suporte no momento
Com suporte por Microsoft Corporation

Exemplos de consulta

Eventos do GitHub – Todas as atividades.

githubscanaudit_CL

| sort by TimeGenerated desc

Pré-requisitos

Para integrar-se ao GitHub (usando os Webhooks) (usando o Azure Function), verifique se você tem:

Instruções de instalação do fornecedor

Observação

Esse conector foi criado no Azure Function baseado em gatilho de http. E fornece um ponto de extremidade ao qual o GitHub estará conectado através de sua capacidade de webhook e publica os eventos assinados no Microsoft Sentinel. Isso pode resultar em custos adicionais de ingestão de dados. Consulte a página de preços do Azure Functions para obter detalhes.

(Etapa opcional): armazene o espaço de trabalho e as chaves de autorização ou tokens da API com segurança no Azure Key Vault. O Azure Key Vault fornece um mecanismo seguro para armazenar e recuperar valores de chave. Siga estas instruções para usar o Azure Key Vault com um aplicativos do Azure Function.

Escolha UMA das duas opções de implantação a seguir para implantar o conector e o Azure Function associado

IMPORTANTE: antes de implantar o conector de Webhook do GitHub, tenha em mãos a ID do espaço de trabalho e a chave primária de espaço de trabalho (pode ser copiada a partir do seguinte).

Opção 1 – Modelo do Azure Resource Manager (ARM)

Utilize esse método para implantação automatizada do conector de dados do GitHub usando um Modelo ARM.

  1. Clique no botão Implantar no Azure abaixo.

    Implantar no Azure

  2. Selecione Assinatura, Grupo de Recursos e Local preferenciais.

OBSERVAÇÃO: dentro do mesmo grupo de recursos, não é possível combinar aplicativos do Windows e do Linux na mesma região e implantar. 3. Marque a caixa de seleção Concordo com os termos e condições declarados acima. 5. Clique em Comprar para implantar.

Opção 2 – Implantação Manual do Azure Functions

Utilize as seguintes instruções passo a passo para implantar o conector de dados de webhook do GitHub manualmente com o Azure Functions (Implantação através do Visual Studio Code).

1. Implantar um Aplicativo de Funções

OBSERVAÇÃO: você precisará preparar o VS Code para o desenvolvimento da função do Azure.

  1. Baixe o arquivo do Aplicativo Azure Functions. Extraia o arquivo para seu computador de desenvolvimento local.

  2. Iniciar o VS Code. Escolha Arquivo no menu principal e selecione Abrir Pasta.

  3. Selecione a pasta de nível superior dos arquivos extraídos.

  4. Escolha o ícone do Azure na barra de atividades e, na área Azure: Funções, escolha o botão Implantar no aplicativo de funções. Se você ainda não estiver conectado, escolha o ícone do Azure na barra de atividades e, em seguida, na área Azure: Funções, escolha Entrar no Azure Se você já estiver conectado, vá para a próxima etapa.

  5. Forneça as seguintes informações nos prompts:

    a. Selecione a pasta: escolha uma pasta do seu espaço de trabalho ou navegue até uma que contenha seu aplicativo de funções.

    b. Selecionar Assinatura: escolha a assinatura a ser usada.

    c. Selecione Criar aplicativo de Funções no Azure (não escolha a opção Avançado)

    d. Insira um nome globalmente exclusivo para o aplicativo de funções: digite um nome que seja válido em um caminho de URL. O nome que você digitar é validado para ter certeza de que ele é exclusivo no Azure Functions. (por exemplo: GitHubXXXXX).

    e. Selecione um runtime: escolha o Python 3.8.

    f. Selecione uma localização para novos recursos. Para um melhor desempenho e custos mais baixos, escolha a mesma região onde o Microsoft Sentinel está localizado.

  6. A implantação será iniciada. Uma notificação é exibida depois que seu aplicativo de funções é criado e o pacote de implantação é aplicado.

  7. Acesse o Portal do Azure para ver a configuração do Aplicativo de Funções.

2. Configurar o Aplicativo de Funções

  1. No Aplicativo de Funções, selecione o Nome do Aplicativo de Funções e selecione Configuração.

  2. Na guia Configurações de aplicativo, selecione **Novas configurações de aplicativo**.

  3. Adicione cada uma das seguintes configurações de aplicativo individualmente, com os respectivos valores de cadeia de caracteres (diferencia maiúsculas de minúsculas):

    • WorkspaceID
    • WorkspaceKey
    • logAnalyticsUri (opcional) – Use logAnalyticsUri para substituir o ponto de extremidade da API de análise de logs para uma nuvem dedicada. Por exemplo, para a nuvem pública, deixe o valor vazio; para o ambiente de nuvem do Azure GovUS, especifique o valor no seguinte formato: https://<CustomerId>.ods.opinsights.azure.us.
    • GithubWebhookSecret (opcional) – Para habilitar a autenticação de webhook, gere um valor secreto e armazene-o nessa configuração.
  4. Após todas as configurações do aplicativo terem sido inseridas, clique em Salvar.

Etapas de pós-implantação

ETAPA 1 – Para obter a URL do Azure Function

  1. Vá para a página de Visão geral da função do Azure e clique em "Functions" na folha à esquerda.
  2. Clique na função chamada "GithubwebhookConnector".
  3. Vá para "GetFunctionurl" e copie a URL da função.

ETAPA 2 – Configurar o Webhook para a Organização do GitHub

  1. Acesse o GitHub, abra sua conta e clique em "Suas Organizações".
  2. Clique em Configurações.
  3. Clique em "Webhooks" e insira a URL do aplicativo de funções (que foi copiada na ETAPA 1) na caixa de texto da URL de payload.
  4. Escolha o tipo de conteúdo como "application/json".
  5. (Opcional) Para habilitar a autenticação de webhook, adicione ao valor do campo "Segredo" que você salvou no GithubWebhookSecret nas configurações do Aplicativo de Funções.
  6. Assine eventos e clique em "Adicionar Webhook"

Agora terminamos com a configuração do Webhook do GitHub. Uma vez havendo o gatilho de evento do GitHub e após o atraso de 20 a 30 minutos (haverá um atraso para que o LogAnalytics ative os recursos pela primeira vez), você deve ser capaz de ver todos os eventos transacionais do GitHub para o espaço de trabalho do LogAnalytics na tabela nomeada "githubscanaudit_CL".

Para obter mais detalhes, clique aqui

Próximas etapas

Para obter mais informações, acesse a solução relacionada no Azure Marketplace.