Recolha registos do comutador Brocade
Este analisador extrai campos dos registos do comutador Brocade através de padrões grok que correspondem a vários formatos de registos. Em seguida, mapeia estes campos extraídos para campos UDM, processando diferentes estruturas de registos e enriquecendo os dados com metadados, como informações do fornecedor e do produto. O analisador também realiza transformações de dados, como a conversão de níveis de gravidade e o processamento de mensagens repetidas, antes de gerar o resultado final do UDM.
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 acesso de administrador da CLI ao comutador Brocade.
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento.
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
- Para a instalação do Windows, execute o seguinte script:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Para a instalação do Linux, execute o seguinte script:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Pode encontrar opções de instalação adicionais neste guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
- Aceda à máquina onde o Bindplane está instalado.
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: Brocade_Switch raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Reinicie o agente do Bindplane para aplicar as alterações:
sudo systemctl restart bindplane
Configure a exportação de Syslog a partir de um comutador Brocade
- Ligue-se ao comutador Brocade através de SSH ou Telnet com as credenciais adequadas.
Execute o seguinte comando para especificar o endereço IP ou o nome de anfitrião e a Porta do servidor syslog (Bindplane):
syslogadmin --set -ip <IP> -port <Port>
Por exemplo:
syslogadmin --set -ip 10.10.10.10 -port 54525
Execute o seguinte comando para apresentar os servidores syslog configurados:
syslogadmin --show -ip
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
application |
additional.fields[].key : "application"additional.fields[].value.string_value : |
Valor extraído do campo application@1588 no registo não processado quando o campo KV_DATA existe. |
class |
additional.fields[].key : "class"additional.fields[].value.string_value : |
Valor extraído do campo class@1588 no registo não processado quando o campo KV_DATA existe. |
domain |
principal.administrative_domain |
Valor extraído do padrão grok que corresponde ao campo domain . |
Event |
additional.fields[].key : "event_category"additional.fields[].value.string_value : |
Valor extraído do campo arg0@1588 no registo não processado quando o campo KV_DATA existe. |
event_id |
metadata.product_log_id |
Valor extraído do padrão grok que corresponde ao campo event_id . |
event_type |
metadata.product_event_type |
Valor extraído do padrão grok que corresponde ao campo event_type . |
flags |
additional.fields[].key : "flags"additional.fields[].value.string_value : |
Valor extraído do padrão grok que corresponde ao campo flags . |
Info |
metadata.description |
Valor extraído do campo Info , analisado através do grok. |
interface |
app_protocol_src |
Valor extraído do campo interface@1588 no registo não processado quando o campo KV_DATA existe. Usado para derivar network.application_protocol . |
ip |
principal.ip |
Valor extraído do campo ip , analisado através do grok. É unida em principal.ip se não for igual ao IP extraído do campo Info . |
Info , IP Addr |
principal.ip |
Valor extraído do campo IP Addr no campo Info , analisado através do grok. |
log |
additional.fields[].key : "log"additional.fields[].value.string_value : |
Valor extraído do campo log@1588 no registo não processado quando o campo KV_DATA existe. |
msg |
metadata.description |
Valor extraído do campo msg , analisado através do grok. |
msgid |
additional.fields[].key : "msgid"additional.fields[].value.string_value : |
Valor extraído do campo msgid@1588 no registo não processado quando o campo KV_DATA existe. |
prin_host |
principal.hostname principal.asset.hostname |
Valor extraído do padrão grok que corresponde ao campo prin_host . |
product_version |
metadata.product_version |
Valor extraído do padrão grok que corresponde ao campo product_version . |
repeat_count |
additional.fields[].key : "repeat_count"additional.fields[].value.string_value : |
Valor extraído do campo msg , analisado através do grok. |
role , user_role |
principal.user.attribute.roles[].name |
Valor extraído do campo role@1588 ou user_role . Se o valor for "admin", é substituído por "Admin". |
sequence_number |
additional.fields[].key : "sequence_number"additional.fields[].value.string_value : |
Valor extraído do padrão grok que corresponde ao campo sequence_number . |
severity |
security_result.severity |
Valor extraído do campo severity , analisado através do grok. Mapeado para valores de gravidade da UDM (INFORMATIONAL, ERROR, CRITICAL, MEDIUM). |
Status |
security_result.summary |
Valor extraído do campo Status . |
switch_name |
additional.fields[].key : "switch_name"additional.fields[].value.string_value : |
Valor extraído do padrão grok que corresponde ao campo switch_name . |
target_application |
target.application |
Valor extraído do padrão grok que corresponde ao campo target_application . |
time |
additional.fields[].key : "time"additional.fields[].value.string_value : |
Valor extraído do campo time no campo kv_data3 . |
timestamp |
metadata.event_timestamp.seconds |
Valor extraído do campo timestamp , analisado através do filtro de data. |
user |
principal.user.userid principal.user.user_display_name |
Valor extraído do campo user ou user@1588 , analisado através do grok. Copiado de principal.hostname . Copiado de principal.ip . Copiado de metadata.product_event_type ou definido como "STATUS_UPDATE" com base nas condições. Copiado do create_time.nanos do registo. Determinado pela lógica do analisador com base nos valores de has_principal , has_target , has_userid e event_type . Pode ser "SYSTEM_AUDIT_LOG_UNCATEGORIZED", "STATUS_UPDATE" ou "GENERIC_EVENT". Codificado de forma rígida para "BROCADE_SWITCH". Codificado de forma rígida como "BROCADE". Codificado de forma rígida para "BROCADE_SWITCH". Derivado do campo interface ou definido como "SSH" se o campo interface contiver "SSH". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.