Ingerir mensagens do Syslog e do CEF para o Microsoft Sentinel com o agente do Azure Monitor

Este artigo descreve como usar o Syslog do por meio do AMA e o CEF (Formato Comum de Evento) por meio de conectores AMA para filtrar e ingerir rapidamente mensagens do Syslog, incluindo as do CEF, de computadores Linux e de dispositivos de rede e segurança. Para saber mais sobre esses conectores de dados, confira Conectores do Syslog por meio do AMA e Formato Comum de Evento (CEF) por meio do AMA para Microsoft Sentinel.

Pré-requisitos

Antes de iniciar, você deve ter os recursos configurados e as permissões adequadas descritas nesta seção.

Pré-requisitos do Microsoft Sentinel

Pré-requisitos do encaminhador de log

Se você estiver coletando mensagens de um encaminhador de log, os seguintes pré-requisitos adicionais se aplicam:

Evitar duplicação de ingestão de dados

Usar o mesmo recurso para mensagens Syslog e CEF pode resultar em duplicação de ingestão de dados entre as tabelas CommonSecurityLog e Syslog.

Para evitar esse cenário, use um destes métodos:

  • Se o dispositivo de origem permitir a configuração da instalação de destino: Em cada computador de origem que envia logs para o encaminhador de log no formato CEF, edite o arquivo de configuração do Syslog para remover as instalações usadas para enviar mensagens do CEF. Dessa forma, os recursos enviados no CEF também não serão enviados no Syslog. Verifique se cada DCR configurada nas próximas etapas usa a instalação relevante para CEF ou Syslog, respectivamente.

    Para ver um exemplo de como organizar uma DCR para ingerir mensagens do Syslog e CEF do mesmo agente, acesse Fluxos do Syslog e CEF no mesma DCR posteriormente neste artigo.

  • Se a alteração da instalação do dispositivo de origem não for aplicável: use uma transformação de tempo de ingestão para filtrar mensagens do CEF no fluxo do Syslog para evitar duplicação, conforme aparece no exemplo de consulta abaixo. Os dados serão enviados duas vezes do computador coletor para o workspace.

    source |
    where ProcessName !contains "CEF"
    

Configurar a segurança do computador

Configure a segurança do computador de acordo com a política de segurança da organização. Por exemplo, você pode configurar a rede para ser alinhada à política de segurança de rede corporativa e alterar as portas e os protocolos do daemon para que sejam alinhados aos requisitos. Para melhorar a configuração de segurança do computador, proteja sua VM no Azure ou examine estas melhores práticas para segurança de rede.

Se seus dispositivos estiverem enviando logs de Syslog e CEF por TLS (porque, por exemplo, o encaminhador de log está na nuvem), você precisará configurar o daemon do Syslog (rsyslog ou syslog-ng) para se comunicar no TLS:

Configurar os conectores de dados

Selecione a guia adequada para ver as instruções para syslog ou CEF.

Configurar o Syslog por meio do conector AMA

O processo de instalação do Syslog por meio do conector AMA tem duas partes:

  1. Instale o agente do Azure Monitor e crie uma regra de coleta de dados (DCR).

  2. Se você estiver coletando logs de outros computadores usando um encaminhador de log, execute o script de "instalação" no encaminhador de log para configurar o daemon do Syslog para escutar mensagens de outros computadores e abrir as portas locais necessárias.

Instalar o AMA e criar uma regra de coleta de dados (DCR)

Você pode executar esta etapa de duas maneiras:

  • Implante e configure o conector de dados do Syslog por meio do AMA ou Formato Comum de Evento (CEF) por meio do AMA no portal do Microsoft Sentinel. Com esta configuração, você pode criar, gerenciar e excluir DCRs por workspace. O AMA será instalado automaticamente nas VMs selecionadas na configuração do conector.
    — OU—
  • Enviar solicitações HTTP para a API de ingestão de logs. Com esta configuração, você pode criar, gerenciar e excluir DCRs. Essa opção é mais flexível do que o portal. Por exemplo, com a API, você pode filtrar por níveis de log específicos enquanto, com a interface do usuário, você só pode selecionar um nível de log mínimo. A desvantagem é que você precisa instalar manualmente o agente do Azure Monitor no encaminhador de log antes de criar uma DCR.

Selecione a guia apropriada abaixo para ver as instruções de cada maneira.

Abra a página do conector e inicie o assistente de DCR

  1. Abra o portal do Azure, navegue até o serviço Microsoft Azure Sentinel.

  2. Selecione Conectores de dados no menu de navegação

  3. Digite Syslog na caixa Pesquisar. Nos resultados, selecione o conector do Syslog por meio do AMA.

  4. Selecione Abrir página do conector no painel de detalhes.

  5. Na área Configuração, selecione +Criar regra de coleta de dados.

    Captura de tela mostrando o CEF por meio da página do conector AMA.

  6. Na guia Básico:

    • Digite um nome para a DCR.
    • Selecione sua assinatura.
    • Selecione o grupo de recursos em que deseja localizar a DCR.

    Captura de tela mostrando os detalhes do DCR na guia Básico.

  7. Selecione Avançar: Recursos>.

Definir recursos (VMs)

Na guia Recursos, selecione os computadores nos quais você deseja instalar o AMA, nesse caso, seu computador de encaminhador de log. (Se o encaminhador de log não aparecer na lista, talvez ele não tenha o agente do Azure Connected Machine instalado.)

  1. Use os filtros disponíveis ou a caixa de pesquisa para localizar a VM do encaminhador de log. Você pode expandir uma assinatura na lista para ver seus grupos de recursos, e um grupo de recursos para ver suas VMs.

  2. Selecione a VM do encaminhador de log na qual você deseja instalar o AMA. (A caixa de seleção será exibida ao lado do nome da VM quando você passar o mouse sobre ela.)

    Captura de tela mostrando como selecionar recursos ao configurar o DCR.

  3. Examine suas alterações e selecione Avançar: Coletar >.

Selecionar instalações e severidades e criar a DCR

Observação

Usar o mesmo recurso para mensagens do Syslog e CEF pode resultar em duplicação de ingestão de dados. Saiba como evitar a duplicação de ingestão de dados.

  1. Na guia Coletar, selecione o nível mínimo de log para cada instalação. Quando você seleciona um nível de log, o Microsoft Sentinel coleta logs para o nível selecionado e outros níveis com gravidade mais alta. Por exemplo, se você selecionar LOG_ERR, o Microsoft Sentinel coletará logs para os níveis LOG_ERR, LOG_CRIT, LOG_ALERT e LOG_EMERG.

    Captura de tela mostrando como selecionar níveis de log ao configurar o DCR.

  2. Examine suas seleções e selecione Avançar: Examinar + criar.

  3. Na guia Examinar e criar, selecione Criar.

    Captura de tela mostrando como examinar a configuração do DCR e criá-la.

  • O conector instalará o agente do Azure Monitor nos computadores selecionados ao criar a DCR.

  • Você verá notificações do portal do Azure quando a DCR for criada e o agente estiver instalado.

  • Selecione Atualizar na página do conector para ver a DCR exibida na lista.

Exemplos de instalações e seções de níveis de log

Examine esses exemplos das configurações de níveis de instalações e log. O campo name inclui o nome do filtro.

Para a ingestão de mensagens CEF, o valor para "streams" deve ser "Microsoft-CommonSecurityLog" em vez de "Microsoft-Syslog".

Este exemplo coleta eventos das instalações cron, daemon, local0, local3 e uucp, com os níveis de log Warning, Error, Critical, Alert e Emergency:

    "dataSources": {
      "syslog": [
        {
        "name": "SyslogStream0",
        "streams": [
          "Microsoft-Syslog"
        ],
        "facilityNames": [ 
          "cron",
          "daemon",
          "local0",
          "local3", 
          "uucp"
        ],
        "logLevels": [ 
          "Warning", 
          "Error", 
          "Critical", 
          "Alert", 
          "Emergency"
        ]
      }
    ]
  }
Fluxos do Syslog e CEF na mesma DCR

Este exemplo mostra como você pode coletar mensagens do Syslog e CEF na mesma DCR.

Consulte Evitar a duplicação de ingestão de dados anteriormente neste artigo para obter mais informações sobre as etapas a serem seguidas ao ingerir mensagens do Syslog e CEF usando um único agente e uma DCR.

O DCR coleta mensagens de evento do CEF para:

  • As instalações authpriv e mark com os níveis de log Info, Notice, Warning, Error, Critical, Alert e Emergency
  • A instalação daemon com os níveis de log Warning, Error, Critical, Alert e Emergency

Coleta mensagens de evento do Syslog para:

  • As instalações kern, local0, local5 e news com os níveis de log Critical, Alert e Emergency
  • As instalações mail e uucp com o nível de log Emergency
    "dataSources": {
      "syslog": [
        {
          "name": "CEFStream1",
          "streams": [ 
            "Microsoft-CommonSecurityLog"
          ],
          "facilityNames": [ 
            "authpriv", 
            "mark"
          ],
          "logLevels": [
            "Info",
            "Notice", 
            "Warning", 
            "Error", 
            "Critical", 
            "Alert", 
            "Emergency"
          ]
        },
        {
          "name": "CEFStream2",
          "streams": [ 
            "Microsoft-CommonSecurityLog"
          ],
          "facilityNames": [ 
            "daemon"
          ],
          "logLevels": [ 
            "Warning", 
            "Error", 
            "Critical", 
            "Alert", 
            "Emergency"
          ]
        },
        {
          "name": "SyslogStream3",
          "streams": [ 
            "Microsoft-Syslog"
          ],
          "facilityNames": [ 
            "kern",
            "local0",
            "local5", 
            "news"
          ],
          "logLevels": [ 
            "Critical", 
            "Alert", 
            "Emergency"
          ]
        },
        {
          "name": "SyslogStream4",
          "streams": [ 
            "Microsoft-Syslog"
          ],
          "facilityNames": [ 
            "mail",
            "uucp"
          ],
          "logLevels": [ 
            "Emergency"
          ]
        }
      ]
    }

Executar o script de "instalação"

O script de "instalação" não instala nada, mas configura o daemon do Syslog no encaminhador de log corretamente para coletar os logs.

  1. Na página do conector, copie a linha de comando que aparece em Execute o seguinte comando para instalar e aplicar o coletor CEF: selecionando o ícone de cópia ao lado dele.

    Captura de tela da linha de comando na página do conector.

    Você também pode copiá-lo daqui:

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. Faça logon no computador do encaminhador de log no qual você acabou de instalar o AMA.

  3. Cole o comando copiado na última etapa para iniciar o script de instalação.
    O script configura o daemon rsyslog ou syslog-ng para usar o protocolo necessário e reinicia o daemon. O script abre a porta 514 para ouvir mensagens de entrada em protocolos UDP e TCP. Para alterar essa configuração, confira o arquivo de configuração de daemon do Syslog de acordo com o tipo daemon em execução no computador:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Observação

    Para evitar cenários de Disco Completo em que o agente não pode funcionar, recomendamos que você defina a configuração syslog-ng ou rsyslog para não armazenar logs desnecessários. Um cenário de Disco Completo interrompe a função do AMA instalado. Leia mais sobre RSyslog ou Syslog-ng.

Testar o conector

  1. Para validar se o daemon syslog está em execução na porta UDP e que se o AMA está escutando, execute este comando:

    netstat -lnptv
    

    Você deve ver o daemon rsyslog ou syslog-ng escutando na porta 514.

  2. Para capturar mensagens enviadas de um agente ou de um dispositivo conectado, execute este comando em segundo plano:

    tcpdump -i any port 514 -A -vv &
    
  3. Depois de concluir a validação, recomendamos que você pare o tcpdump: digite fg e selecione Ctrl+C.

  4. Para enviar mensagens de demonstração, siga um destes procedimentos:

    • Use o utilitário netcat. Neste exemplo, o utilitário lê os dados postados por meio do comando echo com a opção newline desativada. Em seguida, o utilitário grava os dados na porta UDP 514 no localhost sem tempo limite. Para executar o utilitário netcat, talvez seja necessário instalar um pacote adicional.

      echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
      
    • Use o agente. Este exemplo grava a mensagem na instalação local 4, no nível de severidade Warning, na porta 514, no host local, no formato RFC CEF. Os sinalizadores -t e --rfc3164 são usados para manter a conformidade com o formato RFC esperado.

      logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time"
      
  5. Para verificar se o conector está instalado corretamente, execute o script de solução de problemas com um destes comandos:

    • Para logs do CEF, execute:

       sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --cef
      
    • Para logs do ASA (Cisco Adaptive Security Appliance), execute:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --asa
      
    • Para logs do FTD (Cisco Firepower Threat Defense), execute:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --ftd