Recolha registos do Imperva FlexProtect

Compatível com:

Este documento explica como carregar registos do Imperva FlexProtect para o Google Security Operations através do Bindplane. O analisador primeiro limpa e pré-processa os registos recebidos e, em seguida, tenta extrair dados do formato de evento comum (CEF). Consoante a presença de campos específicos, como "src" e "sip", atribui um tipo de evento UDM e mapeia os campos CEF relevantes para o esquema UDM, enriquecendo finalmente o resultado com campos personalizados adicionais. O Imperva FlexProtect oferece uma implementação flexível de soluções de segurança da Imperva (SecureSphere, Cloud WAF, Bot Protection) em ambientes de nuvem híbrida.

Antes de começar

Certifique-se de que cumpre os seguintes pré-requisitos:

  • Uma instância do Google SecOps
  • Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a executar o agente através de um proxy, certifique-se de que as portas da firewall estão abertas de acordo com os requisitos do agente Bindplane
  • Acesso privilegiado à consola de gestão do Imperva FlexProtect ou às consolas de produtos individuais

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. 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

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:

    1. 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.
    2. Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro config.yaml da 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
        log_type: 'IMPERVA_FLEXPROTECT'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    

Reinicie o agente do Bindplane para aplicar as alterações

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o encaminhamento do Syslog no Imperva FlexProtect

Para o componente SecureSphere (no local/na nuvem)

  1. Inicie sessão na Imperva SecureSphere Management Console.
  2. Aceda a Configuração > Conjuntos de ações.
  3. Clique em Adicionar para criar um novo conjunto de ações.
  4. Clique em Adicionar ação e faculte os seguintes detalhes de configuração:

    • Nome: introduza um nome descritivo (por exemplo, Google SecOps Syslog).
    • Tipo de ação: selecione Syslog.
    • Anfitrião: introduza o endereço IP do agente do Bindplane.
    • Porta: introduza o número da porta do agente Bindplane (predefinição: 514).
    • Protocolo: selecione UDP ou TCP.
    • Nível de registo do Syslog: selecione DEBUG.
    • Instalação do Syslog: selecione LOCAL0.
    • Formato: selecione CEF (formato de evento comum).
  5. Guarde a configuração da ação e aplique-a às políticas de segurança relevantes.

Para o componente Cloud WAF/Incapsula

  1. Inicie sessão na Imperva Cloud Console.
  2. Aceda a Registos > Configuração de registos.
  3. Configure o destino do syslog:
    • Anfitrião: introduza o endereço IP do agente do Bindplane.
    • Porta: introduza o número da porta do agente Bindplane (predefinição: 514).
    • Protocolo: selecione UDP ou TCP.
    • Formato: selecione CEF.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
agir read_only_udm.security_result.action_details Mapeado diretamente a partir do campo act.
app read_only_udm.network.application_protocol Mapeado diretamente a partir do campo app.
ccode read_only_udm.principal.location.country_or_region Mapeado diretamente a partir do campo ccode.
cicode read_only_udm.principal.location.city Mapeado diretamente a partir do campo cicode.
cn1 read_only_udm.network.http.response_code Mapeado diretamente a partir do campo cn1 após a conversão em número inteiro.
cs1 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs1.
cs2 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs2.
cs3 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs3.
cs4 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs4.
cs5 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs5.
cs6 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs6.
cs7 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs7.
cs8 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs8.
cs9 read_only_udm.additional.fields.value.string_value Mapeado diretamente a partir do campo cs9.
cpt read_only_udm.principal.port Mapeado diretamente a partir do campo cpt após a conversão em número inteiro.
Cliente read_only_udm.principal.user.user_display_name Mapeado diretamente a partir do campo Customer.
deviceExternalId read_only_udm.about.asset.asset_id O valor é derivado da concatenação de "Incapsula.SIEMintegration:" com o campo deviceExternalId.
deviceFacility read_only_udm.principal.location.city Mapeado diretamente a partir do campo deviceFacility.
dproc read_only_udm.target.process.command_line Mapeado diretamente a partir do campo dproc.
fim read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo end.
fileId read_only_udm.network.session_id Mapeado diretamente a partir do campo fileId.
filePermission read_only_udm.about.resource.attribute.permissions.name Mapeado diretamente a partir do campo filePermission.
em read_only_udm.network.received_bytes Mapeado diretamente a partir do campo in.
qstr read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo qstr.
pedido read_only_udm.target.url Mapeado diretamente a partir do campo request.
requestClientApplication read_only_udm.network.http.user_agent Mapeado diretamente a partir do campo requestClientApplication.
requestMethod read_only_udm.network.http.method Mapeado diretamente a partir do campo requestMethod.
siteid read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo siteid.
sip read_only_udm.target.ip Mapeado diretamente a partir do campo sip.
sourceServiceName read_only_udm.principal.application Mapeado diretamente a partir do campo sourceServiceName.
spt read_only_udm.target.port Mapeado diretamente a partir do campo spt após a conversão em número inteiro.
src read_only_udm.principal.ip Mapeado diretamente a partir do campo src.
iniciar read_only_udm.security_result.detection_fields.value Mapeado diretamente a partir do campo start.
suid read_only_udm.principal.user.userid Mapeado diretamente a partir do campo suid.
ver read_only_udm.network.tls.version Mapeado diretamente a partir do campo ver.
read_only_udm.about.asset.asset_id O valor é derivado da concatenação de "Incapsula.SIEMintegration:" com o campo deviceExternalId.
read_only_udm.additional.fields.key O valor é determinado pela lógica do analisador com base na etiqueta do campo, por exemplo:
- cs1Label é mapeado para "Cap Support"
- cs2Label é mapeado para "Javascript Support"
- cs3Label é mapeado para "CO Support"
- cs4Label é mapeado para "VID"
- cs5Label é mapeado para "clappsig"
- cs6Label é mapeado para "clapp"
- cs7Label é mapeado para "latitude"
- cs8Label é mapeado para "longitude"
- cs9Label é mapeado para "Rule name"
read_only_udm.metadata.event_timestamp.nanos Mapeado diretamente a partir do campo collection_time.nanos.
read_only_udm.metadata.event_timestamp.seconds Mapeado diretamente a partir do campo collection_time.seconds.
read_only_udm.metadata.event_type O valor é determinado com base na presença dos campos src e sip:
- Se ambos estiverem presentes, o valor é definido como "NETWORK_HTTP".
- Se apenas src estiver presente, o valor é definido como "USER_UNCATEGORIZED".
- Caso contrário, o valor é definido como "GENERIC_EVENT".
read_only_udm.metadata.product_event_type O valor é derivado da concatenação de "[", o valor numérico do campo de cabeçalho CEF no índice 4, "] - " e a descrição de texto do campo de cabeçalho CEF no índice 4.
read_only_udm.metadata.product_name O valor é definido estaticamente como "SIEMintegration".
read_only_udm.metadata.product_version O valor está definido estaticamente como "1".
read_only_udm.metadata.vendor_name O valor está definido estaticamente como "Incapsula".
read_only_udm.security_result.detection_fields.key O valor é definido estaticamente como "siteid", "event_start_time", "event_end_time" ou "qstr" com base no campo correspondente que está a ser processado.
read_only_udm.security_result.severity O valor é definido estaticamente como "LOW".
read_only_udm.target.port Mapeado diretamente a partir do campo spt após a conversão em número inteiro.

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