Coletar registros do Dell EMC Data Domain
Este documento explica como ingerir registros do Dell EMC Data Domain no Google Security Operations usando o Bindplane. O código do analisador do Logstash primeiro extrai os campos principais dos registros brutos do DELL_EMC_DATA_DOMAIN usando padrões grok com base no formato da mensagem de registro. Em seguida, ele mapeia os campos extraídos para os campos correspondentes no esquema do modelo de dados unificado (UDM), enriquecendo os dados com contexto adicional, como tipo de evento e resultado de segurança.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Windows 2016 ou mais recente ou um host Linux com
systemd - Se estiver executando por trás de um proxy, as portas de firewall estarão abertas
- Acesso privilegiado ao Dell EMC Data Domain
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.
- Baixe o arquivo de autenticação de ingestão. 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 de cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.
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 outras opções de instalação, consulte o guia de instalação.
Configurar o agente do 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,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda 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_file_path: '/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: 'DELL_EMC_DATA_DOMAIN' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labelsSubstitua 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.jsonpara o caminho em que o arquivo de autenticação foi salvo na seção Receber o arquivo de autenticação de ingestão do Google SecOps.
Reiniciar o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute este comando:
sudo systemctl restart bindplane-agentPara reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira este comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog para o Dell EMC Data Domain
- Faça login no Dell EMC Data Domain usando a CLI.
Mostre a configuração atual:
log host showAtive o envio de mensagens de registro para outros sistemas:
log host enableAdicione o IP do agente do Bindplane ao syslog usando este comando. Substitua
<bindplane-ip>pelo endereço IP real do agente do Bindplane.log host add <bindplane-ip>Adicione a porta do agente do Bindplane ao syslog usando este comando. Substitua
<bindplane-port>pelo número da porta real do agente do Bindplane.log server-port set <bindplane-port>
Registros de amostra do Dell EMC Data Domain compatíveis
SYSLOG + KV
<174>ddsh: {epoch=1649171401;id='AUDIT-DDSH-00001';desc='DDSH CLI command';level=3;user='dummy_user';role='se';app='ddsh';host='dd-host-1';detail='cmd=cifs show detailed-stats';}SYSLOG
<38>sshd[13244]: Accepted publickey for dd-admin from 192.0.2.1 port 57656 ssh2: RSA SHA256:+BWDxlMYuJgfC0LhzacEAUpFHlAZlNOYXAKKJ4SAipQ- JSON
{ "Timestamp": "2024-09-05T13:25:14Z", "EventName": "Participant left session", "EventType": "Session", "Username": "user_9999", "EventDetails": [ { "OldValue": "", "NewValue": "1352719861", "PolicyEnforcementNewValue": null, "PolicyEnforcementOldValue": null, "PropertyName": "ID of affected participant", "PropertyCategory": "AffectedParticipant" }, { "OldValue": "", "NewValue": "User Name 1", "PolicyEnforcementNewValue": null, "PolicyEnforcementOldValue": null, "PropertyName": "Name of affected participant", "PropertyCategory": "AffectedParticipant" } ], "Computer": "HOST-PC-400", "EventId": 35139395 }SYSLOG + XML
<21>1 2024-08-01T12:31:40.791267+02:00 VEEM-HOST-01 Veeam_ONE_Server 7172 - [origin enterpriseId="31023"] Operation:"SendEmail" Email has been sent Data:<data><recipient>recipient@example.com</recipient><subject>VM resetting Information for Virtual Machine "VM_RESTORED_2024"</subject></data>
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
| app | read_only_udm.target.application | O valor é extraído do campo "app" pelo primeiro analisador grok. |
| cmd | read_only_udm.target.process.command_line | O valor é extraído do campo "cmd" pelo primeiro analisador grok ou do campo "detail" se o campo "cmd" estiver vazio. |
| desc | read_only_udm.metadata.description | O valor é extraído do campo "desc" pelo primeiro analisador grok. |
| epoch | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo "epoch" e convertido em um carimbo de data/hora usando o filtro "date". |
| host | read_only_udm.principal.hostname | O valor é extraído do campo "host" pelo primeiro analisador grok. |
| id | read_only_udm.metadata.product_event_type | O valor é extraído do campo "id" pelo primeiro analisador grok. |
| pid | read_only_udm.target.process.pid | O valor é extraído do campo "pid" pelo primeiro analisador grok. |
| reason | read_only_udm.security_result.description | O valor é extraído do campo "reason" pelo primeiro analisador grok. |
| role | read_only_udm.principal.user.attribute.roles.name | O valor é extraído do campo "role" pelo primeiro analisador grok. |
| session_id | read_only_udm.network.session_id | O valor é extraído do campo "session_id" pelo primeiro analisador grok. |
| src_ip | read_only_udm.principal.ip | O valor é extraído do campo "src_ip" pelo segundo analisador grok. |
| src_port | read_only_udm.principal.port | O valor é extraído do campo "src_port" pelo segundo analisador grok e convertido em um número inteiro. |
| timestamp.nanos | read_only_udm.metadata.event_timestamp.nanos | O valor é extraído do campo "timestamp.nanos" do registro bruto. |
| timestamp.seconds | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo "timestamp.seconds" do registro bruto. |
| user | read_only_udm.target.user.userid | O valor é extraído do campo "user" pelo primeiro ou segundo analisador grok. |
| read_only_udm.extensions.auth.mechanism | O valor é definido como "USERNAME_PASSWORD" se o campo "desc" corresponder a padrões específicos relacionados a eventos de login ou logout do usuário. | |
| read_only_udm.metadata.event_type | O valor é determinado por uma série de instruções condicionais com base nos valores de outros campos, principalmente "desc", "src_ip" e "host". | |
| read_only_udm.metadata.log_type | Codificado como "DELL_EMC_DATA_DOMAIN". | |
| read_only_udm.metadata.product_name | Codificado como "DELL_EMC_DATA_DOMAIN". | |
| read_only_udm.metadata.vendor_name | Codificado como "DELL". | |
| read_only_udm.network.http.method | O valor é extraído do campo "method" pelo filtro KV. | |
| read_only_udm.network.http.response_code | O valor é extraído do campo "response_code" pelo filtro KV e convertido em um número inteiro. | |
| read_only_udm.network.ip_protocol | O valor é derivado do campo "protocol_number_src" usando uma tabela de consulta e a configuração "parse_ip_protocol.include". | |
| read_only_udm.security_result.severity | O valor é definido como "MEDIUM" se o campo "message" contiver a string "NOTICE". | |
| read_only_udm.target.file.sha256 | O valor é extraído do campo "sha256" pelo segundo analisador grok, convertido em letras minúsculas e validado como uma string hexadecimal. | |
| read_only_udm.target.process.file.full_path | O valor é extraído do campo "path" ou "file", dependendo de qual não está vazio. | |
| read_only_udm.target.url | O valor é extraído do campo "uri" pelo filtro KV. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.