Coletar registros de DHCP da Sophos

Compatível com:

Este documento explica como ingerir registros do protocolo de configuração de host dinâmico (DHCP) da Sophos no Google Security Operations usando o Bindplane. Primeiro, o analisador normaliza as mensagens syslog do DHCP da Sophos em uma estrutura de chave-valor e, em seguida, mapeia os campos extraídos para o esquema do modelo de dados unificado (UDM). Ele processa diferentes tipos de mensagens DHCP (DHCPREQUEST, DHCPACK, DHCPOFFER, DHCPNAK) e extrai informações relevantes, como endereços IP, endereços MAC e opções de DHCP.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps.
  • Um host Windows 2016 ou mais recente ou Linux com systemd.
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
  • Acesso privilegiado ao console de gerenciamento do Sophos UTM ou ao console de administração da Web do Sophos Firewall (SFOS).

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão.
    • Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Outros recursos de instalação

Para mais opções de instalação, consulte o guia de instalação.

Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:
    • Localize o arquivo config.yaml. Normalmente, ele fica no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'SOPHOS_DHCP'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <CUSTOMER_ID> pelo ID de cliente real.
    • Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do BindPlane em Linux, execute o seguinte comando:

    sudo systemctl restart observiq-otel-collector
    
  • Para reiniciar o agente do BindPlane no Windows, use o console Serviços ou insira o seguinte comando:

    sc stop observiq-otel-collector && sc start observiq-otel-collector
    

Opção 2: configurar o encaminhamento de Syslog no firewall da Sophos

  1. Faça login no Sophos Firewall Web Admin Console.
  2. Acesse Configurar > Serviços do sistema > Configurações de registro.
  3. Clique em Adicionar para configurar um servidor syslog.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para o coletor do Google SecOps (por exemplo, Google SecOps BindPlane DHCP).
    • Endereço IP/domínio: insira o endereço IP do BindPlane.
    • Porta: insira o número da porta do BindPlane (por exemplo, 514).
    • Instalação: selecione DAEMON.
    • Nível de gravidade: selecione Informações.
    • Formato: selecione Formato padrão do dispositivo.
  5. Clique em Salvar.
  6. Volte para a página Configurações de registros e selecione os tipos de registros específicos para encaminhar ao servidor syslog.
  7. Selecione as categorias de registros adequadas que incluem eventos DHCP. Os registros do DHCP são gerados pelo serviço dhcpd e fazem parte dos registros de rede ou do sistema que serão encaminhados quando as categorias de registro correspondentes forem ativadas.
  8. Clique em Aplicar para salvar a configuração.

Opção 1: configurar o encaminhamento de syslog no Sophos UTM

  1. Faça login no Sophos UTM Management Console.
  2. Acesse Registro e geração de relatórios > Configurações de registro > Servidor Syslog remoto.
  3. Clique no botão de alternância para ativar o syslog remoto. A área "Configurações do Syslog remoto" fica editável.
  4. No campo Servidores Syslog, clique em + Adicionar servidor Syslog.
  5. Na caixa de diálogo Adicionar servidor syslog, forneça os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo, por exemplo, Google SecOps BindPlane DHCP.
    • Servidor: clique no ícone + (adição) ao lado do campo "Servidor". Crie ou selecione um Host em "Definições de rede" com o endereço IP do agente do BindPlane e clique em Salvar.
    • Porta: clique no ícone + (adição) ao lado do campo Porta. Crie ou selecione uma definição de serviço com o protocolo e a porta adequados (por exemplo, UDP/514) e clique em Salvar.
  6. Clique em Salvar na caixa de diálogo Adicionar servidor Syslog.
  7. Clique em Aplicar na seção Configurações do Syslog remoto.
  1. Opcional: ajuste a configuração Buffer de syslog remoto (o padrão é 1000 linhas) e clique em Aplicar.
  2. Na seção Seleção de registros do Syslog remoto, selecione Servidor DHCP e as categorias de registro necessárias.
  3. Clique em Aplicar para salvar as configurações de seleção de registros.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
ação event.idm.read_only_udm.security_result.action_details
attr_address event.idm.read_only_udm.target.ip
attr_addresses event.idm.read_only_udm.target.ip
call event.idm.read_only_udm.security_result.summary
cliente event.idm.read_only_udm.principal.hostname
cliente event1.idm.read_only_udm.principal.hostname
dados
dstip event.idm.read_only_udm.target.ip
dstmac event.idm.read_only_udm.target.mac
dstport event.idm.read_only_udm.target.port
fwrule event.idm.read_only_udm.security_result.rule_id
ID event.idm.read_only_udm.metadata.product_event_type Concatenado com ulogd -
ID event1.idm.read_only_udm.metadata.product_event_type Concatenado com ID -
informações event.idm.read_only_udm.security_result.description
initf event.idm.read_only_udm.security_result.about.labels.value A chave está fixada no código como In Interface
msg event.idm.read_only_udm.metadata.description Quando process_type não é confd ou ulogd
nome event.idm.read_only_udm.security_result.description
objname event.idm.read_only_udm.principal.resource.name
oldattr_address event.idm.read_only_udm.principal.ip
oldattr_addresses event.idm.read_only_udm.principal.ip
outitf event.idm.read_only_udm.security_result.about.labels.value A chave está fixada no código como Out Interface
pid event.idm.read_only_udm.principal.process.pid
proto event.idm.read_only_udm.network.ip_protocol
gravidade, event.idm.read_only_udm.security_result.severity Se a gravidade for info ou debug, security_result.severity será INFORMATIONAL. Se a gravidade for warn, security_result.severity será MEDIUM
gravidade, event1.idm.read_only_udm.security_result.severity Se a gravidade for info ou debug, security_result.severity será INFORMATIONAL. Se a gravidade for warn, security_result.severity será MEDIUM
sid event.idm.read_only_udm.security_result.about.labels.value A chave está fixada no código como sid
src_host event.idm.read_only_udm.principal.hostname Quando process_type é dhcpd e dhcp_type é DHCPREQUEST, DHCPACK ou DHCPOFFER
src_host event.idm.read_only_udm.observer.hostname Quando process_type é dhcpd e dhcp_type é DHCPREQUEST
src_host event.idm.read_only_udm.network.dhcp.client_hostname Quando process_type é dhcpd e dhcp_type é DHCPACK ou DHCPOFFER
src_ip event.idm.read_only_udm.network.dhcp.ciaddr Quando process_type é dhcpd e dhcp_type é DHCPREQUEST
src_ip event.idm.read_only_udm.network.dhcp.yiaddr Quando process_type é dhcpd e dhcp_type é DHCPACK, DHCPOFFER ou DHCPNAK
src_ip event.idm.read_only_udm.principal.ip Quando process_type é dhcpd e dhcp_type é DHCPREQUEST, DHCPACK, DHCPOFFER ou DHCPNAK
src_ip event.idm.read_only_udm.observer.ip Quando process_type é dhcpd e dhcp_type é DHCPREQUEST, DHCPACK ou DHCPOFFER
src_mac event.idm.read_only_udm.network.dhcp.chaddr Quando process_type é dhcpd e dhcp_type é DHCPREQUEST, DHCPACK, DHCPOFFER ou DHCPNAK
src_mac event.idm.read_only_udm.principal.mac Quando process_type é dhcpd e dhcp_type é DHCPREQUEST, DHCPACK, DHCPOFFER ou DHCPNAK
srcip event.idm.read_only_udm.principal.ip
srcip event1.idm.read_only_udm.principal.ip
srcmac event.idm.read_only_udm.principal.mac
srcport event.idm.read_only_udm.principal.port
o Pub/Sub. event.idm.read_only_udm.metadata.description
o Pub/Sub. event1.idm.read_only_udm.metadata.description
tcpflags event.idm.read_only_udm.security_result.about.labels.value A chave está fixada no código como TCP Flags
usuário event.idm.read_only_udm.principal.user.userid
usuário event1.idm.read_only_udm.principal.user.userid
event.idm.read_only_udm.metadata.event_type GENERIC_EVENT se nenhum outro event_type estiver definido. NETWORK_CONNECTION se srcip e dstip não estiverem vazios. RESOURCE_WRITTEN se o nome for object changed. NETWORK_DHCP se process_type for dhcpd
event.idm.read_only_udm.metadata.log_type Fixado no código como SOPHOS_DHCP
event.idm.read_only_udm.metadata.product_name Fixado no código como SOPHOS_DHCP
event.idm.read_only_udm.metadata.vendor_name Fixado no código como SOPHOS
event.idm.read_only_udm.network.application_protocol Fixado no código como DHCP quando process_type é dhcpd
event.idm.read_only_udm.network.dhcp.opcode Fixado no código como BOOTREQUEST quando process_type é dhcpd e dhcp_type é DHCPREQUEST. Fixado no código como BOOTREPLY quando process_type é dhcpd e dhcp_type é DHCPACK, DHCPOFFER ou DHCPNAK
event.idm.read_only_udm.network.dhcp.type REQUEST quando process_type é dhcpd e dhcp_type é DHCPREQUEST. ACK quando process_type é dhcpd e dhcp_type é DHCPACK. OFFER quando process_type é dhcpd e dhcp_type é DHCPOFFER. NAK quando process_type é dhcpd e dhcp_type é DHCPNAK
event1.idm.read_only_udm.metadata.event_type Fixado no código como GENERIC_EVENT
event1.idm.read_only_udm.metadata.log_type Fixado no código como SOPHOS_DHCP
event1.idm.read_only_udm.metadata.product_name Fixado no código como SOPHOS_DHCP
event1.idm.read_only_udm.metadata.vendor_name Fixado no código como SOPHOS

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.