Coletar registros do Skyhigh Secure Web Gateway (antigo McAfee Web Gateway)

Compatível com:

Este documento explica como ingerir registros do Skyhigh Secure Web Gateway (antigo McAfee Web Gateway) no Google Security Operations usando o Bindplane.

O Skyhigh Secure Web Gateway é um dispositivo proxy da Web local que protege as organizações contra ameaças baseadas na Web inspecionando o tráfego HTTP, HTTPS e FTP. Ele oferece recursos de filtragem de URL, verificação antimalware, inspeção SSL, prevenção contra perda de dados e controle de aplicativos. O dispositivo aplica políticas de acesso à Web e fornece registros detalhados de toda a atividade da Web para conformidade e monitoramento de segurança.

Antes de começar

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

  • Uma instância do Google SecOps.
  • Um host Windows 2016 ou mais recente ou Linux com systemd.
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Acesso privilegiado ao console de gerenciamento do Skyhigh Secure Web Gateway.

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. Faça o download do arquivo de autenticação de ingestão e salve-o em um local seguro 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
    

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
    

Outros recursos de instalação

Para mais opções de instalação, consulte o guia de instalação.

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

  1. Acesse o arquivo de configuração:

    • Localize o arquivo config.yaml. Normalmente, ele fica no diretório /observiq-otel-collector/ no Linux ou no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/mcafee_webproxy:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'MCAFEE_WEBPROXY'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/mcafee_webproxy_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/mcafee_webproxy
    
  • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
  • Substitua <customer_id> pelo ID do cliente real.
  • Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

Para reiniciar o agente do Bindplane no Linux:

  1. Execute este comando:

    sudo systemctl restart observiq-otel-collector
    
  2. Verifique se o serviço está em execução:

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

    sudo journalctl -u observiq-otel-collector -f
    

Para reiniciar o agente do Bindplane em Windows:

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

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

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

Configurar o encaminhamento de syslog no Skyhigh Secure Web Gateway

  1. Faça login no console de gerenciamento do Skyhigh Secure Web Gateway.
  2. Acesse Política > Configurações > Registro em log > Syslog.
  3. Clique em Adicionar para criar um destino syslog.
  4. Informe os seguintes detalhes de configuração:
    • Servidor Syslog: insira o endereço IP do agente do Bindplane (por exemplo, 192.168.1.100).
    • Porta: insira 514.
    • Protocolo: selecione TCP.
    • Nível de registro: selecione o nível de registro desejado (por exemplo, Informativo ou superior).
    • Formato: selecione Registro de acesso de práticas recomendadas ou o formato de registro desejado.
  5. Selecione os tipos de registros a serem encaminhados:
    • Registro de acesso: registra todo o tráfego da Web que passa pelo gateway.
    • Registro de bloqueio: registra solicitações bloqueadas.
    • Registro de verificação: registra os resultados da verificação antimalware.
  6. Clique em Salvar alterações.
  7. Acesse Solução de problemas > Confirmar alterações e clique em Salvar alterações para aplicar a configuração.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
entry_format about Mapeado: json_formatabout, kv_format1about
deviceNtDomain about.administrative_domain Renomeado/mapeado
deviceExternalId about.asset.asset_id Mapeado diretamente
device_product about.asset.asset_id Mapeado diretamente
device_vendor about.asset.asset_id Mapeado diretamente
fileHash about.file.full_path Mapeado diretamente
filePath about.file.full_path Renomeado/mapeado
_hash about.file.sha256 Renomeado/mapeado
fileHash about.file.sha256 Renomeado/mapeado
fsize about.file.size Renomeado/mapeado
dvchost about.hostname Renomeado/mapeado
entry_format about.ip Mapeado: json_formatips, kv_format1ips
ips about.ip Mesclado
dvc_mac about.mac Mapeado: slotmac_address
dvcmac about.mac Mesclado
entry_format about.mac Mapeado: json_formatmac_address, json_formatdvcmac, kv_format1 → `mac_address...
mac_address about.mac Mesclado
deviceTranslatedAddress about.nat_ip Mesclado
entry_format about.nat_ip Mapeado: json_formatdeviceTranslatedAddress, kv_format1deviceTranslatedAddress
Emne about.process.command_line Mapeado diretamente
Path about.process.command_line Mapeado diretamente
Subject about.process.command_line Mapeado diretamente
deviceProcessName about.process.command_line Renomeado/mapeado
dvcpid about.process.pid Renomeado/mapeado
entry_format about.resource.attribute.permissions Mapeado: json_formatpermissions, kv_format1permissions
permissions about.resource.attribute.permissions Mesclado
additional_cfp1 additional.fields Mesclado
additional_cfp2 additional.fields Mesclado
additional_cfp3 additional.fields Mesclado
additional_cfp4 additional.fields Mesclado
additional_cn1 additional.fields Mesclado
additional_cn2 additional.fields Mesclado
additional_cn3 additional.fields Mesclado
additional_cs1 additional.fields Mesclado
additional_cs2 additional.fields Mesclado
additional_cs3 additional.fields Mesclado
additional_cs4 additional.fields Mesclado
additional_cs5 additional.fields Mesclado
additional_cs6 additional.fields Mesclado
additional_cs7 additional.fields Mesclado
additional_devicePayloadId additional.fields Mesclado
additional_eventId additional.fields Mesclado
additional_flexString1 additional.fields Mesclado
additional_fname additional.fields Mesclado
application_name_label additional.fields Mesclado
block_id_label additional.fields Mesclado
cs2 additional.fields Mapeado: arc_testadditional_cs2
cs5_label additional.fields Mesclado
entry_format additional.fields Valores mapeados (43 no total, por exemplo, json_formatadditional_eventId, json_format → `additio...
facility_label additional.fields Mesclado
priority_label additional.fields Mesclado
reputation_label additional.fields Mesclado
entry_format intermediary Mapeado: json_formatintermediary, kv_format1intermediary
intermediary_hostname intermediary.hostname Mapeado diretamente
intermediary_ip intermediary.ip Mesclado
json_entry.client_ip intermediary.ip Mesclado
_metadata metadata Renomeado/mapeado
msg metadata.description Renomeado/mapeado
Generated metadata.event_timestamp Analisado como yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp Analisado como yyyy-MM-ddTHH:mm:ss
_timestamp metadata.event_timestamp Analisado como RFC3339
rt metadata.event_timestamp Analisado como yyyy-MM-ddTHH:mm:ssZ
ts metadata.event_timestamp Analisado como dd/MM/yyyy:HH:mm:ss Z
entry_format metadata.event_type Mapeado: json_formatPROCESS_UNCATEGORIZED, json_formatSCAN_UNCATEGORIZED, `kv_f...
event_name metadata.event_type Mapeado: "LogSpyware","LogPredictiveMachineLearning"SCAN_UNCATEGORIZED
event_type metadata.event_type Mapeado diretamente
device_event_class_id metadata.product_event_type Mapeado diretamente
event_name metadata.product_event_type Mapeado diretamente
externalId metadata.product_log_id Mapeado diretamente
device_product metadata.product_name Mapeado diretamente
device_version metadata.product_version Mapeado diretamente
device_vendor metadata.vendor_name Renomeado/mapeado
_network network Renomeado/mapeado
app_protocol_output network.application_protocol Mapeado diretamente
proto network.application_protocol Mapeado diretamente
proto_version network.application_protocol_version Mapeado diretamente
deviceDirection network.direction Mapeado: 0INBOUND, 1OUTBOUND
entry_format network.direction Mapeado: json_formatINBOUND, json_formatOUTBOUND, kv_format1INBOUND, `kv...
http_method network.http.method Mapeado diretamente
requestMethod network.http.method Renomeado/mapeado
userAgent network.http.parsed_user_agent Renomeado/mapeado
requestContext network.http.referral_url Mapeado diretamente
http_response network.http.response_code Mapeado diretamente
requestClientApplication network.http.user_agent Renomeado/mapeado
userAgent network.http.user_agent Mapeado diretamente
ip_protocol_out network.ip_protocol Mapeado diretamente
proto network.ip_protocol Mapeado diretamente
bytesToClient network.received_bytes Mapeado diretamente
entry_format network.received_bytes Mapeado: json_formatuinteger, kv_format1uinteger
in network.received_bytes Renomeado/mapeado
bytesFromClient network.sent_bytes Mapeado diretamente
entry_format network.sent_bytes Mapeado: json_formatuinteger, kv_format1uinteger
out network.sent_bytes Renomeado/mapeado
_principal principal Renomeado/mapeado
sntdom principal.administrative_domain Renomeado/mapeado
sourceServiceName principal.application Renomeado/mapeado
clientIP principal.asset.ip Mesclado
entry_format principal.asset.ip Mapeado: json_formatclientIP, json_formatprincipal_ip, kv_format1 → `clientIP...
principal_ip principal.asset.ip Mesclado
Group_name principal.group.group_display_name Mapeado diretamente
Gruppenavn principal.group.group_display_name Mapeado diretamente
Device_name principal.hostname Mapeado diretamente
Enhetsnavn principal.hostname Mapeado diretamente
principal_hostname principal.hostname Mapeado diretamente
shost principal.hostname Renomeado/mapeado
clientIP principal.ip Mesclado
entry_format principal.ip Valores mapeados (6 no total, por exemplo, json_formatprincipal_ip, json_formatshost, `json_...
principal_ip principal.ip Mesclado
shost principal.ip Mesclado
entry_format principal.mac Mapeado: json_formatmac, kv_format1mac
mac principal.mac Mesclado
entry_format principal.nat_ip Mapeado: json_formatsourceTranslatedAddress, kv_format1sourceTranslatedAddress
sourceTranslatedAddress principal.nat_ip Mesclado
sourceTranslatedPort principal.nat_port Renomeado/mapeado
spt principal.port Renomeado/mapeado
sproc principal.process.command_line Renomeado/mapeado
fileType principal.process.file.mime_type Mapeado diretamente
spid principal.process.pid Renomeado/mapeado
entry_format principal.user.attribute.roles Mapeado: json_formatprincipal_role, kv_format1principal_role
principal_role principal.user.attribute.roles Mesclado
suser principal.user.user_display_name Mapeado diretamente
suid principal.user.userid Renomeado/mapeado
userName principal.user.userid Mapeado diretamente
entry_format security_result Mapeado: json_formatsecurity_result, kv_format1security_result
_action security_result.action Mesclado
act security_result.action Mapeado: accept_action, deny_action
action security_result.action Mesclado
cn1_Label security_result.action Mapeado: Block Reasonaction
entry_format security_result.action Valores mapeados (6 no total, por exemplo, json_format_action, json_formataction, `json_form...
security_action security_result.action Mesclado
Action_Taken security_result.action_details Mapeado diretamente
act security_result.action_details Mapeado diretamente
_security_category security_result.category Mesclado
entry_format security_result.category Mapeado: json_format_security_category, kv_format1_security_category
_category_details security_result.category_details Mesclado
cat security_result.category_details Mesclado
entry_format security_result.category_details Mapeado: json_formatcat, json_format_category_details, kv_format1cat, k...
sec_result_category_details security_result.category_details Mesclado
Scan_Type security_result.description Mapeado diretamente
Type security_result.description Mapeado diretamente
msg_data_2 security_result.description Mapeado diretamente
entry_format security_result.detection_fields Valores mapeados (14 no total, por exemplo, json_formatoperation_label, json_format → `operasjon_...
infection_channel_label security_result.detection_fields Mesclado
operasjon_label security_result.detection_fields Mesclado
operation_label security_result.detection_fields Mesclado
permission_label security_result.detection_fields Mesclado
spyware_Grayware_Type_label security_result.detection_fields Mesclado
threat_probability_label security_result.detection_fields Mesclado
tillatelse_label security_result.detection_fields Mesclado
mwProfile security_result.rule_name Mapeado diretamente
policy security_result.rule_name Mapeado diretamente
rule_name security_result.rule_name Mapeado diretamente
entry_format security_result.severity Valores mapeados (8 no total, por exemplo, json_formatLOW, json_formatMEDIUM, json_format ...
risk security_result.severity Mapeado: High RiskHIGH, Medium RiskMEDIUM
severity security_result.severity Mapeado: "0", "1", "2", "3", "LOW"LOW, "4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"...
risk security_result.severity_details Mapeado diretamente
Result security_result.summary Mapeado diretamente
appcategory security_result.summary Mapeado diretamente
av_status security_result.summary Mapeado diretamente
block_reason security_result.summary Mapeado diretamente
content security_result.summary Mapeado diretamente
icap_status security_result.summary Mapeado diretamente
reason security_result.summary Renomeado/mapeado
summary security_result.summary Mapeado diretamente
Spyware security_result.threat_name Mapeado diretamente
Unknown_Threat security_result.threat_name Mapeado diretamente
Virus_Malware_Name security_result.threat_name Mapeado diretamente
oldFilePath src.file.full_path Renomeado/mapeado
oldFileSize src.file.size Renomeado/mapeado
entry_format src.resource.attribute.permissions Mapeado: json_formatold_permissions, kv_format1old_permissions
old_permissions src.resource.attribute.permissions Mesclado
_target target Renomeado/mapeado
dntdom target.administrative_domain Renomeado/mapeado
appname target.application Mapeado diretamente
destinationServiceName target.application Renomeado/mapeado
tar_host target.asset.hostname Mapeado diretamente
tar_host target.hostname Mapeado diretamente
target_hostname target.hostname Mapeado diretamente
temp_dhost target.hostname Mapeado diretamente
IPv6_Address target.ip Mesclado
dst_ip target.ip Mesclado
entry_format target.ip Mapeado: json_formatdst_ip, json_formatIPv6_Address, kv_format1dst_ip, `...
ipv6 target.ip Mapeado: -IPv6_Address
entry_format target.mac Mapeado: json_formatmac_address, kv_format1mac_address
mac_address target.mac Mesclado
destination_translated_address target.nat_ip Mesclado
entry_format target.nat_ip Mapeado: json_formatdestination_translated_address, kv_format1 → `destination_transl...
destinationTranslatedPort target.nat_port Renomeado/mapeado
dpt target.port Renomeado/mapeado
tar_port target.port Mapeado diretamente
dproc target.process.command_line Renomeado/mapeado
File_name target.process.file.full_path Mapeado diretamente
Infected_Resource target.process.file.full_path Mapeado diretamente
Object target.process.file.full_path Mapeado diretamente
Objekt target.process.file.full_path Mapeado diretamente
dpid target.process.pid Renomeado/mapeado
entry_format target.resource.attribute.labels Mapeado: json_formatresource_Type_label, kv_format1resource_Type_label
resource_Type_label target.resource.attribute.labels Mesclado
request target.url Mapeado diretamente
tar_host target.url Mapeado diretamente
tar_port target.url Mapeado diretamente
entry_format target.user.attribute.roles Mapeado: json_formattarget_role, kv_format1target_role
target_role target.user.attribute.roles Mesclado
CustomerName target.user.user_display_name Mapeado diretamente
temp_duser target.user.user_display_name Mapeado diretamente
Bruker target.user.userid Mapeado diretamente
User_value target.user.userid Mapeado diretamente
temp_duid target.user.userid Mapeado diretamente
N/A metadata.event_type Constante: PROCESS_UNCATEGORIZED
N/A network.direction Constante: INBOUND
N/A security_result.severity Constante: LOW

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