Recolha registos do NetApp ONTAP
Este documento descreve como pode recolher os registos do NetApp ONTAP através do Syslog. O analisador extrai campos de mensagens syslog através de expressões regulares. Em seguida, mapeia os campos extraídos para os campos correspondentes do UDM (modelo de dados unificado), convertendo eficazmente os dados de registo não processados num formato estruturado para análise de segurança.
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 administrativo ao cluster NetApp ONTAP.
- Certifique-se de que o ONTAP consegue comunicar com o servidor Syslog (Bindplane).
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. Guarde o ficheiro de forma segura no sistema onde o agente do Bindplane vai ser instalado.
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
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte 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 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 este guia de instalação.
Configure o agente BindPlane para carregar o Syslog e enviá-lo para o Google SecOps
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).
- Localize o ficheiro
Edite o ficheiro
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 onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
Reinicie o agente do Bindplane para aplicar as alterações
No Linux, para reiniciar o agente Bindplane, execute o seguinte comando:
sudo systemctl restart bindplane-agent
No Windows, para reiniciar o agente Bindplane, pode usar a consola Serviços ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configure um destino Syslog no ONTAP
Aceda ao cluster ONTAP através de SSH e substitua
<ontap-cluster-ip>
pelo IP de gestão do seu cluster ONTAP:ssh admin@<ontap-cluster-ip>
Verifique os filtros e as notificações de eventos existentes:
event filter show event notification show
Crie um destino Syslog, substitua
<syslog-server-ip>
e<syslog-server-port>
pelos detalhes do seu servidor 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 (predefinição)
- tcp-unencrypted
- tcp-encrypted (para TLS).
Valide o destino do Syslog:
event notification destination show
Configure filtros de eventos existentes
Associe filtros predefinidos ao destino 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: crie e configure filtros personalizados
Filtro de eventos de autenticação (inícios/fins de sessão): capta registos em que a descrição corresponde a "A iniciar sessão" ou "A terminar sessão":
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 deteção de segurança: capta registos relacionados com 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 registos baseado na gravidade: capta registos 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 registos 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 registos de destino de URL: capta registos 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 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
Validar notificações:
event notification show
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
código | Não mapeado | |
descrição | metadata.description | Extraído da mensagem de registo através de um padrão grok. Presente apenas quando a descrição é "A terminar sessão" ou "A iniciar sessão". |
intermediary_host | intermediary.hostname | Extraído da mensagem de registo através de um padrão grok. |
nmsdk_language | security_result.detection_fields.value | Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_language". |
nmsdk_platform | security_result.detection_fields.value | Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "key" = "nmsdk_platform". |
nmsdk_version | security_result.detection_fields.value | Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "chave" = "nmsdk_version". |
netapp_version | security_result.detection_fields.value | Extraído da mensagem de registo através de um padrão grok. Este valor é adicionado como um "valor" a um objeto detection_fields com "chave" = "netapp_version". |
product_event_type | metadata.product_event_type | Extraído da mensagem de registo através de um padrão grok. |
security_result.summary | security_result.summary | Extraído da mensagem de registo através de um padrão grok. |
gravidade | security_result.severity | Definido como "INFORMATIONAL" se a gravidade for "info" (sem distinção entre maiúsculas e minúsculas). |
src_ip | principal.ip | Extraído da mensagem de registo através de um padrão grok. |
src_port | principal.port | Extraído da mensagem de registo através de um padrão grok. |
estado | security_result.summary | Extraído da mensagem de registo através de um padrão grok. |
ts | metadata.event_timestamp.seconds | Extraído da mensagem de registo através de um padrão grok e convertido num registo de data/hora. |
url | target.url | Extraído da mensagem de registo através de um padrão grok. |
utilizador | target.user.userid | Extraído da mensagem de registo através de um padrão grok. |
extensions.auth.type | Definido como "AUTHTYPE_UNSPECIFIED" se a descrição for "A terminar sessão" ou "A iniciar sessão". | |
metadata.event_type | Definido como "USER_LOGIN" se a descrição for "A iniciar sessão". | |
metadata.event_type | Definido como "USER_LOGOUT" se a descrição for "A terminar sessão". | |
metadata.event_type | Defina como "SCAN_UNCATEGORIZED" se a descrição não for "A iniciar sessão" ou "A terminar sessão". | |
metadata.log_type | Definido como "NETAPP_ONTAP". | |
metadata.product_name | Definido como "NETAPP_ONTAP". | |
metadata.vendor_name | Definido como "NETAPP_ONTAP". | |
target.platform | Definido como "WINDOWS" se nmsdk_platform contiver "windows" (sem distinção entre maiúsculas e minúsculas). |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.