Coletar registros do roteador Cisco
Este documento explica como transferir os registros do Cisco Router para o Google Security Operations usando um agente do Bindplane. O analisador primeiro extrai campos comuns de vários formatos de mensagem do syslog usando uma série de padrões Grok, processando diferentes variações de carimbo de data/hora e dados de chave-valor. Em seguida, ela aplica uma lógica específica com base no tipo de evento extraído (facilidade, mnemônicos, message_type), enriquecendo os dados com campos adicionais e mapeando-os para o modelo do UDM.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado a um roteador Cisco.
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança no sistema em que o BindPlane será instalado.
Receber o ID de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
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 este guia de instalação.
Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele está 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 Notepad).
- Localize o arquivo
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: '/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 ingestion_labels: log_type: CISCO_ROUTER raw_log_field: body 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 real do cliente.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber o arquivo de autenticação de transferência do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, use o console Services ou digite o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog em um roteador Cisco
- Faça login no roteador Cisco.
Amplie os privilégios inserindo o comando
enable
:Switch> enable Switch#
Mude para o modo de configuração digitando o comando
conf t
:Switch# conf t Switch(config)#
Digite os seguintes comandos:
logging host <bindplane-server-ip> transport <tcp/udp> port <port-number> logging source-interface <interface>
- Substitua
<bindplane-server-ip>
pelo endereço IP do agente do Bindplane e<port-number>
pela porta configurada. - Substitua
<tcp/udp>
pelo protocolo de detecção configurado no agente do Bindplane, por exemplo,udp
. - Substitua
<interface>
pelo ID da interface da Cisco, por exemplo,Ethernet1/1
.
- Substitua
Defina o nível de prioridade digitando o seguinte comando:
logging trap Informational logging console Informational logging severity Informational
Defina a facilidade syslog:
logging facility local6
Ative as marcas de tempo digitando o seguinte comando:
service timestamps log datetime
Salve e saia.
Configure as configurações para sobreviver à reinicialização digitando o seguinte comando:
copy running-config startup-config
Tabela de mapeamento do UDM
Campo de registro | Mapeamento de UDM | Lógica |
---|---|---|
client_ip |
target.ip e target.asset.ip | O valor é extraído do campo client_ip pelo analisador grok. |
client_mac |
target.mac | O valor é extraído do campo client_mac pelo analisador grok. |
dst_ip |
target.ip e target.asset.ip | O valor é extraído do campo dst_ip pelo analisador grok. |
dst_port |
target.port | O valor é extraído do campo dst_port e convertido em um número inteiro pelo analisador grok. |
duration |
- | Este campo não está mapeado para o UDM. |
host_ip |
target.ip e target.asset.ip | O valor é extraído do campo host_ip pelo analisador grok. |
local_proxy |
intermediary.ip | O valor é extraído do campo local_proxy pelo analisador grok. |
message_data |
metadata.description | O valor é extraído do campo message_data pelo analisador grok. |
protocol |
network.ip_protocol | O valor é extraído do campo protocol , convertido em letras maiúsculas e analisado pelo analisador grok. |
received_bytes |
network.received_bytes | O valor é retirado do campo received_bytes extraído pelo analisador grok e convertido em um número inteiro sem sinal. |
referral_url |
network.http.referral_url | O valor é extraído do campo referral_url pelo analisador grok. |
remote_proxy |
intermediary.ip | O valor é extraído do campo remote_proxy pelo analisador grok. |
send_bytes |
network.sent_bytes | O valor é retirado do campo send_bytes extraído pelo analisador grok e convertido em um número inteiro sem sinal. |
sent_bytes |
network.sent_bytes | O valor é retirado do campo sent_bytes extraído pelo analisador grok e convertido em um número inteiro sem sinal. |
server_host |
target.hostname, target.asset.hostname | O valor é extraído do campo server_host pelo analisador grok. |
server_ip |
target.ip e target.asset.ip | O valor é extraído do campo server_ip pelo analisador grok. |
src_ip |
principal.ip, principal.asset.ip | O valor é extraído do campo src_ip pelo analisador grok. |
src_port |
principal.port | O valor é extraído do campo src_port e convertido em um número inteiro pelo analisador grok. |
user_ip |
target.ip e target.asset.ip | O valor é extraído do campo user_ip pelo analisador grok. |
user_mail |
principal.user.userid, principal.user.email_addresses | O valor é extraído do campo user_mail pelo analisador grok. |
username |
target.user.userid | O valor é extraído do campo username pelo analisador grok. |
- | is_alert | O valor é definido como true por padrão. |
- | is_significant | O valor é definido como true por padrão. |
- | metadata.event_timestamp | O valor é retirado do campo create_time . |
- | metadata.event_type | O valor é definido como GENERIC_EVENT por padrão e muda para tipos de eventos específicos com base na mensagem de registro analisada. |
- | metadata.log_type | O valor é definido como CISCO_ROUTER . |
- | metadata.product_event_type | O valor é retirado do campo message_type , que é gerado pela combinação dos campos facility , priority e mnemonics . |
- | metadata.product_name | O valor é definido como Router . |
- | metadata.vendor_name | O valor é definido como Cisco . |
- | network.application_protocol | O valor é definido como HTTP ou HTTPS se o campo protocol for http ou https , respectivamente. |
- | extensions.auth.type | O valor é definido como AUTHTYPE_UNSPECIFIED por padrão e mudado para tipos de autenticação específicos com base na mensagem de registro analisada. |
- | security_result.action | O valor é definido como ALLOW para logins bem-sucedidos e BLOCK para logins com falha. |
- | security_result.category | O valor é definido como NETWORK_SUSPICIOUS para eventos com opções de IP e AUTH_VIOLATION para logins com falha. |
- | security_result.description | O valor é definido como mensagens específicas para eventos diferentes. |
- | security_result.severity | O valor é definido como LOW para logins bem-sucedidos, MEDIUM para logins com falha e INFORMATIONAL para outros eventos. |
- | security_result.severity_details | O valor é retirado do campo fail_reason para logins com falha e definido como Informational message para eventos com opções de IP. |
- | security_result.summary | O valor é definido como mensagens específicas para eventos diferentes. |
Alterações
2024-12-12
Melhoria:
intermediary_host
foi mapeado paraintermediary.hostname
.
2024-12-05
Melhoria:
- Foi adicionado um padrão Grok para oferecer suporte a um novo padrão de registros syslog.
srcip
foi mapeado paraprincipal.ip
.
2024-10-30
Melhoria:
- Adição de suporte a
metadata.event_timestamp
no fuso horárioBST
2024-10-15
Melhoria:
inter_hostname
foi mapeado comointermediary.ip
eintermediary_host
comointermediary.hostname
.
2024-09-12
Melhoria:
- Adicionamos um padrão Grok para mapear
int_ip
paraintermediary.hostname
.
2024-06-26
Melhoria:
- Foi adicionado um novo padrão Grok para analisar um novo formato de registros SYSLOG.
2024-06-09
Melhoria:
- O
hostname
foi mapeado do cabeçalho do syslog paraintermediary.hostname
.
2024-05-20
Melhoria:
- Foi adicionado um novo padrão Grok para analisar um novo formato de registros SYSLOG.
- Mapeamento de
MessageSourceAddress
paraprincipal.ip
eprincipal.asset.ip
. - Mapeamento de
SourceModuleName
eSourceModuleType
paraprincipal.resource.attribute.labels
.
2023-11-10
Melhoria:
- Foram adicionados novos padrões Grok para analisar logs SYSLOG com falhas.
- As condições
Unable
,exceeded
eNo space left on device
foram adicionadas aAUTH_VIOLATION
2023-10-30
Melhoria:
- Foram adicionados novos padrões Grok para analisar logs de syslog com falhas.
resourcename
foi mapeado paraprincipal.resource.name
.app_protocol
foi mapeado paranetwork.application.protocol
.app
foi mapeado paratarget.application
.source_port
foi mapeado paraprincipal.port
.source_ip
foi mapeado paraprincipal.ip
.device_ip
foi mapeado paratarget.ip
.username
foi mapeado paratarget.user.userid
.intermediary_ip
foi mapeado paraintermediary.ip
.mnemonics
foi mapeado parametadata.event_type
.sec_action
foi mapeado parasecurity_result.action
.sec_category
security_result.category
mapeados.sec_summary
foi mapeado parasecurity_result.summary
.- Para registros de tipo de autenticação, defina
metadata.event_type
comoUSER_LOGIN
.
2023-05-09
Melhoria:
- Os registros com o valor
FMANFP-6-IPACCESSLOGP
são analisados como eventosNETWORK_CONNECTION
.
2022-12-02
Melhoria:
- O grok foi adicionado para oferecer suporte a registros Syslog não analisados.
- Se
principal.hostname
mudou o mapeamento de event_type de GENERIC_EVENT para STATUS_UPDATE.
2022-11-10
Melhoria:
- Foi adicionado suporte aos registros de eventos SYS-5-CONFIG_I.
- O grok foi modificado para oferecer suporte a registros com fuso horário.
2022-10-27
Melhoria:
- Analisar os seguintes campos do syslog do tipo de registro IOSXE-6-PLATFORM
- Mapeou
ip
paraintermediary.ip
- Mapeou
src_ip
paraprincipal.ip
- Mapeou
src_port
paraprincipal.port
- Mapeou
dst_ip
paratarget.ip
- Mapeou
dst_port
paratarget.port
- Mapeou
protocol
paranetwork.ip_protocol
- Mapeou
facility
paraprincipal.resource.type
- Mapeou
mnemonics
parametadata.product_event_type
- Mapeou
sc_summary
parametadata.description
- Mapeou
sr_action
parasecurity_result.action
- Mapeou
summary
parasecurity_result.summary
2022-08-23
Melhoria:
- Mapeamento corrigido do IP principal e de destino
- Mapeou
target_ip
paraevent.idm.read_only_udm.target.ip
- Mapeou
src_ip
paraevent.idm.read_only_udm.principal.asset.ip
2022-07-01
Melhoria:
- Foi corrigido um erro para analisar registros que contêm product_event_type como SYS-3-LOGGINGHOST_FAIL,SEC_LOGIN-5-LOGIN_SUCCESS,SYS-6-LOGGINGHOST_STARTSTOP,SYS-6-LOGOUT e o carimbo de data/hora não está presente.
- O metadata.event_type dos registros SYS-3-LOGGINGHOST_FAIL foi alterado para STATUS_UPDATE de GENERIC_EVENT.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.