Partilhar via


Ingerir mensagens syslog e CEF para Microsoft Sentinel com o Azure Monitor Agent

Este artigo mostra-lhe como usar o Syslog via AMA e Common Event Format (CEF) através de conectores AMA para filtrar e ingerir mensagens syslog e CEF de máquinas Linux, dispositivos de rede e dispositivos de segurança. Para saber mais sobre estes conectores de dados, consulte Syslog e Common Event Format (CEF) via conectores AMA para Microsoft Sentinel.

Nota

O Container Insights permite a recolha automática de eventos syslog a partir de nós Linux nos clusters do AKS. Saiba mais sobre a recolha de Syslog com o Container Insights.

Pré-requisitos

Antes de começar, você deve ter os recursos configurados e as permissões apropriadas atribuídas, conforme descrito nesta seção.

Microsoft Sentinel prerequisites

Instale a solução Microsoft Sentinel adequada e certifique-se de que tem as permissões para completar os passos deste artigo.

Pré-requisitos do reencaminhador de logs

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

  • Você deve ter uma VM Linux designada como um reencaminhador de registos para recolher logs.

  • Se o seu encaminhador de log não é uma máquina virtual Azure, deve ter instalado o agente Azure Arc Connected Machine nele.

  • A VM do encaminhador de logs do Linux deve ter Python 2.7 ou 3 instalado. Use o python --version comando ou python3 --version para verificar. Se estiveres a usar Python 3, certifica-te de que está definido como comando padrão na máquina, ou executa scripts com o comando 'python3' em vez de 'python'.

  • O encaminhador de log deve ter o daemon syslog-ng ou rsyslog ativo.

  • Para requisitos de espaço para o seu reencaminhador de log, consulte o Azure Monitor Agent Performance Benchmark. Você também pode revisar esta publicação no blog, que inclui projetos para ingestão escalável.

  • As suas fontes de log, os dispositivos de segurança e outros aparelhos devem ser configurados para enviar as suas mensagens de log para o daemon syslog do reencaminhador de logs em vez de para o daemon syslog local.

Nota

Ao implantar o AMA em um VMSS (Virtual Machine Scale set), é altamente recomendável usar um balanceador de carga que ofereça suporte ao método round-robin para garantir a distribuição de carga em todas as instâncias implantadas.

Pré-requisitos de segurança da máquina

Configure a segurança da máquina de acordo com a política de segurança da sua organização. Por exemplo, configure sua rede para se alinhar com sua política de segurança de rede corporativa e altere as portas e protocolos no daemon para alinhar com seus requisitos. Para melhorar a configuração da segurança da sua máquina, proteja a sua VM em Azure, ou reveja estas melhores práticas para segurança de rede.

Se seus dispositivos estiverem enviando logs syslog e CEF por TLS porque, por exemplo, seu encaminhador de log está na nuvem, você precisará configurar o daemon syslog (rsyslog ou syslog-ng) para se comunicar em TLS. Para obter mais informações, consulte:

Configurar o conector de dados

O processo de configuração para o Syslog via AMA ou Common Event Format (CEF) via conectores de dados AMA inclui as seguintes etapas:

  1. Instale o Azure Monitor Agent e crie uma Regra de Recolha de Dados (DCR) utilizando um dos seguintes métodos:
  2. Se você estiver coletando logs de outras máquinas usando um encaminhador de log, execute o script de "instalação" no encaminhador de log para configurar o daemon syslog para ouvir mensagens de outras máquinas e abrir as portas locais necessárias.

Selecione a guia apropriada para obter instruções.

Criar regra de coleta de dados (DCR)

Para começar, abra o Syslog via AMA ou o Common Event Format (CEF) via conector de dados AMA no Microsoft Sentinel e crie uma regra de recolha de dados (DCR).

  1. Para o Microsoft Sentinel no portal Azure, em Configuração, selecione Conectores de dados.
    Para Microsoft Sentinel no portal Defender, selecione Microsoft Sentinel>Configuration>Data connectors.

  2. Para syslog, digite Syslog na caixa Pesquisar . A partir dos resultados, selecione o conector Syslog via AMA.
    Para CEF, digite CEF na caixa Pesquisar . A partir dos resultados, selecione o Formato Comum de Evento (CEF) pelo conector AMA.

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

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

    Captura de ecrã mostrando a página Syslog via conector AMA.

    Captura de ecrã que mostra a página do conector AMA via CEF.

  5. Na guia Básico:

    • Digite um nome DCR.
    • Selecione a sua subscrição.
    • Selecione o grupo de recursos onde você deseja localizar seu DCR.

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

  6. Selecione Seguinte: Recursos >.

Definir recursos de VM

Na guia Recursos, selecione as máquinas nas quais você deseja instalar a AMA — neste caso, sua máquina de encaminhamento de log. Se o seu reencaminhador de log não aparecer na lista, pode não ter o agente Azure Connected Machine instalado.

  1. Use os filtros disponíveis ou a caixa de pesquisa para localizar a sua VM de encaminhador de log. Expanda uma subscrição na lista para ver os seus grupos de recursos, e um grupo de recursos para ver as suas VMs.

  2. Selecione a VM do encaminhador de log na qual você deseja instalar o AMA. A caixa de seleção aparece ao lado do nome da VM quando você passa o mouse sobre ela.

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

  3. Reveja as alterações e selecione Seguinte: Recolher >.

Selecione as instalações e as gravidades

Lembre-se de que usar o mesmo recurso para mensagens syslog e CEF pode resultar em duplicação de ingestão de dados. Para obter mais informações, consulte Prevenção de duplicação de ingestão de dados.

  1. Na guia Coletar, selecione o nível mínimo de log para cada recurso. Quando seleciona um nível de registo, o Microsoft Sentinel recolhe registos para o nível selecionado e para outros níveis de maior gravidade. Por exemplo, se selecionares LOG_ERR, Microsoft Sentinel recolhe registos 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. Reveja as suas seleções e selecione Seguinte: Rever + criar.

Rever e criar a regra

Depois de concluir todas as guias, revise o que você inseriu e crie a regra de coleta de dados.

  1. Na guia Revisar e criar, selecione Criar.

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

    O conector instala o Azure Monitor Agent nas máquinas que selecionaste ao criar o teu DCR.

  2. Verifique as notificações no portal Azure ou no portal Microsoft Defender para ver quando o DCR é criado e o agente está instalado.

  3. Selecione Atualizar na página do conector para ver o DCR exibido na lista.

Execute o script de "instalação"

Se você estiver usando um encaminhador de log, configure o daemon syslog para ouvir mensagens de outras máquinas e abra as portas locais necessárias.

  1. A partir da página do conector, copie a linha de comandos que aparece em Executar o seguinte comando para instalar e aplicar o coletor CEF:.

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

    Ou copie-o 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. Entre no sistema de encaminhamento de logs onde 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 recebidas nos protocolos UDP e TCP. Para alterar essa configuração, consulte o arquivo de configuração do daemon syslog de acordo com o tipo de daemon em execução na máquina:

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

    Se estiveres a usar Python 3 e não estiver definido como comando padrão na máquina, substitui python3 por python no comando colado. Consulte Pré-requisitos do encaminhador de logs.

    Nota

    Para evitar cenários de disco completo em que o agente não pode funcionar, recomendamos que você defina a syslog-ng configuração ou rsyslog para não armazenar logs desnecessários. Cenário de capacidade de disco cheia interrompe o funcionamento da AMA instalada. Para obter mais informações, consulte RSyslog ou Syslog-ng.

  4. Verifique o estado do serviço.

    Verifique o estado do serviço AMA no seu remetente de log:

    sudo systemctl status azuremonitoragent.service
    

    Verifique o estado do serviço rsyslog:

    sudo systemctl status rsyslog.service
    

    Para os ambientes syslog-ng, verifique:

    sudo systemctl status syslog-ng.service
    

Configurar o dispositivo ou aparelho de segurança

Para instruções para configurar o seu dispositivo ou dispositivo de segurança, consulte um dos seguintes artigos:

Para mais informações sobre o seu aparelho ou dispositivo, contacte o fornecedor da solução.

Testar o conector

Verifique se as mensagens de registo do seu computador Linux ou dos dispositivos de segurança são ingeridos no Microsoft Sentinel.

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

     netstat -lnptv
    

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

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

    sudo tcpdump -i any port 514 or 28330 -A -vv &
    
  3. Depois de completar a validação, para tcpdump. Escreve fg, e depois seleciona Ctrl+C.

Enviar mensagens de teste

Para enviar mensagens de demonstração, complete um dos seguintes passos:

  1. Usa a nc utilidade netcat. Neste exemplo, o utilitário lê dados postados através do echo comando com o interruptor newline desligado. Em seguida, o utilitário grava os dados na porta 514 UDP no host local sem tempo limite. Para executar o utilitário netcat, talvez seja necessário instalar outro pacote.

    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
    
  2. Use o comando logger. Este exemplo grava a mensagem no local 4 recurso, no nível Warningde gravidade, na porta 514, no host local, no formato CEF RFC. Os sinalizadores -t e --rfc3164 são usados para cumprir 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|rt=$common=event-formatted-receive_time"
    

    Teste a integração do Cisco ASA usando o seguinte comando:

    echo -n "<164>%ASA-7-106010: Deny inbound TCP src inet:1.1.1.1 dst inet:2.2.2.2" | nc -u -w0 localhost 514
    

    Depois de executares estes comandos, as mensagens chegam à porta 514 e encaminham para a porta 28330.

  3. Depois de enviar mensagens de teste, consulte o seu espaço de trabalho Log Analytics. Os registos podem demorar até 20 minutos a aparecer no seu espaço de trabalho.

Para os registos CEF:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceProduct == "MOCK"

Para registos Cisco ASA:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceVendor == "Cisco"
| where DeviceProduct == "ASA"

Resolução de problemas adicional

Se não vires tráfego na porta 514 ou se as tuas mensagens de teste não forem ingeridas, consulte Resolução de problemas sobre Syslog e CEF via conectores AMA para o Microsoft Sentinel para resolução de problemas.