Coletar registros do IBM Guardium

Compatível com:

Este documento explica como ingerir registros do IBM Guardium no Google Security Operations usando o Bindplane.

O IBM Guardium é uma plataforma de proteção de dados e monitoramento de atividades de banco de dados que oferece monitoramento, auditoria e proteção em tempo real para bancos de dados e sistemas de arquivos. O Guardium oferece recursos de avaliação de vulnerabilidades, descoberta e classificação de dados, monitoramento de atividades de banco de dados e relatórios de compliance.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Windows Server 2016 ou mais recente ou host Linux com systemd
  • Conectividade de rede entre o agente do Bindplane e o coletor do IBM Guardium
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado à CLI do IBM Guardium
  • IBM Guardium versão 9.1 ou mais recente para suporte a syslog criptografado (opcional)

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o prompt de comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sc query observiq-otel-collector
    

O serviço vai aparecer como EM EXECUÇÃO.

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sudo systemctl status observiq-otel-collector
    

O serviço vai aparecer como ativo (em execução).

Outros recursos de instalação

Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.

Configurar o agente do Bindplane para ingerir syslog e enviar ao Google SecOps

Localizar o arquivo de configuração

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Editar o arquivo de configuração

  • Substitua todo o conteúdo de config.yaml pela seguinte configuração:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/guardium:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    
    service:
      pipelines:
        logs/guardium_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/guardium
    

Parâmetros de configuração

Substitua os seguintes marcadores de posição:

  • Configuração do receptor:

    • Use udplog para syslog UDP (mais comum para o Guardium).
    • Use tcplog para syslog TCP, se necessário.
    • O endereço de escuta 0.0.0.0:514 detecta todas as interfaces na porta 514.
  • Configuração do exportador:

    • creds_file_path: caminho completo para o arquivo de autenticação de ingestão:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID do cliente da etapa anterior.
    • endpoint: URL do endpoint regional:
      • EUA: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Ásia: asia-southeast1-malachiteingestion-pa.googleapis.com
    • log_type: precisa ser GUARDIUM.
    • ingestion_labels: rótulos opcionais no formato YAML.

Salvar o arquivo de configuração

Depois de editar, salve o arquivo:

  • Linux: pressione Ctrl+O, Enter e Ctrl+X.
  • Windows: clique em Arquivo > Salvar.

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 observiq-otel-collector
    
    1. Verifique se o serviço está em execução:

        sudo systemctl status observiq-otel-collector
      
    2. Verifique se há erros nos registros:

        sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar o agente do Bindplane em Windows, escolha uma das seguintes opções:

    • Prompt de comando ou PowerShell como administrador:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console de serviços:

      1. Pressione Win+R, digite services.msc e pressione Enter.
      2. Localize o Coletor do OpenTelemetry da observIQ.
      3. Clique com o botão direito do mouse e selecione Reiniciar.

      4. Verifique se o serviço está em execução:

        sc query observiq-otel-collector
        
      5. Verifique se há erros nos registros:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurar o encaminhamento syslog do IBM Guardium

Configurar o destino do syslog usando a CLI

Para criar um destino syslog para eventos no IBM Guardium, faça login na interface de linha de comando e defina o endereço IP do host do agente Bindplane.

  1. Usando SSH, faça login no IBM Guardium Collector como o usuário da CLI.
  2. Digite os seguintes comandos para configurar o destino do syslog:

    • Para syslog UDP (recomendado):

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udp
      
    • Para syslog TCP:

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp
      
    • Para níveis de gravidade específicos:

      store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp
      
      • Substitua BINDPLANE_AGENT_IP pelo endereço IP do host em que o agente do Bindplane está instalado.
  3. Verifique a configuração executando:

    show remotelog
    

    A saída vai mostrar o destino syslog remoto configurado.

Configurar o syslog criptografado (opcional)

Se você precisar de encaminhamento de syslog criptografado, o IBM Guardium versão 9.1 e mais recentes oferecerão suporte à criptografia TLS por TCP.

  1. Consiga o certificado público no formato PEM da autoridade de certificação usada pelo receptor syslog remoto.
  2. Faça login na CLI no coletor do Guardium.
  3. Digite o seguinte comando:

    store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp
    
  4. Quando solicitado, cole o certificado da CA no formato PEM, incluindo as linhas BEGIN e END, e pressione Ctrl+D.

  5. O Guardium armazena o certificado como /etc/pki/rsyslog/ca.pem.

Configurar modelo de mensagem (opcional)

O Guardium oferece suporte a vários formatos de mensagem, incluindo CEF (Common Event Format) e LEEF (Log Event Extended Format). O formato padrão é adequado para a maioria das implantações.

Para personalizar o modelo de mensagem:

  1. Faça login na GUI do appliance Guardium como um usuário com privilégios de administrador.
  2. Acesse Console de administração > Configuração > Perfil global.
  3. Na seção Modelo de mensagem, edite o modelo com o formato desejado.
  4. Clique em Salvar.

Configurar a política para enviar alertas ao syslog

As políticas no IBM Guardium são responsáveis por reagir a eventos e encaminhar as informações deles para o receptor syslog remoto.

Configurar a ação de alerta da política

  1. Faça login na GUI do dispositivo Guardium.
  2. Clique na guia Ferramentas.
  3. Na navegação à esquerda, selecione Criador de políticas.
  4. No painel Localizador de políticas, selecione uma política e clique em Editar regras.
  5. Clique em Editar esta regra individualmente.
  6. A Definição da regra de acesso é exibida.
  7. Clique em Adicionar ação.
  8. Na lista Ação, selecione um dos seguintes tipos de alerta:
    • Alerta por correspondência: uma notificação é enviada para cada violação da política.
    • Alerta diário: uma notificação é enviada na primeira vez que uma violação da política ocorre naquele dia.
    • Alertar uma vez por sessão: uma notificação é fornecida por violação da política para cada sessão exclusiva.
    • Alerta por granularidade de tempo: uma notificação é fornecida de acordo com o período selecionado.
  9. Na lista Modelo de mensagem, selecione o modelo necessário ou mantenha Padrão.
  10. Em Tipo de notificação, selecione SYSLOG.
  11. Clique em Adicionar e em Aplicar.
  12. Clique em Salvar.
  13. Repita esse processo para todas as regras da política que você quer encaminhar para o Google SecOps.

Instalar a política

Qualquer política nova ou editada no IBM Guardium precisa ser instalada antes que as ações de alerta atualizadas ou as mudanças de regra possam ocorrer.

  1. Clique na guia Console de administração.
  2. No menu de navegação à esquerda, selecione Configuração > Instalação de política.
  3. No painel Instalador de políticas, selecione a política que você modificou na etapa anterior.
  4. Na lista suspensa, selecione Instalar e substituir.
  5. Uma confirmação é exibida para instalar a política em todos os mecanismos de inspeção.
  6. Clique em OK.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
deviceNtDomain about.administrative_domain Domínio administrativo da entidade "sobre"
deviceExternalId about.asset.asset_id Identificador do recurso
filePath, fileHash about.file.full_path Caminho completo do arquivo
_hash, fileHash about.file.sha256 Hash SHA256 do arquivo
fsize about.file.size Tamanho do arquivo
dvchost about.hostname Nome do host da entidade "Sobre"
dvc about.ip Endereço IP da entidade "Sobre"
smac, dmac, dvcmac about.mac Endereço MAC da entidade "Sobre"
deviceProcessName, Subject, Emne, Path about.process.command_line Linha de comando do processo
dvcpid about.process.pid ID do processo
filePermission about.resource.attribute.permissions Permissões associadas ao recurso
extensions.auth.type Tipo de autenticação
sender_ip intermediary.ip Endereço IP do intermediário
intermediário Detalhes da entidade intermediária
Recebido, gerado, carimbo de data/hora metadata.collected_timestamp Carimbo de data/hora em que o evento foi coletado
msg, signature_name metadata.description A descrição do evento
metadata.event_type Tipo de evento (por exemplo, USER_LOGIN, NETWORK_CONNECTION)
device_event_class_id, event_name, eventType metadata.product_event_type Tipo de evento específico do produto
externalId metadata.product_log_id Identificador do registro do produto
metadata.product_version Versão do produto
network.application_protocol Protocolo de aplicativo usado na conexão de rede.
deviceDirection network.direction Direção do tráfego de rede
requestMethod network.http.method Método HTTP usado na solicitação
requestClientApplication network.http.user_agent String do user agent da solicitação HTTP.
proto network.ip_protocol Protocolo IP usado
em network.received_bytes Número de bytes recebidos
out network.sent_bytes Número de bytes enviados
session_id network.session_id Identificador de sessão para a conexão de rede.
sntdom, Domain, Domene principal.administrative_domain Domínio administrativo do principal
sourceServiceName, source_program principal.application Aplicativo associado ao principal
prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname principal.asset.hostname Nome do host do recurso principal
sender_ip, src_ip, src, principal_ip, client_ip principal.asset.ip Endereço IP do recurso principal
Group_name, Gruppenavn principal.group.group_display_name Nome de exibição do grupo principal
prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname principal.hostname Nome do host do principal
sender_ip, src_ip, src, principal_ip, client_ip principal.ip Endereço IP do principal
smac principal.mac Endereço MAC do principal
sourceTranslatedAddress principal.nat_ip Endereço IP NAT do principal
sourceTranslatedPort principal.nat_port Porta NAT do principal
spt, client_port principal.port Porta usada pelo principal
sproc principal.process.command_line Linha de comando do processo principal
spid principal.process.pid ID do processo do principal
spriv principal.user.attribute.roles Funções associadas ao usuário principal
suser, usrName, CustomerName principal.user.user_display_name Nome de exibição do usuário principal
dbUser, usrName, db_user, os_user, suid, db_username principal.user.userid ID do usuário do principal
security_result Detalhes do resultado de segurança
security_result.action Ação realizada no resultado de segurança
act, Action_Taken security_result.action_details Detalhes da ação realizada
gato security_result.category_details Detalhes da categoria do resultado de segurança
msg_data_2, alert_description, Type, Scan_Type security_result.description Descrição do resultado de segurança
operation_label, operasjon_label, permission_label, tillatelse_label, infection_channel_label, spyware_Grayware_Type_label, threat_probability_label security_result.detection_fields Campos usados para detecção no resultado de segurança
mwProfile, alert_name security_result.rule_name Nome da regra que acionou o resultado de segurança
severity, event_severity security_result.severity Nível de gravidade do resultado de segurança
reason, ruleDesc, appcategory, Result security_result.summary Resumo do resultado de segurança
Spyware, Virus_Malware_Name, Unknown_Threat security_result.threat_name Nome da ameaça detectada
oldFilePath src.file.full_path Caminho completo do arquivo de origem
oldFileSize src.file.size Tamanho do arquivo de origem
oldFilePermission src.resource.attribute.permissions Permissões do recurso de origem
os_user src.user.userid ID do usuário de origem
dntdom target.administrative_domain Domínio administrativo do destino
destinationServiceName, service_name target.application Aplicativo associado ao destino
prin_host, dest_host, server_hostname target.asset.hostname Nome do host do recurso de destino
dst_ip, dest_ip, server_ip, IPv6_Address target.asset.ip Endereço IP do recurso de destino
temp_dhost, dest_host, server_hostname target.hostname Nome do host do destino
dst_ip, dst, dest_ip, server_ip, IPv6_Address target.ip Endereço IP do destino
dmac target.mac Endereço MAC do destino
destinationTranslatedAddress target.nat_ip Endereço IP NAT do destino
destinationTranslatedPort target.nat_port Porta NAT do destino
dpt, dstPort, dest_port, server_port target.port Porta usada pelo destino
dproc, full_sql target.process.command_line Linha de comando do processo de destino
File_name, Object, Objekt, Infected_Resource target.process.file.full_path Caminho completo do arquivo do processo de destino
dpid, full_sql_id target.process.pid ID do processo do destino
session_start target.resource.attribute.creation_time Horário de criação do recurso de destino
additional_environment_name, additional_db_protocol_version, additional_dbProtocolVersion, additional_operation_name, additional_signature_id, resource_Type_label target.resource.attribute.labels Rótulos associados ao recurso de destino
session_end target.resource.attribute.last_update_time Horário da última atualização do recurso de destino
db_name, database_name target.resource.name Nome do recurso de destino
db_type, server_type target.resource.resource_subtype Subtipo do recurso de destino
target.resource.resource_type Tipo do recurso de destino
solicitação target.url URL associado ao destino
dpriv, roles target.user.attribute.roles Funções associadas ao usuário de destino
temp_duser, CustomerName target.user.user_display_name Nome de exibição do usuário de destino
temp_duid, User, Bruker, db_username target.user.userid ID do usuário do destino
metadata.product_name Nome do produto
metadata.vendor_name Nome do fornecedor

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.