Coletar registros do NetApp ONTAP
Este documento descreve como coletar os registros do NetApp ONTAP pelo Syslog. O analisador extrai campos de mensagens do syslog usando expressões regulares. Em seguida, ele mapeia os campos extraídos para os campos correspondentes do modelo de dados unificado (UDM, na sigla em inglês), convertendo os dados de registro brutos em um formato estruturado para análise de segurança.
Antes de começar
- Verifique se você tem uma instância do Google Security Operations.
- 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 administrativo ao cluster NetApp ONTAP.
- Verifique se o ONTAP pode se comunicar com o servidor Syslog (Bindplane).
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 BindPlane para ingerir 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 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: netapp_ontap 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 de cliente real.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 BindPlane para aplicar as mudanças.
No Linux, para reiniciar o agente BindPlane, execute o seguinte comando:
sudo systemctl restart bindplane-agent
No Windows, para reiniciar o agente BindPlane, use o console Services ou digite o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar um destino do Syslog no ONTAP
Acesse o cluster do ONTAP usando SSH e substitua
<ontap-cluster-ip>
pelo IP de gerenciamento do cluster do ONTAP:ssh admin@<ontap-cluster-ip>
Verifique os filtros e notificações de eventos existentes:
event filter show event notification show
Crie um destino do Syslog, substituindo
<syslog-server-ip>
e<syslog-server-port>
pelos detalhes do servidor do Syslog (Bindplane):event notification destination create -name syslog-ems -syslog <syslog-server-ip> -syslog-port <syslog-server-port> -syslog-transport udp-unencrypted
Outras opções para -syslog-transport:
- udp-unencrypted (padrão)
- tcp-unencrypted
- Criptografado por TCP (para TLS).
Verifique o destino do Syslog:
event notification destination show
Configurar filtros de eventos
Vincule os filtros padrão ao destino do Syslog:
event notification create -filter-name no-info-debug-events -destinations syslog-ems event notification create -filter-name default-trap-events -destinations syslog-ems
Opcional: criar e configurar filtros personalizados
Filtro de eventos de autenticação (logins/logouts): captura registros em que a descrição corresponde a "Fazer login" ou "Fazer logout":
event filter create -filter-name auth_events event filter rule add -filter-name auth_events -type include -message-name *login* -severity info event filter rule add -filter-name auth_events -type include -message-name *logout* -severity info
Filtro de campos de detecção de segurança: captura registros relacionados a nmsdk_language, nmsdk_platform, nmsdk_version e netapp_version:
event filter create -filter-name security_fields event filter rule add -filter-name security_fields -type include -message-name *nmsdk_language* -severity info event filter rule add -filter-name security_fields -type include -message-name *nmsdk_platform* -severity info event filter rule add -filter-name security_fields -type include -message-name *nmsdk_version* -severity info event filter rule add -filter-name security_fields -type include -message-name *netapp_version* -severity info
Filtro de registros com base na gravidade: captura registros em que a gravidade é informativa:
event filter create -filter-name severity_info event filter rule add -filter-name severity_info -type include -message-name * -severity info
Filtro de atividade de rede: captura registros com src_ip e src_port:
event filter create -filter-name network_activity event filter rule add -filter-name network_activity -type include -message-name *src_ip* -severity info event filter rule add -filter-name network_activity -type include -message-name *src_port* -severity info
Filtro de registros de destino do URL: captura registros com informações de URL:
event filter create -filter-name url_target event filter rule add -filter-name url_target -type include -message-name *url* -severity info
Aplique cada filtro ao destino do Syslog:
event notification create -filter-name auth_events -destinations syslog-ems event notification create -filter-name security_fields -destinations syslog-ems event notification create -filter-name severity_info -destinations syslog-ems event notification create -filter-name network_activity -destinations syslog-ems event notification create -filter-name url_target -destinations syslog-ems
Verifique as notificações:
event notification show
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
código | Não mapeado | |
description | metadata.description | Extraídos da mensagem de registro usando um padrão grok. Aparecer somente quando a descrição for "Sair" ou "Fazer login". |
intermediary_host | intermediary.hostname | Extraídos da mensagem de registro usando um padrão grok. |
nmsdk_language | security_result.detection_fields.value | Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_language". |
nmsdk_platform | security_result.detection_fields.value | Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_platform". |
nmsdk_version | security_result.detection_fields.value | Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_version". |
netapp_version | security_result.detection_fields.value | Extraídos da mensagem de registro usando um padrão grok. Esse valor é adicionado como um "valor" a um objeto detection_fields com "key" = "netapp_version". |
product_event_type | metadata.product_event_type | Extraídos da mensagem de registro usando um padrão grok. |
security_result.summary | security_result.summary | Extraídos da mensagem de registro usando um padrão grok. |
gravidade, | security_result.severity | Defina como "INFORMATIONAL" se a gravidade for "info" (sem distinção entre maiúsculas e minúsculas). |
src_ip | principal.ip | Extraídos da mensagem de registro usando um padrão grok. |
src_port | principal.port | Extraídos da mensagem de registro usando um padrão grok. |
status | security_result.summary | Extraídos da mensagem de registro usando um padrão grok. |
ts | metadata.event_timestamp.seconds | Extraídos da mensagem de registro usando um padrão grok e convertidos em um carimbo de data/hora. |
url | target.url | Extraídos da mensagem de registro usando um padrão grok. |
usuário | target.user.userid | Extraídos da mensagem de registro usando um padrão grok. |
extensions.auth.type | Defina como "AUTHTYPE_UNSPECIFIED" se a descrição for "Sair" ou "Fazer login". | |
metadata.event_type | Defina como "USER_LOGIN" se a descrição for "Logging in". | |
metadata.event_type | Defina como "USER_LOGOUT" se a descrição for "Logging out". | |
metadata.event_type | Defina como "SCAN_UNCATEGORIZED" se a descrição não for "Fazer login" ou "Fazer logout". | |
metadata.log_type | Defina como "NETAPP_ONTAP". | |
metadata.product_name | Defina como "NETAPP_ONTAP". | |
metadata.vendor_name | Defina como "NETAPP_ONTAP". | |
target.platform | Defina como "WINDOWS" se nmsdk_platform contiver "windows" (sem distinção entre maiúsculas e minúsculas). |
Alterações
2023-04-03
- Parser recém-criado.