Raccogli i log di Brocade ServerIron

Supportato in:

Questo parser estrae i campi dai messaggi syslog di Brocade ServerIron utilizzando la corrispondenza delle espressioni regolari e li mappa al modello di dati unificato (UDM). Gestisce vari formati di log, tra cui lo stato della rete, l'autenticazione utente e gli eventi di sicurezza. Il parser esegue le conversioni e l'arricchimento dei tipi di dati, se necessario.

Prima di iniziare

  • Assicurati di avere un'istanza Google Security Operations.
  • Assicurati di utilizzare Windows 2016 o versioni successive o un host Linux con systemd.
  • Se il servizio è in esecuzione dietro un proxy, assicurati che le porte del firewall siano aperte.
  • Assicurati di disporre dell'accesso privilegiato all'istanza Brocade ServerIron.

Recupera il file di autenticazione di importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'importazione.

Ottenere l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa BindPlane Agent

  1. Per l'installazione su Windows, esegui il seguente script:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Per l'installazione di Linux, esegui il seguente script:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.

Configurare l'agente BindPlane per importare i dati Syslog e inviarli a Google SecOps

  1. Accedi al computer su cui è installato BindPlane.
  2. Modifica il file config.yaml come segue:

    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: Brocade_ServerIron
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Riavvia l'agente BindPlane per applicare le modifiche:

    sudo systemctl restart bindplane
    

Configurare l'esportazione di Syslog da Brocade ServerIron ADX

  1. Accedi al dispositivo ADX e accedi alla modalità di configurazione globale:

    enable
    configure terminal
    
  2. Attiva il logging Syslog:

    logging on
    
  3. Specifica l'indirizzo IP o il nome host e la porta del server syslog, incluso il protocollo desiderato (Bindplane):

    logging host <syslog-server-ip> [udp | tcp] port <port-number>
    

    Esempio per TCP sulla porta 54525:

      logging host 10.10.10.10 tcp port 54525
    
  4. (Facoltativo) Imposta il Facility Syslog (da local0 a local7):

    logging facility local0
    
  5. Definisci il livello di gravità minimo dei log da inviare al server syslog:

    logging trap <severity-level>
    
  6. Salva la configurazione:

    write memory
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
%{GREEDYDATA} metadata.description Il campo %{GREEDYDATA} viene mappato a metadata.description quando corrisponde al pattern "-- %{GREEDYDATA} --".
%{GREEDYDATA:auth_result} security_result.description Il campo %{GREEDYDATA:auth_result} viene concatenato con il campo %{GREEDYDATA:desc} per formare security_result.description quando %{GREEDYDATA:desc} è presente.
%{GREEDYDATA:desc} security_result.description Il campo %{GREEDYDATA:desc} viene utilizzato per compilare il campo security_result.description. Può essere concatenato con altri campi a seconda del formato del log non elaborato.
%{GREEDYDATA:login_to} security_result.description Il campo %{GREEDYDATA:login_to} viene concatenato con il campo %{GREEDYDATA:desc} per formare la descrizione security_result quando %{GREEDYDATA:desc} è presente.
%{GREEDYDATA:user} target.user.userid Il campo %{GREEDYDATA:user} è mappato a target.user.userid.
%{HOST:principal_host} principal.hostname Il campo %{HOST:principal_host} è mappato a principal.hostname.
%{HOST:target_host} target.hostname Il campo %{HOST:target_host} è mappato a target.hostname.
%{INT:http_port} additional.fields.value.string_value Il campo %{INT:http_port} è mappato a additional.fields.value.string_value con chiave "Porta HTTP".
%{INT:target_port} target.port Il campo %{INT:target_port} viene mappato a target.port e convertito in un numero intero.
%{INT:telnet_port} additional.fields.value.string_value Il campo %{INT:telnet_port} è mappato a additional.fields.value.string_value con chiave "Porta Telnet".
%{INT:tftp_port} additional.fields.value.string_value Il campo %{INT:tftp_port} è mappato a additional.fields.value.string_value con chiave "TFTP Port".
%{IP:principal_ip} principal.ip Il campo %{IP:principal_ip} è mappato a principal.ip.
%{IP:target_ip} target.ip Il campo %{IP:target_ip} è mappato a target.ip.
%{IPV4:principal_ip} principal.ip Il campo %{IPV4:principal_ip} è mappato a principal.ip.
%{IPV4:target_ip} target.ip Il campo %{IPV4:target_ip} è mappato a target.ip.
%{MAC:principal_mac} principal.mac Il campo %{MAC:principal_mac} viene mappato a principal.mac dopo la conversione nel formato [0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}.
%{USERNAME:target_host} target.hostname Il campo %{USERNAME:target_host} è mappato a target.hostname.
%{USERNAME:user} target.user.userid Il campo %{USERNAME:user} è mappato a target.user.userid.
%{WORD:auth_result} security_result.description Il campo %{WORD:auth_result} viene concatenato con il campo %{GREEDYDATA:desc} per formare security_result.description quando %{GREEDYDATA:desc} è presente.
%{WORD:proto} network.application_protocol Il campo %{WORD:proto} viene mappato a network.application_protocol quando il relativo valore è "SSH".
timestamp metadata.event_timestamp Il campo timestamp viene analizzato dai dati non elaborati dei log utilizzando un pattern Grok e convertito in un oggetto timestamp.
extensions.auth.type Il valore viene impostato su "MACCHINA" se il campo proto non è vuoto e il campo auth_action è "logout" o "login".
metadata.description Il campo viene compilato con il valore del campo "metadata_description", se non è vuoto.
metadata.event_type Il campo viene compilato in base ai valori di altri campi utilizzando la logica condizionale:
- STATUS_STARTUP: se target_port_status è "up".
- STATUS_SHUTDOWN: se lo stato della porta di destinazione è "down".
- USER_LOGOUT: se proto non è vuoto e auth_action è "logout".
- USER_LOGIN: se proto non è vuoto e auth_action è "login".
- STATUS_UPDATE: se metadata_description corrisponde a "state changed".
- GENERIC_EVENT: se nessuna delle condizioni precedenti è soddisfatta.
metadata.log_type Il valore è hardcoded in "BROCADE_SERVERIRON".
metadata.product_name Il valore è hardcoded su "ServerIron".
metadata.vendor_name Il valore è hardcoded su "Brocade".
security_result.action Il valore è impostato su "BLOCK" se il campo desc contiene "fail" o se il campo auth_result contiene "fail" o "rejected".

Modifiche

2022-01-13

  • Analizzatore appena aggiunto.