Coletar registros do Pulse Secure

Compatível com:

Este documento descreve como coletar registros do Pulse Secure usando um forwarder de operações de segurança do Google.

Para mais informações, consulte Visão geral da transferência de dados para as operações de segurança do Google.

Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos para o formato estruturado do UDM. As informações neste documento se aplicam ao analisador com o rótulo de transferência PULSE_SECURE_VPN.

Configurar a VPN Pulse Secure

Para configurar a VPN Pulse Secure, siga um destes procedimentos:

  • Configurar a VPN Pulse Secure versão 8.3R3 e anteriores
  • Configurar a VPN Pulse Secure versão 8.3R4 e mais recentes

Configurar a VPN Pulse Secure versão 8.3R3 e anteriores

  1. Faça login no console do Pulse Connect Secure.
  2. No console do Pulse Connect Secure, selecione Sistema > Registro/monitoramento > Configurações. Selecione Configurações nas guias Eventos, Acesso do usuário ou Acesso do administrador.
  3. Na seção Selecionar eventos para registro, marque todas as caixas de seleção que correspondem aos eventos.
  4. Na seção Servidores Syslog, faça o seguinte:
    1. No campo Server name/IP, especifique o endereço IP do encaminhador de operações de segurança do Google.
    2. Na lista Facility, selecione LOCAL0. A lista Facility fornece oito instalações: LOCAL0 a LOCAL7. É possível usar uma dessas configurações para mapear recursos no servidor syslog.
    3. Na lista Tipo, selecione UDP ou TCP.
  5. Clique em Adicionar.
  6. Opcional: para adicionar vários servidores syslog para eventos, acesso de administrador ou logs de acesso do usuário, repita as etapas de 2 a 4.
  7. Clique em Salvar alterações.
  8. Para garantir que o formato de registro padrão seja definido como padrão, faça o seguinte:
    1. Abra o console Pulse Connect Secure.
    2. Nas guias Eventos, Acesso do usuário e Acesso do administrador, defina Filtros como Padrão.
    3. Se o filtro padrão não estiver definido como padrão, clique em Definir como padrão.
    4. Clique em Salvar.

Configurar a VPN Pulse Secure versão 8.3R4 e mais recentes

  1. No console Pulse Connect Secure, clique na guia Eventos, Acesso do usuário ou Acesso do administrador e defina Filtros como Novo filtro.
  2. No campo Nome do filtro, insira um nome para o filtro.
  3. Na seção Formato de exportação, selecione Personalizado e insira o seguinte formato no campo:

    [SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%

  4. Clique em Salvar.

  5. Dependendo da versão do dispositivo para ativar a configuração do syslog, faça uma das seguintes ações:

    • Ativar o registro de syslog na Pulse Secure VPN
    • Ativar o registro de syslog no Ivanti Connect Secure

Ativar o registro de syslog na VPN Pulse Secure

  1. No console Pulse Connect Secure, selecione Sistema > Registro/monitoramento > Configurações. Selecione Configurações nas guias Eventos, Acesso do usuário ou Acesso do administrador.
  2. Na seção Selecionar eventos para registro, marque todas as caixas de seleção, exceto Acesso a HTML5, Mensagens de controle de admissão e Solicitações não autenticadas.
  3. No campo Servidor syslog, insira informações sobre os servidores syslog.
  4. Na seção Servidores Syslog, faça o seguinte:
    1. No campo Nome do servidor/IP, insira o nome do servidor ou o endereço IP do encaminhador das operações de segurança do Google.
    2. Na lista Facility, selecione LOCAL0.
    3. Na lista Filtro, selecione o filtro que você criou anteriormente.
  5. Clique em Adicionar.
  6. Opcional: para adicionar vários servidores syslog para eventos, acesso de administrador ou logs de acesso do usuário, repita as etapas 2 a 4.
  7. Clique em Salvar alterações.

Ativar o registro de syslog no Ivanti Connect Secure

  1. No console do Pulse Connect Secure, clique na guia Eventos, Acesso do usuário ou Acesso do administrador e selecione Filtros.
  2. Clique na guia Novo filtro.
  3. Na seção Formato de exportação, selecione Personalizado e insira o seguinte formato no campo:

    [SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%

  4. Clique em Salvar.

  5. Clique em Sistema > Registro/monitoramento e selecione a guia Configurações.

  6. No campo Tamanho máximo do registro, especifique o tamanho máximo do registro e selecione os eventos a serem registrados.

  7. Especifique a configuração do servidor da seguinte maneira:

    1. No campo Server name/IP, especifique o nome de domínio totalmente qualificado ou o endereço IP do encaminhador de operações de segurança do Google para o servidor syslog.

      Se você selecionar Transport Layer Security (TLS) na lista de tipos, o nome do servidor precisa corresponder ao CN no DN do assunto no certificado recebido do servidor.

    2. Na lista Instalação, selecione um nível de instalação do servidor syslog.

    3. Na lista Type, selecione o tipo de conexão com o servidor syslog como UDP, TCP ou TLS. O TLS usa protocolos criptográficos para fornecer uma comunicação segura.

      Se você selecionar TLS, selecione o certificado do cliente instalado para usar na autenticação do servidor syslog. Os certificados do cliente são definidos na janela Configuration > Certificates > Client auth certificates. Os certificados do cliente precisam ser instalados no dispositivo antes de serem usados. Entre em contato com a autoridade certificadora para receber o certificado.

    4. Na lista Filtro, selecione Personalizado.

  8. Clique em Adicionar.

Configurar o forwarder do Google Security Operations para processar registros do Pulse Secure

  1. Selecione Configurações do SIEM > Encaminhadores.
  2. Clique em Adicionar novo encaminhador.
  3. No campo Nome do encaminhador, insira um nome exclusivo.
  4. Clique em Enviar e em Confirmar. O encaminhador é adicionado, e a janela Add collector configuration aparece.
  5. No campo Nome do coletor, digite um nome exclusivo para o coletor.
  6. Selecione Pulse Secure como o Tipo de registro.
  7. Selecione Syslog como o Tipo de coletor.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Protocolo: especifique o protocolo de conexão que o coletor usa para detectar dados do syslog.
    • Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor reside e escuta os dados do syslog.
    • Porta: especifique a porta de destino em que o coletor reside e escuta os dados do syslog.
  9. Clique em Enviar.

Para mais informações sobre os encaminhadores do Google Security Operations, consulte Gerenciar configurações de encaminhadores na interface do Google Security Operations.

Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte de operações de segurança do Google.

Referência do mapeamento de campo

Esse analisador extrai campos dos registros da VPN Pulse Secure, processando os formatos de syslog e de registro de eventos do Windows. Ele normaliza várias estruturas de registro em um formato comum, categorizando eventos como logins, logouts, conexões e alterações de políticas, e os enriquece com dados contextuais, como user agents, endereços IP e carimbos de data/hora.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
ação security_result.action_details Mapeado diretamente do campo action.
aplicativo principal.application Mapeado diretamente do campo application.
bytes_read network.received_bytes Mapeado diretamente do campo bytes_read e convertido em número inteiro não assinado.
bytes_written network.sent_bytes Mapeado diretamente do campo bytes_written e convertido em número inteiro não assinado.
client_host principal.hostname, principal.asset.hostname Mapeado diretamente do campo client_host.
cmd principal.process.command_line Mapeado diretamente do campo cmd.
connection_status security_result.detection_fields.value.string_value Mapeado diretamente do campo connection_status.
data_time metadata.event_timestamp.seconds Analisado do campo data_time usando vários formatos de carimbo de data/hora (MM-dd-aaaa HH:mm:ss Z, RFC 3339, ISO8601, MMM d HH:mm:ss, MMM d HH:mm:ss).
devname principal.hostname, principal.asset.hostname Mapeado diretamente do campo devname.
dstip target.ip, target.asset.ip Mapeado diretamente do campo dstip.
dstport target.port Mapeado diretamente do campo dstport e convertido em número inteiro.
dstcountry target.location.country_or_region Mapeado diretamente do campo dstcountry se ele não estiver "Reservado" ou vazio.
duration network.session_duration.seconds Mapeado diretamente do campo duration e convertido em número inteiro.
dvc intermediary.hostname ou intermediary.ip Se o campo dvc puder ser convertido em um endereço IP, ele será mapeado para intermediary.ip. Caso contrário, ele será mapeado para intermediary.hostname.
dvc_hostname intermediary.hostname, principal.hostname, principal.asset.hostname ou intermediary.ip, principal.ip, principal.asset.ip Se o campo dvc_hostname puder ser convertido em um endereço IP, ele será mapeado para os respectivos campos IP. Caso contrário, ele será mapeado para os respectivos campos de nome de host.
event_type metadata.product_event_type Mapeado diretamente do campo event_type.
failure_reason security_result.description Mapeado diretamente do campo failure_reason. Se a mensagem contiver "because host", o texto "host" será adicionado ao motivo da falha.
has_principal event.idm.read_only_udm.principal (presença) Defina como "true" se algum campo principal for preenchido ou "false" caso contrário. Derivado pela lógica do analisador.
has_target event.idm.read_only_udm.target (presença) Defina como "true" se algum campo de destino for preenchido. Caso contrário, defina como "false". Derivado pela lógica do analisador.
has_target_user event.idm.read_only_udm.target.user.userid (presença) Defina como "true" se target.user.userid estiver preenchido ou como "false" caso contrário. Derivado pela lógica do analisador.
host_ip principal.ip, principal.asset.ip Mapeado diretamente do campo host_ip.
host_mac principal.mac Mapeado diretamente do campo host_mac, substituindo hifens por dois-pontos.
http_method network.http.method Mapeado diretamente do campo http_method.
http_response network.http.response_code Mapeado diretamente do campo http_response e convertido em número inteiro.
info_desc about.labels.value Mapeado diretamente do campo info_desc.
ip_new target.ip, target.asset.ip Mapeado diretamente do campo ip_new.
level security_result.severity, security_result.severity_details O security_result.severity é derivado do campo level ("erro"/"aviso" -> ALTO, "aviso" -> MÉDIO, "informação"/"info" -> BAIXO). O valor bruto de level também é mapeado para security_result.severity_details.
logid metadata.product_log_id Mapeado diretamente do campo logid.
locip principal.ip, principal.asset.ip Mapeado diretamente do campo locip.
mensagem metadata.description Usado para extrair vários campos usando filtros grok e kv. Se a mensagem contiver "EventID", ela será processada como um log de eventos do Windows.
message_info metadata.description Mapeado diretamente para metadata.description, se não for usado em padrões de grok mais específicos.
msg metadata.product_event_type, metadata.description Se o campo msg estiver presente, o tipo de produto será extraído e mapeado para metadata.product_event_type, e a mensagem restante será mapeada para metadata.description.
msg_hostname principal.hostname, principal.asset.hostname Mapeado diretamente do campo msg_hostname.
msg_ip principal.ip, principal.asset.ip Mapeado diretamente do campo msg_ip.
msg_user_agent network.http.user_agent, network.http.parsed_user_agent, metadata.product_version A string do user agent é mapeada para network.http.user_agent, o user agent analisado é mapeado para network.http.parsed_user_agent e a versão do produto (se presente) é mapeada para metadata.product_version.
network_duration network.session_duration.seconds Mapeado diretamente do campo network_duration e convertido em número inteiro.
policyid security_result.rule_id Mapeado diretamente do campo policyid.
policyname security_result.rule_name Mapeado diretamente do campo policyname.
policytype security_result.rule_type Mapeado diretamente do campo policytype.
priority_code about.labels.value Mapeado diretamente do campo priority_code e também usado para derivar about.labels.value para a chave "Severity" (consulte "Lógica").
prod_name metadata.product_name Mapeado diretamente do campo prod_name.
product_type metadata.product_event_type Mapeado diretamente do campo product_type.
product_version metadata.product_version Mapeado diretamente do campo product_version.
proto network.ip_protocol Mapeado para network.ip_protocol depois de ser convertido em um nome de protocolo IP usando uma pesquisa.
pwd principal.process.file.full_path Mapeado diretamente do campo pwd.
realm principal.group.attribute.labels.value Mapeado diretamente do campo realm.
rcvdbyte network.received_bytes Mapeado diretamente do campo rcvdbyte e convertido em número inteiro não assinado.
remip target.ip Mapeado diretamente do campo remip.
resource_name target.resource.name Mapeado diretamente do campo resource_name após a remoção de espaços em branco e hifens iniciais/finais.
resource_status security_result.description Mapeado diretamente do campo resource_status.
resource_user_group principal.user.group_identifiers Mapeado diretamente do campo resource_user_group.
resource_user_name principal.user.userid Mapeado diretamente do campo resource_user_name.
papéis principal.user.group_identifiers Mapeado diretamente do campo roles.
sentbyte network.sent_bytes Mapeado diretamente do campo sentbyte e convertido em número inteiro não assinado.
session_id network.session_id Mapeado diretamente do campo session_id.
sessionid network.session_id Mapeado diretamente do campo sessionid.
srcip principal.ip, principal.asset.ip Mapeado diretamente do campo srcip.
srcport principal.port Mapeado diretamente do campo srcport e convertido em número inteiro.
srccountry principal.location.country_or_region Mapeado diretamente do campo srccountry se ele não estiver "Reservado" ou vazio.
subtipo metadata.product_event_type Usado com type para formar metadata.product_event_type.
target_file target.file.full_path Mapeado diretamente do campo target_file.
target_host target.hostname, target.asset.hostname Mapeado diretamente do campo target_host.
target_ip target.ip, target.asset.ip Mapeado diretamente do campo target_ip.
target_port target.port Mapeado diretamente do campo target_port e convertido em número inteiro.
target_url target.url Mapeado diretamente do campo target_url.
tempo metadata.event_timestamp.seconds Analisado do campo time usando o formato "aaaa-mm-dd HH:mm:ss".
tipo metadata.product_event_type Usado com subtype para formar metadata.product_event_type.
u_event_source_ip principal.ip, principal.asset.ip ou target.ip Se target_ip ou target_host estiverem presentes, u_event_source_ip será mapeado para principal.ip e principal.asset.ip. Caso contrário, se target_ip, target_host e target_url estiverem vazios, u_event_source_ip será mapeado para target.ip.
u_observer_ip observer.ip Mapeado diretamente do campo u_observer_ip.
u_prin_ip principal.ip, principal.asset.ip Mapeado diretamente do campo u_prin_ip.
usuário target.user.userid Mapeado diretamente do campo user.
user_agent network.http.user_agent, network.http.parsed_user_agent A string do user agent é mapeada para network.http.user_agent, e o user agent analisado é mapeado para network.http.parsed_user_agent.
user_group_identifier target.user.group_identifiers ou principal.user.group_identifiers Mapeado para target.user.group_identifiers na maioria dos casos. Mapeado para principal.user.group_identifiers na mudança de IP (USER_UNCATEGORIZED) e nos eventos de restrições do Realm.
user_ip principal.ip, principal.asset.ip Mapeado diretamente do campo user_ip. Se estiver vazio e u_event_source_ip não estiver, o valor de u_event_source_ip será usado.
nome de usuário principal.user.userid ou target.user.userid Mapeado para principal.user.userid na maioria dos casos. Mapeado para target.user.userid em alguns cenários específicos (por exemplo, quando detect_user_logout_failed é falso e detect_policy_change_failed é falso).
username_removed target.user.userid Mapeado diretamente do campo username_removed.
vd principal.administrative_domain Mapeado diretamente do campo vd.

metadata.vendor_name, metadata.product_name, metadata.event_type, metadata.log_type, network.ip_protocol, security_result.action, security_result.severity e extensions.auth.type são derivados ou definidos pela lógica do analisador com base nas condições descritas na coluna "Lógica".

Alterações

2024-05-27

  • "observer_hostname" foi mapeado para "observer.hostname".
  • Quando "dvc_hostname" é um endereço IP válido, ele é mapeado para "principal.ip". Caso contrário, ele é mapeado para "principal.hostname".
  • "priority_code", "Syslog_version" e "info_desc" foram mapeados para "about.labels".
  • "prod_name" foi associado a "metadata.product_event_type".

2024-04-16

  • Foi adicionado um novo padrão GROK para analisar um novo padrão de registros SYSLOG.
  • "connection_status" foi mapeado para "security_result.detection_fields".

2024-02-26

  • Adicionamos um bloco "kv" para analisar dados de chave-valor.
  • Mapeou "username" para "target.user.userid".
  • Adição de verificação condicional para "message_info".
  • "u_prin_ip" foi mapeado para "principal.ip".
  • "u_observer_ip" foi mapeado para "observer.ip".

2023-11-07

  • Correção de bugs:
  • O mapeamento de "observer_host" foi modificado de "observer.hostname" para "additional.fields".

2023-08-19

  • Um padrão Grok foi adicionado para analisar registros com falha.

2023-05-26

  • Adicionamos um padrão Grok para oferecer suporte aos novos registros do syslog.

2023-01-06

  • O grok foi modificado para analisar "product_type" e mapear para "metadata.product_event_type".

2022-10-25

  • Foram adicionados novos padrões grok para "message_info" para extrair session_id.
  • "session_id" foi mapeado para "network.session_id".
  • A target.ip foi alterada para principal.ip quando detect_policy_change_failed é falso.
  • A target.mac foi alterada para principal.mac quando detect_policy_change_failed é falso.

2022-10-12

  • Melhoria: foram adicionados mapeamentos para os seguintes campos:
  • O valor de IP foi extraído do campo "msg" e mapeado para "principal.ip".
  • O valor do nome do host foi extraído do campo "msg" e mapeado para "principal.hostname".
  • Mapeamos "user" para "target.user.userid".
  • "realm" foi mapeado para "principal.group.attribute.labels".
  • "roles" foi mapeado para "principal.user.group_identifiers".
  • O valor de "metadata.event_type" foi modificado de "GENERIC_EVENT" para "USER_UNCATEGORIZED".

2022-10-03

  • Melhoria: os registros que contêm "sudo" foram analisados.
  • Adição de suporte a novos formatos de registro do tipo par de chave-valor.

2022-07-01

  • Melhoria: geração de um novo evento para o ID de evento: 4624
  • O formulário metadata.event_type foi alterado de "GENERIC_EVENT" para "STATUS_UPDATE" ou "NETWORK_CONNECTION", em que "principal.ip" ou "target.ip" ou "principal.hostname" não são nulos.

13/04/2022

  • Mapeamentos adicionados com a melhoria para novos campos em GENERIC_EVENT event_type:
  • user_ip para event.idm.read_only_udm.principal.ip.
  • user_group_identifier para event.idm.read_only_udm.target.user.group_identifiers.
  • O carimbo de data/hora foi modificado em todos os event_type para incluir o fuso horário.
  • O campo user_ip e target_ip foi modificado para os tipos de evento GENERIC e NETWORK_CONNECTION.