Coletar registros do Skyhigh Secure Web Gateway (antigo McAfee Web Gateway)
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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- 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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- 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
- 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 root 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 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
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,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda 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.jsonpara 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:
Execute este comando:
sudo systemctl restart observiq-otel-collectorVerifique se o serviço está em execução:
sudo systemctl status observiq-otel-collectorVerifique 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:
- Pressione
Win+R, digiteservices.msce pressione Enter. - Localize o Coletor do OpenTelemetry da observIQ.
- Clique com o botão direito do mouse e selecione Reiniciar.
- Pressione
Verifique se o serviço está em execução:
sc query observiq-otel-collectorVerifique 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
- Faça login no console de gerenciamento do Skyhigh Secure Web Gateway.
- Acesse Política > Configurações > Registro em log > Syslog.
- Clique em Adicionar para criar um destino syslog.
- 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.
- Servidor Syslog: insira o endereço IP do agente do Bindplane (por exemplo,
- 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.
- Clique em Salvar alterações.
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_format → about, kv_format1 → about |
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_format → ips, kv_format1 → ips |
ips |
about.ip |
Mesclado |
dvc_mac |
about.mac |
Mapeado: slot → mac_address |
dvcmac |
about.mac |
Mesclado |
entry_format |
about.mac |
Mapeado: json_format → mac_address, json_format → dvcmac, kv_format1 → `mac_address... |
mac_address |
about.mac |
Mesclado |
deviceTranslatedAddress |
about.nat_ip |
Mesclado |
entry_format |
about.nat_ip |
Mapeado: json_format → deviceTranslatedAddress, kv_format1 → deviceTranslatedAddress |
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_format → permissions, kv_format1 → permissions |
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_test → additional_cs2 |
cs5_label |
additional.fields |
Mesclado |
entry_format |
additional.fields |
Valores mapeados (43 no total, por exemplo, json_format → additional_eventId, json_format → `additio... |
facility_label |
additional.fields |
Mesclado |
priority_label |
additional.fields |
Mesclado |
reputation_label |
additional.fields |
Mesclado |
entry_format |
intermediary |
Mapeado: json_format → intermediary, kv_format1 → intermediary |
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_format → PROCESS_UNCATEGORIZED, json_format → SCAN_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: 0 → INBOUND, 1 → OUTBOUND |
entry_format |
network.direction |
Mapeado: json_format → INBOUND, json_format → OUTBOUND, kv_format1 → INBOUND, `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_format → uinteger, kv_format1 → uinteger |
in |
network.received_bytes |
Renomeado/mapeado |
bytesFromClient |
network.sent_bytes |
Mapeado diretamente |
entry_format |
network.sent_bytes |
Mapeado: json_format → uinteger, kv_format1 → uinteger |
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_format → clientIP, json_format → principal_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_format → principal_ip, json_format → shost, `json_... |
principal_ip |
principal.ip |
Mesclado |
shost |
principal.ip |
Mesclado |
entry_format |
principal.mac |
Mapeado: json_format → mac, kv_format1 → mac |
mac |
principal.mac |
Mesclado |
entry_format |
principal.nat_ip |
Mapeado: json_format → sourceTranslatedAddress, kv_format1 → sourceTranslatedAddress |
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_format → principal_role, kv_format1 → principal_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_format → security_result, kv_format1 → security_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 Reason → action |
entry_format |
security_result.action |
Valores mapeados (6 no total, por exemplo, json_format → _action, json_format → action, `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_format → cat, json_format → _category_details, kv_format1 → cat, 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_format → operation_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_format → LOW, json_format → MEDIUM, json_format ... |
risk |
security_result.severity |
Mapeado: High Risk → HIGH, Medium Risk → MEDIUM |
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_format → old_permissions, kv_format1 → old_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_format → dst_ip, json_format → IPv6_Address, kv_format1 → dst_ip, `... |
ipv6 |
target.ip |
Mapeado: - → IPv6_Address |
entry_format |
target.mac |
Mapeado: json_format → mac_address, kv_format1 → mac_address |
mac_address |
target.mac |
Mesclado |
destination_translated_address |
target.nat_ip |
Mesclado |
entry_format |
target.nat_ip |
Mapeado: json_format → destination_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_format → resource_Type_label, kv_format1 → resource_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_format → target_role, kv_format1 → target_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.