Recolha registos de comutadores da Extreme Networks

Compatível com:

Este documento explica como carregar registos de comutadores da Extreme Networks para o Google Security Operations através do Bindplane. O analisador extrai campos das mensagens syslog através de padrões grok e lógica condicional. Mapeia os campos extraídos para o GDU, processando eventos de início de sessão, atualizações de estado e eventos genéricos, enriquecendo os dados com contexto adicional, como protocolo, VLAN e funções do utilizador.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, certifique-se de que as portas da firewall estão abertas
  • Acesso privilegiado ao dispositivo de comutação da Extreme Networks

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 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

Instale o agente do Bindplane no seu sistema operativo Windows ou Linux de acordo com as seguintes instruções.

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

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

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:
        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: 'EXTREME_SWITCH'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

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

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Syslog para o comutador de redes Extreme

  1. Inicie sessão no comutador através da CLI ou da consola.
  2. Introduza o comando configure para aceder ao nível de configuração global:

    device# configure terminal
    
  3. Introduza o comando do endereço IP do servidor syslog para adicionar um servidor syslog:

    • Substitua <bindplane-ip> pelo endereço IP real do agente do Bindplane.
    logging syslog-server <bindplane_ip>
    
  4. Introduza o comando de formato para configurar o formato RFC-5424 para mensagens:

    format RFC-5424
    

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
account_type target.user.user_role Se account_type for "Administrativo" ou "admin", defina como "ADMINISTRATOR". Caso contrário, mapeie para target.user.attribute.roles.name.
application target.application Mapeado diretamente.
attr additional.fields Analisado para extrair o WWN e criar um par de chave-valor com a chave "wwn" e o WWN extraído como o valor de string.
class additional.fields Cria um par de chave-valor com a chave "class" e o valor do campo class como o valor da string.
Cause additional.fields Cria um par de chave-valor com a chave "Cause" e o valor do campo Cause como valor de string. É criado um objeto vazio se não estiverem presentes campos de autorização específicos.
Info security_result.summary Mapeado diretamente.
interface additional.fields Cria um par de chave-valor com a chave "interface" e o valor do campo interface como valor de string.
ip principal.ip Mapeado diretamente.
intermediary_ip intermediary.ip Mapeado diretamente.
kv_data Vários Usado para extrair pares de chave/valor e mapeá-los para diferentes campos do UDM com base na chave. Por exemplo, VrIpAddr está mapeado para intermediary.ip, IP e Addr estão mapeados para principal.ip, SlppRxPort está mapeado para principal.port e vários campos rc* estão mapeados para security_result.detection_fields.
log_data Vários Analisados para extrair informações sobre inícios de sessão, fins de sessão e outros eventos de utilizadores. Usado para preencher campos como principal.ip, principal.resource.name, target.user.userid, target.application, security_result.summary, security_result.description e metadata.description.
log_type additional.fields Cria um par de chave-valor com a chave "log" e o valor do campo log_type como o valor da string.
message Vários A mensagem de registo original. Analisado para extrair vários campos. A data/hora é extraída do campo timestamp (se estiver presente e no formato "aaaa-mm-ddTHH:mm:ss") ou do campo message através de padrões grok. Se for extraída do campo de mensagem, é a indicação de tempo na própria mensagem de registo. Determinado com base na presença dos sinalizadores has_principal, has_target, user_login e user_logout. Pode ser "USER_LOGIN", "USER_LOGOUT", "STATUS_UPDATE" ou "GENERIC_EVENT". Mapeado a partir do campo msgid. Valor estático: "EXTREME_SWITCH". Mapeado a partir do campo ver. Valor estático: "EXTREME_SWITCH".
msgid metadata.product_log_id Mapeado diretamente.
port principal.port Mapeado diretamente e convertido num número inteiro.
protocol additional.fields Cria um par de chave-valor com a chave "Protocol" e o valor do campo protocol como o valor da string.
rcPortVLacpAdminEnable security_result.detection_fields Cria um par de chave-valor com a chave "rcPortVLacpAdminEnable" e o respetivo valor.
rcSyslogHostAddress principal.hostname Mapeado diretamente.
rcSyslogHostAddressType security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostAddressType" e o respetivo valor.
rcSyslogHostEnable security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostEnable" e o respetivo valor.
rcSyslogHostFacility security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostFacility" e o respetivo valor.
rcSyslogHostMapErrorSeverity security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostMapErrorSeverity" e o respetivo valor.
rcSyslogHostMapFatalSeverity security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostMapFatalSeverity" e o respetivo valor.
rcSyslogHostMapInfoSeverity security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostMapInfoSeverity" e o respetivo valor.
rcSyslogHostMapWarningSeverity security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostMapWarningSeverity" e o respetivo valor.
rcSyslogHostRowStatus security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostRowStatus" e o respetivo valor.
rcSyslogHostSeverity security_result.detection_fields Cria um par de chave-valor com a chave "rcSyslogHostSeverity" e o respetivo valor.
resource principal.resource.name Mapeado diretamente.
sec_description security_result.description Mapeado diretamente.
seqnum additional.fields Cria um par de chave-valor com a chave "seqnum" e o valor do campo seqnum como valor de string.
session_id network.session_id Mapeado diretamente.
severity security_result.severity Mapeado com conversão: "CRITICAL", "ERROR" e "HIGH" são mapeados diretamente; "INFO" é mapeado para "INFORMATIONAL"; "WARNING" é mapeado para "MEDIUM"; "LOW", "MEDIUM" e "INFORMATIONAL" são mapeados diretamente.
SlppIncomingVlanId additional.fields Cria um par de chave-valor com a chave "SlppIncomingVlanId" e o valor do campo SlppIncomingVlanId como o valor da string.
SlppRxVlan additional.fields Cria um par de chave-valor com a chave "SlppRxVlan" e o valor do campo SlppRxVlan como o valor da string.
SlppSrcMacAddress principal.mac Mapeado diretamente.
Status additional.fields Cria um par de chave-valor com a chave "Estado" e o valor do campo Status como o valor da string.
swname additional.fields Cria um par de chave-valor com a chave "swname" e o valor do campo swname como o valor da string.
timestamp metadata.event_timestamp Analisado e convertido num objeto de data/hora.
tz additional.fields Cria um par de chave-valor com a chave "tz" e o valor do campo tz como o valor da string.
Type additional.fields Cria um par de chave-valor com a chave "Type" e o valor do campo Type como o valor da string.
username target.user.userid Mapeado diretamente.
ver metadata.product_version Mapeado diretamente.
VrId additional.fields Cria um par de chave-valor com a chave "VrId" e o valor do campo VrId como o valor da string.

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