Configure o Google Security Operations com o VMware Engine

Este documento descreve como configurar o Google Security Operations (Google SecOps) para melhorar a deteção, a investigação e a resposta a ameaças de cibersegurança para máquinas virtuais (MV) em execução no VMware Engine. Além disso, o Google SecOps pode analisar a telemetria da sua infraestrutura VMware e de outros Google Cloud serviços suportados.

Vista geral

O Google SecOps é um serviço na nuvem, criado como uma camada especializada sobre a infraestrutura da Google, concebido para que as empresas retenham, analisem e pesquisem de forma privada as grandes quantidades de telemetria de segurança e de rede que geram. O SecOps da Google normaliza, indexa, correlaciona e analisa os dados para oferecer uma análise instantânea e contexto sobre atividades de risco ou suspeitas.

Mecanismos de carregamento de dados para o Google SecOps

O Google SecOps oferece vários caminhos para a ingestão de dados, conforme detalhado na documentação de ingestão do Google SecOps. O exemplo de configuração neste guia foca-se nos seguintes pontos de integração principais numa arquitetura representativa:

  • Registos do sistema de VMs e cargas de trabalho: para capturar registos originários de VMs e cargas de trabalho, existem vários padrões de arquitetura. O exemplo de configuração neste guia usa um agente BindPlane do OpenTelemetry implementado diretamente nestas máquinas virtuais. Este método oferece uma forma flexível e padronizada de recolher e encaminhar registos do sistema.

  • Google Cloud Registos: além dos ambientes virtualizados, a maioria dos projetos de clientes usa uma variedade de serviços Google Cloud (excluindo o VMware Engine neste contexto específico). Para obter visibilidade abrangente para a deteção de ameaças, os registos destes serviços suportados podem ser encaminhados para o Google SecOps. O exemplo de configuração que se segue usa o mecanismo de carregamento direto, configurando filtros do Cloud Logging para encaminhar seletivamente dados de registo relevantes.

Configure o Google Security Operations com o VMware Engine

Para configurar o Google Security Operations com o VMware Engine, conclua os passos seguintes:

  1. Encaminhe registos do sistema de cargas de trabalho
  2. Crie regras personalizadas
  3. Encaminhe Google Cloud registos na nuvem

Encaminhe registos do sistema de cargas de trabalho

Para encaminhar os registos do sistema de cargas de trabalho para VMs em execução no VMware Engine para o Google SecOps, pode usar um agente de recolha do OpenTelemetry em execução nas cargas de trabalho. Os passos são os seguintes:

  1. Siga as instruções do agente Bindplane antes de começar para instalar o agente e transferir o ficheiro de autenticação de carregamento do Google SecOps. Pode transferir o ficheiro de autenticação do Google SecOps a partir do portal do Google SecOps.
  2. Valide a configuração da firewall para garantir que as portas da firewall relevantes estão abertas.
  3. Instale o agente Bindplane seguindo as instruções para o seu SO, Linux ou Windows.
  4. Conclua os passos para configurar o agente. Tenha em atenção os seguintes detalhes ao concluir estes passos:

    • A secção Destinatário especifica que registos o agente deve recolher e enviar para o Google SecOps.
    • A secção Exporter especifica o destino para onde os agentes devem enviar os registos.
    • Esta tarefa usa o exportador do Google SecOps, que envia os registos diretamente para a API de carregamento do Google SecOps.
  5. Consulte exemplos de configuração de recolha de registos adicionais para ver ficheiros de configuração de exemplo que pode usar. Segue-se um exemplo específico para recolher registos de eventos do Windows (aplicação, segurança e sistema) e enviá-los para o Google SecOps. Usa o formato de configuração do OpenTelemetry Collector:

    receivers:
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_application:
        attributes:
           log_type: windows_event.application
        channel: application
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_security:
        attributes:
           log_type: windows_event.security
        channel: security
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_system:
        attributes:
           log_type: windows_event.system
        channel: system
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    processors:
    resourcedetection/source0_01HZ7NFAB5HZY6TPMGEYRN4XGZ:
        detectors:
            -   system
        system:
            hostname_sources:
                 -   os
    transform/source001HZ7NFAB5HZY6TPMGEYRN4XGZprocessor0_logs:
        error_mode: ignore
        log_statements:
            -   context: log
              statements:
                  -   set(attributes["chronicle_log_type"], "WINEVTLOG") where true
    exporters:
    chronicle/NA-SDL:
        compression: none
        creds: '{  "type": "service_account",
            "project_id": "malachite-previewamericassdl",
            "private_key_id": "a9c8d8f0b081c09bcf92621804ba19fc6529ecce",
            "private_key": "----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
            "client_email": "previewamericassdl-1710772997@malachite-previewamericassdl.iam.gserviceaccount.com",
            "client_id": "114604545528934473681",
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token",
            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
            "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/previewamericassdl-1710772997%40malachite-previewamericassdl.iam.gserviceaccount.com",
            "universe_domain": "googleapis.com" }'
        customer_id: a556547c-1cff-43ef-a2e4-cf5b12a865df
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
            env: takeshi
        log_type: CATCH_ALL
        namespace: null
        raw_log_field: body
        retry_on_failure:
            enabled: true
            initial_interval: 5s
            max_elapsed_time: 300s
            max_interval: 30s
        sending_queue:
            enabled: true
            num_consumers: 10
            queue_size: 5000
            storage: file_storage/NA-SDL
    extensions:
    file_storage/NA-SDL:
        compaction:
            directory: $OIQ_OTEL_COLLECTOR_HOME/storage
            on_rebound: true
        directory: $OIQ_OTEL_COLLECTOR_HOME/storage
    service:
    extensions:
        -   file_storage/NA-SDL
    pipelines:
        logs/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_NA-SDL-0:
            receivers:
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_application
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_security
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_system
            processors:
                -   resourcedetection/source0_01HZ7NFAB5HZY6TPMGEYRN4XGZ
                -   transform/source001HZ7NFAB5HZY6TPMGEYRN4XGZprocessor0_logs
            exporters:
                -   chronicle/NA-SDL

  6. Reinicie o coletor assim que a configuração estiver concluída e verifique se os registos estão preenchidos no painel de controlo do Google SecOps.

Crie regras personalizadas para a deteção de ameaças

O SecOps da Google fornece regras e deteções predefinidas e preparadas, concebidas para identificar eficazmente ameaças de cibersegurança. Além das funcionalidades predefinidas, pode criar regras personalizadas para gerar alertas adaptados a um ambiente específico e às respetivas preocupações de segurança. Para uma deteção de ameaças mais sofisticada, o Google SecOps permite a utilização de várias regras de eventos. Isto permite monitorizar e correlacionar eventos de segurança relacionados ao longo do tempo, o que facilita a identificação de padrões de ataque complexos que podem não ser evidentes em incidentes isolados.

Encaminhe Google Cloud registos na nuvem

Para configurar o carregamento de Google Cloud dados para o Google SecOps através do carregamento direto, faça o seguinte:

  1. Siga os passos em Carregue Google Cloud dados para o Google SecOps para configurar os registos.
  2. Ative a opção carregar e analisar dados do Cloud Logging no separador Definições de carregamento globais.
  3. Reveja a lista de Google Cloud serviços suportados para a ingestão de registos para identificar os Google Cloud serviços mais importantes para as suas necessidades de monitorização de segurança. Consulte o artigo Exporte registos gcp_name.
  4. Modifique o filtro de exportação predefinido conforme necessário no separador Definições do filtro de exportação para incluir os registos específicos de que precisa. O exemplo seguinte é uma cópia do filtro de exportação usado para este documento:
    log_id("dns.googleapis.com/dns_queries") OR log_id("cloudaudit.googleapis.com/activity") OR log_id("cloudaudit.googleapis.com/system_event") OR
    ( log_id("cloudaudit.googleapis.com/data_access")
    AND NOT protoPayload.methodName =~ "^storage.(buckets|objects).(get|list)$"
    AND NOT protoPayload.request.cmd = "select" ) OR
    log_id("cloudaudit.googleapis.com/policy") OR
    log_id("cloudaudit.googleapis.com/access_transparency") OR
    log_id("compute.googleapis.com/nat_flows") OR
    log_id("compute.googleapis.com/firewall") OR
    log_id("requests") OR
    logName =~ "^projects/[\w-]+/logs/syslog$" OR
    logName =~ "^projects/[\w-]+/logs/authlog$" OR
    log_id("securelog") OR
    log_id("sysmon.raw") OR
    logName =~ "^projects/[\w-]+/logs/windows_event_log$" OR
    log_id("windows_event_log") OR
    log_id("events") OR
    log_id("stdout") OR
    log_id("stderr") OR
    log_id("audit_log") OR
    log_id("recaptchaenterprise.googleapis.com/assessment") OR
    log_id("recaptchaenterprise.googleapis.com/annotation") OR
    log_id("cloudaudit.googleapis.com/activity")

O que se segue?