Coletar registros do Pulse Secure

Compatível com:

Neste documento, descrevemos como coletar registros do Pulse Secure usando um encaminhador do Google Security Operations.

Para mais informações, consulte Visão geral da ingestão de dados no Google Security Operations.

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

Configurar a VPN do Pulse Secure

Para configurar a VPN Pulse Secure, faça o seguinte:

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

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

  1. Faça login no console do Pulse Connect Secure.
  2. No console Pulse Connect Secure, selecione Sistema > Registro/monitoramento > Configurações. Selecione Configurações na guia Eventos, Acesso do usuário ou Acesso de administrador.
  3. Na seção Selecionar eventos para registrar, marque todas as caixas de seleção correspondentes aos eventos.
  4. Na seção Servidores Syslog, faça o seguinte:
    1. No campo Nome/IP do servidor, especifique o endereço IP do encaminhador do Google Security Operations.
    2. Na lista Unidade, selecione LOCAL0. A lista Unidade oferece oito unidades: LOCAL0 a LOCAL7. Você pode usar uma destas configurações para mapear instalações no seu 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 registros 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 esteja 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 o filtro padrão, clique em Definir como padrão.
    4. Clique em Salvar.

Configurar o Pulse Secure VPN 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, faça o seguinte para ativar a configuração do syslog:

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

Ativar o registro syslog na VPN Pulse Secure

  1. No console Pulse connect secure, selecione System > Log/monitoring > Settings. Selecione Configurações na guia Eventos, Acesso do usuário ou Acesso de administrador.
  2. Na seção Selecionar eventos para registrar, marque todas as caixas de seleção, exceto Acesso 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/IP do servidor, insira o nome do servidor ou o endereço IP do encaminhador do Google Security Operations.
    2. Na lista Unidade, 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 registros de acesso do usuário, repita as etapas de 2 a 4.
  7. Clique em Salvar alterações.

Ative o registro syslog no Ivanti Connect Secure

  1. No console Pulse connect secure, clique na guia Eventos, Acesso do usuário ou Acesso de 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 que serão registrados.

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

    1. No campo Nome/IP do servidor, especifique o nome de domínio totalmente qualificado ou o endereço IP do encaminhador do Google Security Operations para o servidor syslog.

      Se você selecionar Transport Layer Security (TLS) na lista de tipos, o nome do servidor precisará corresponder ao CN no subjectDN do certificado obtido do servidor.

    2. Na lista Facility, selecione um nível de facilidade do servidor syslog.

    3. Na lista Tipo, 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, escolha o certificado do cliente instalado para autenticar o servidor syslog. Os certificados de cliente são definidos na janela Configuração > Certificados > Certificados de autenticação do cliente. Os certificados de 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 encaminhador do Google Security Operations para ingerir 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 para ele.
  4. Clique em Enviar e em Confirmar. O encaminhador é adicionado, e a janela Adicionar configuração do coletor aparece.
  5. No campo Nome do coletor, digite um nome exclusivo para ele.
  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 ouvir 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 encaminhador na interface do Google Security Operations.

Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte do Google Security Operations.

Referência de mapeamento de campos

Esse analisador extrai campos de registros de VPN do Pulse Secure, processando formatos de syslog e de registros de eventos do Windows. Ele normaliza diversas estruturas de registros em um formato comum, categorizando eventos como logins, logoffs, conexões e mudanças de política, enriquecendo-os 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 um número inteiro sem sinal.
bytes_written network.sent_bytes Mapeado diretamente do campo bytes_written e convertido em um número inteiro sem sinal.
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 não for "Reservado" ou estiver 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 de IP. Caso contrário, ele será mapeado para os respectivos campos de nome do 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 antes do motivo da falha.
has_principal event.idm.read_only_udm.principal (presença) Definido como "true" se algum campo principal estiver preenchido. Caso contrário, "false". Derivada pela lógica do analisador.
has_target event.idm.read_only_udm.target (presença) Definido como "true" se algum campo de destino for preenchido. Caso contrário, "false". Derivada 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. Caso contrário, defina como "false". Derivada 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 hífens 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 A security_result.severity é derivada do campo level ("error"/"warning" -> HIGH, "notice" -> MEDIUM, "information"/"info" -> LOW). 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 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 o restante da mensagem será mapeado 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 de 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 "Gravidade" (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 um número inteiro sem sinal.
remip target.ip Mapeado diretamente do campo remip.
resource_name target.resource.name Mapeado diretamente do campo resource_name depois de remover espaços em branco e hífens à esquerda e à direita.
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 um número inteiro sem sinal.
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 não for "Reservado" ou estiver vazio.
subtype 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 de 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 nos eventos de mudança de IP (USER_UNCATEGORIZED) e restrições de 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, ele vai receber o valor de u_event_source_ip.
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 é "false" e detect_policy_change_failed é "false").
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".

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