Recolha registos de comutadores Dell

Compatível com:

Este analisador extrai registos de comutadores Dell, normaliza as datas/horas e usa padrões grok para estruturar a mensagem de registo em pares de chave/valor. Em seguida, mapeia estes campos extraídos para o modelo de dados unificado (UDM), processando vários formatos de registo e enriquecendo os dados com informações contextuais, como detalhes dos recursos e gravidade da segurança.

Antes de começar

  • Certifique-se de que tem uma instância do Google Security Operations.
  • Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com systemd.
  • Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
  • Certifique-se de que tem uma ligação ativa e credenciais administrativas para um comutador Dell.

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o agente do Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 raiz ou sudo.
  2. Execute o seguinte comando:

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

Recursos de instalação adicionais

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:

    • Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro config.yaml da seguinte forma:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: sell_switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID de cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.

Reinicie o agente do Bindplane para aplicar as alterações

  • No Linux, para reiniciar o agente Bindplane, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • No Windows, para reiniciar o agente Bindplane, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure a exportação do Syslog a partir de um comutador Dell

  1. Ligue-se ao comutador Dell através de SSH ou da porta da consola.
  2. Inicie sessão com credenciais administrativas.
  3. Use o seguinte comando para especificar o endereço IP ou o nome de anfitrião do servidor syslog (substitua <syslog_server_ip>, <udp|tcp> e <syslog-port-number> pelos detalhes reais):

    logging host <syslog-server-ip> transport <udp|tcp> port <syslog-port-number>
    
  4. Opcional: defina o nível de gravidade mínimo para as mensagens a enviar para o servidor syslog. Por exemplo, para registar mensagens informativas e superiores:

    logging level informational
    
  5. Guarde a configuração em execução na configuração de arranque para garantir que as alterações persistem nos reinícios:

    copy running-config startup-config
    
  6. Guarde a configuração:

    write memory
    

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
acct principal.user.userid Usado como userid se o campo user não estiver presente.
addr principal.asset.ip, principal.ip Analisado como um endereço IP e usado para o IP principal e o IP do recurso se for um IP válido e diferente do nome do anfitrião.
application principal.application Mapeado diretamente.
asset principal.asset.attribute.labels.value Mapeado diretamente para o valor da etiqueta de recurso, com a chave codificada como "Nome do recurso". Se o campo do recurso estiver vazio e a mensagem contiver "Dell", o recurso é definido como "Dell".
auid principal.resource.attribute.labels.value Mapeado diretamente para uma etiqueta com a chave auid em principal.resource.attribute.labels.
datetime metadata.event_timestamp Analisado a partir de vários formatos no campo de mensagem e convertido num formato de data/hora.
dest_ip target.asset.ip, target.ip Mapeado para o IP de destino e o IP do recurso de destino.
enterpriseId principal.resource.attribute.labels.value Mapeado para uma etiqueta com a chave enterpriseId em principal.resource.attribute.labels.
exe sec_result.detection_fields.value Mapeado com um campo de deteção com a chave exe.
File target.file.full_path Mapeado diretamente.
grantors principal.resource.attribute.labels.value Mapeado para uma etiqueta com a chave grantors em principal.resource.attribute.labels.
host principal.hostname, principal.asset.hostname, metadata.event_type Usado como nome do anfitrião principal e nome do anfitrião do recurso. Se host estiver presente, metadata.event_type é definido como STATUS_UPDATE. Se o nome do anfitrião estiver presente, mas o anfitrião não, o nome do anfitrião é usado como anfitrião.
hostname principal.asset.ip, principal.ip, host Se for um IP válido, usado para o IP principal e o IP do recurso. Se host estiver vazio, é usado como host.
ID principal.resource.attribute.labels.value Mapeado para uma etiqueta com a chave ID em principal.resource.attribute.labels.
ip principal.asset.ip, principal.ip Mapeado para o IP principal e o IP do recurso.
is_synced sec_result.detection_fields.value Mapeado com um campo de deteção com a chave is_synced.
local target.asset.ip, target.ip, target.port Analisado para extrair o IP e a porta locais, mapeados para o IP de destino, o IP do recurso de destino e a porta de destino.
local_ip target.asset.ip, target.ip Extraído do campo local e mapeado para o IP de destino e o IP do recurso de destino.
local_port target.port Extraído do campo local e mapeado para a porta de destino.
mac principal.mac Se for um endereço MAC válido, é mapeado para o endereço MAC principal.
msg metadata.description Usado como descrição do evento, se estiver presente. Também analisado para campos adicionais.
msg1 metadata.description Usado como descrição do evento se msg2 não estiver presente.
msg2 sec_result.description, metadata.event_type, extensions.auth.type Usado como descrição do resultado de segurança. Se contiver "opened for user", o tipo de evento é definido como USER_LOGIN e o tipo de autorização como MACHINE. Se contiver "closed for user", o tipo de evento é definido como USER_LOGOUT e o tipo de autorização como MACHINE.
op metadata.product_event_type Usado como tipo de evento do produto, se estiver presente.
pid principal.process.pid Mapeado diretamente.
port principal.port Mapeado diretamente.
prod_event_type metadata.product_event_type Usado como tipo de evento do produto, se estiver presente.
res sec_result.summary Mapeado diretamente.
sec_description sec_result.description, target.url, target.ip, target.asset.ip, sec_result.action_details Analisado para o URL de destino, o IP, os detalhes da ação e usado como descrição do resultado de segurança.
Server_ID target.resource.product_object_id Mapeado diretamente.
server principal.asset.ip, principal.ip, principal.port Analisado para extrair o IP e a porta do servidor, mapeado para o IP principal, o IP do recurso principal e a porta principal.
server_ip principal.asset.ip, principal.ip Extraído do campo server e mapeado para o IP principal e o IP do recurso principal.
server_port principal.port Extraído do campo server e mapeado para a porta principal.
ses network.session_id Mapeado diretamente.
severity sec_result.severity, metadata.product_event_type Usado para determinar a gravidade do resultado de segurança e o tipo de evento do produto com base em valores específicos.
software principal.asset.software Mapeado diretamente.
softwareName software.name Mapeado diretamente.
Status sec_result.summary Usado como o resumo do resultado de segurança se res não estiver presente.
subj principal.resource.attribute.labels.value Mapeado para uma etiqueta com a chave subj em principal.resource.attribute.labels.
swVersion software.version Mapeado diretamente.
target_host target.hostname, target.asset.hostname Mapeado diretamente para o nome do anfitrião de destino e o nome do anfitrião do recurso de destino.
target_ip target.asset.ip, target.ip Mapeado diretamente para o IP de destino e o IP do recurso de destino.
target_url target.url Mapeado diretamente.
target_user_id target.user.userid Mapeado diretamente.
terminal principal.resource.attribute.labels.value Mapeado para uma etiqueta com a chave terminal em principal.resource.attribute.labels.
tzknown sec_result.detection_fields.value Mapeado com um campo de deteção com a chave tzknown.
uid principal.resource.attribute.labels.value Mapeado para uma etiqueta com a chave uid em principal.resource.attribute.labels.
user principal.user.userid, metadata.event_type Usado como ID do utilizador principal. Se user estiver presente, metadata.event_type é definido como USER_UNCATEGORIZED.
username target.user.userid Mapeado diretamente para o ID do utilizador de destino.
N/A metadata.vendor_name Codificado de forma rígida para "Dell".
N/A metadata.product_name Codificado de forma rígida para "Dell Switch".
N/A extensions.auth.type Definido como MACHINE para eventos de início/fim de sessão específicos.
N/A metadata.event_type Determinado por uma lógica complexa com base em vários campos e condições, a predefinição é GENERIC_EVENT se não for definido de outra forma. Pode ser USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE ou GENERIC_EVENT.

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