Coletar registros do WAF da Imperva

Compatível com:

Este documento explica como coletar registros do firewall de aplicativos da Web (WAF) da Imperva para o Google Security Operations usando uma API (extração) ou o Amazon S3 (envio). O analisador transforma registros dos formatos SYSLOG+KV, JSON, CEF e LEEF em um modelo de dados unificado (UDM). Ele processa várias estruturas de registros, extrai campos relevantes, os normaliza em atributos da UDM e enriquece os dados com informações contextuais para melhorar a análise de segurança.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Tipo de ingestão (API ou Amazon S3) que melhor se adapta aos seus requisitos de configuração.
  • Instância do Google SecOps.
  • Acesso privilegiado à AWS.
  • Acesso privilegiado ao WAF da Imperva.

Coletar registros do WAF da Imperva usando a API

Configurar um usuário somente leitura para o WAF da Imperva

  1. Faça login no Console do Imperva com uma conta privilegiada.
  2. Acesse Configurações > Usuários e papéis.
  3. Clique em Adicionar usuário.
  4. Preencha os campos obrigatórios:
    • Nome de usuário: insira um nome de usuário exclusivo.
    • Senha: defina uma senha forte.
    • E-mail: informe o endereço de e-mail do usuário.
    • Na seção Papéis, selecione o papel Leitor.
  5. Clique em Salvar para criar o usuário com acesso somente leitura.

Opcional: configurar o usuário leitor como somente API

  1. Na lista Usuários, localize o usuário recém-criado.
  2. Clique no botão Ações (três pontos) ao lado do nome do usuário.
  3. Selecione Definir como usuário somente de API.

Gerar o ID e a chave de API

  1. Na lista Usuários, selecione o usuário recém-criado.
  2. Selecione Configurações e clique em Chaves de API.
  3. Clique em Adicionar chave de API.
  4. Preencha os campos obrigatórios:
    • Nome: insira um nome descritivo para a chave de API.
    • Opcional: Descrição: informe uma descrição opcional.
    • Na lista A chave de API vai expirar em, selecione Nunca.
    • Para ativar, selecione Status.
  5. Clique em Salvar.

O sistema mostra o ID e a chave da API. Copie e salve essas credenciais, porque elas não serão mostradas novamente.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em "Configurações do SIEM" > "Feeds".

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed, por exemplo, Registros do WAF do Imperva Incapsula.
  5. Selecione API de terceiros como o Tipo de origem.
  6. Selecione Imperva como o Tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:
    • Cabeçalho HTTP de autenticação: insira o ID e a chave da API do Imperva em duas linhas: apiId:<YOUR_API_ID> e apiKey:<YOUR_API_KEY>.
  9. Clique em Próxima.
  10. Revise a configuração do feed na tela Finalizar e clique em Enviar.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Cabeçalho HTTP de autenticação: insira o ID e a chave da API do Imperva em duas linhas: apiId:<YOUR_API_ID> e apiKey:<YOUR_API_KEY>.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

Coletar registros do WAF da Imperva usando o Amazon S3

Configurar o AWS IAM e o S3

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Como criar um bucket
  2. Salve o Nome e a Região do bucket para uso posterior.
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Download .csv file e salve a Chave de acesso e a Chave de acesso secreta para uso posterior.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar a conexão do Imperva WAF com o Amazon S3

  1. Faça login no Console do Imperva com uma conta privilegiada.
  2. Acesse Registros > Configuração de registros.
  3. Selecione Amazon S3.
  4. Preencha os campos obrigatórios:
    • Chave de acesso
    • Chave do secret
    • Caminho: insira o caminho no seguinte formato: <Amazon S3 bucket name>/<log folder>; por exemplo: MyBucket/MyIncapsulaLogFolder.
  5. Clique em Testar conexão para realizar um ciclo de teste completo em que um arquivo de teste é transferido para a pasta designada.
  6. Selecione o formato dos arquivos de registro como CEF.
  7. Por padrão, os arquivos de registro são compactados. Defina a opção para não compactar arquivos.

Configurar um feed no Google SecOps para ingerir registros do WAF da Imperva do Amazon S3

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed, por exemplo, Imperva WAF Logs.
  4. Selecione Amazon S3 como o Tipo de origem.
  5. Selecione Imperva como o Tipo de registro.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:

    • Região: a região em que o bucket do Amazon S3 está localizado.
    • URI do S3: o URI do bucket.
      • s3://your-log-bucket-name/
      • Substitua your-log-bucket-name pelo nome real do bucket.
    • URI é um: selecione Diretório ou Diretório que inclui subdiretórios.
    • Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
    • ID da chave de acesso: a chave de acesso do usuário com acesso ao bucket do S3.
    • Chave de acesso secreta: a chave secreta do usuário com acesso ao bucket do S3.
    • Namespace do recurso: o namespace do recurso.
    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed.
  8. Clique em Próxima.

  9. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento da UDM Lógica
account_id target.user.userid O ID da conta do objeto JSON
age security_result.action Se act for allowed, alert, começar com REQ_PASSED ou começar com REQ_CACHED, defina como ALLOW. Se act for deny, blocked, começar com REQ_BLOCKED ou começar com REQ_CHALLENGE, defina como BLOCK. Se act corresponder à regex (?i)REQ_BAD, defina como FAIL. Caso contrário, defina como UNKNOWN_ACTION.
app network.application_protocol Renomeado de kv.app. Convertido para maiúsculas.
calCountryOrRegion principal.location.country_or_region Renomeado de calCountryOrRegion.
gato security_result.action_details Se cat começar com REQ_PASSED ou REQ_CACHED, defina action como ALLOW e action_details como uma descrição baseada no valor de cat. Se cat começar com REQ_BAD, defina action como FAIL e action_details como uma descrição com base no valor de cat. Se cat começar com REQ_BLOCKED ou REQ_CHALLENGE, defina action como BLOCK e action_details como uma descrição baseada no valor de cat.
cicode principal.location.city Renomeado de cicode.
classified_client security_result.detection_fields Se classified_client não estiver vazio, crie uma nova entrada detection_fields com a chave classified_client e o valor classified_client.
client.domain principal.hostname, principal.asset.hostname Renomeado de client.domain.
client.geo.country_iso_code principal.location.country_or_region Renomeado de client.geo.country_iso_code.
client.ip principal.ip, principal.asset.ip Mesclado com principal.ip e principal.asset.ip.
cn1 network.http.response_code Renomeado de cn1. Convertido em número inteiro.
context_key target.resource.name Renomeado de context_key.
país principal.location.country_or_region Renomeado de country.
credentials_leaked security_result.detection_fields Convertido em string. Se não estiver vazio, crie uma nova entrada detection_fields com a chave credentials_leaked e o valor credentials_leaked.
cs1 security_result.detection_fields Se cs1 não estiver vazio, NA ou `, create a newdetection_fieldsentry with keycs1Labeland valuecs1`.
cs1Label security_result.detection_fields Usado como a chave para a entrada detection_fields criada com base em cs1.
cs2 security_result.detection_fields Se cs2 não estiver vazio, crie uma nova entrada detection_fields com a chave cs2Label e o valor cs2.
cs2Label security_result.detection_fields Usado como a chave para a entrada detection_fields criada com base em cs2.
cs3 security_result.detection_fields Se cs3 não estiver vazio, - ou `, create a newdetection_fieldsentry with keycs3Labeland valuecs3`.
cs3Label security_result.detection_fields Usado como a chave para a entrada detection_fields criada com base em cs3.
cs4 security_result.detection_fields Se cs4 não estiver vazio, crie uma nova entrada detection_fields com a chave cs4Label e o valor cs4.
cs4Label security_result.detection_fields Usado como a chave para a entrada detection_fields criada com base em cs4.
cs5 security_result.detection_fields Se cs5 não estiver vazio, crie uma nova entrada detection_fields com a chave cs5Label e o valor cs5.
cs5Label security_result.detection_fields Usado como a chave para a entrada detection_fields criada com base em cs5.
cs6 principal.application Renomeado de cs6.
cs7 principal.location.region_latitude Se cs7Label for latitude, renomeado como principal.location.region_latitude. Convertido para ponto flutuante.
cs7Label Se cs7Label for latitude, será usado para determinar o mapeamento de cs7.
cs8 principal.location.region_longitude Se cs8Label for longitude, renomeado como principal.location.region_longitude. Convertido para ponto flutuante.
cs8Label Se cs8Label for longitude, será usado para determinar o mapeamento de cs8.
cs9 security_result.rule_name, extensions.vulns.vulnerabilities.name Se cs9 não estiver vazio, defina como security_result.rule_name e crie uma nova entrada vulnerabilities com o nome cs9.
Cliente target.user.user_display_name Renomeado de Customer.
declared_client security_result.detection_fields Se declared_client não estiver vazio, crie uma nova entrada detection_fields com a chave declared_client e o valor declared_client.
description security_result.threat_name Renomeado de description.
deviceExternalId network.community_id Renomeado de deviceExternalId.
deviceReceiptTime metadata.event_timestamp Analisado como uma data e definido como metadata.event_timestamp. Se estiver vazio, log_timestamp ou kv.start será usado.
dhost target.hostname Renomeado de kv.dhost.
dproc security_result.category_details Renomeado de dproc.
dpt target.port Renomeado de kv.dpt. Convertido em número inteiro.
dst target.ip, target.asset.ip Se dst não estiver vazio, será mesclado em target.ip e target.asset.ip.
dstPort target.port Renomeado de dstPort. Convertido em número inteiro.
duser target.user.userid Se duser não corresponder à regex .*?Alert.* e não estiver vazio, será renomeado como target.user.userid.
end security_result.detection_fields Se end não estiver vazio, crie uma nova entrada detection_fields com a chave event_end_time e o valor end.
event.id O ID do evento do objeto JSON
event.provider principal.user.user_display_name Renomeado de event.provider.
failed_logins_last_24h security_result.detection_fields Convertido em string. Se não estiver vazio, crie uma nova entrada detection_fields com a chave failed_logins_last_24h e o valor failed_logins_last_24h.
fileId network.session_id Renomeado de fileId.
filePermission security_result.detection_fields Se filePermission não estiver vazio, crie uma nova entrada detection_fields com a chave filePermission e o valor filePermission.
fileType security_result.detection_fields Se fileType não estiver vazio, crie uma nova entrada detection_fields com a chave fileType e o valor fileType.
Impressão digital security_result.detection_fields Se fingerprint não estiver vazio, crie uma nova entrada detection_fields com a chave log_imperva_fingerprint e o valor fingerprint.
flexString1 network.http.response_code Renomeado de kv.flexString1. Convertido em número inteiro.
http.request.body.bytes network.sent_bytes Convertido para número inteiro sem sinal. Renomeado de http.request.body.bytes.
http.request.method network.http.method Renomeado de http.request.method.
imperva.abp.apollo_rule_versions security_result.detection_fields Para cada entrada em imperva.abp.apollo_rule_versions, crie uma entrada detection_fields com a chave apollo_rule_versions_{index} e o valor igual à entrada.
imperva.abp.bot_behaviors security_result.detection_fields Para cada entrada em imperva.abp.bot_behaviors, crie uma entrada detection_fields com a chave bot_behaviors_{index} e o valor igual à entrada.
imperva.abp.bot_deciding_condition_ids security_result.detection_fields Para cada entrada em imperva.abp.bot_deciding_condition_ids, crie uma entrada detection_fields com a chave bot_deciding_condition_ids_{index} e o valor igual à entrada.
imperva.abp.bot_deciding_condition_names security_result.detection_fields Para cada entrada em imperva.abp.bot_deciding_condition_names, crie uma entrada detection_fields com a chave bot_deciding_condition_names_{index} e o valor igual à entrada.
imperva.abp.bot_triggered_condition_ids security_result.detection_fields Para cada entrada em imperva.abp.bot_triggered_condition_ids, crie uma entrada detection_fields com a chave bot_triggered_condition_ids_{index} e o valor igual à entrada.
imperva.abp.bot_triggered_condition_names security_result.detection_fields Para cada entrada em imperva.abp.bot_triggered_condition_names, crie uma entrada detection_fields com a chave bot_triggered_condition_names_{index} e o valor igual à entrada.
imperva.abp.bot_violations security_result.detection_fields Para cada entrada em imperva.abp.bot_violations, crie uma entrada detection_fields com a chave bot_violations_{index} e o valor igual à entrada.
imperva.abp.customer_request_id network.session_id Renomeado de imperva.abp.customer_request_id.
imperva.abp.headers_accept_encoding security_result.detection_fields Se imperva.abp.headers_accept_encoding não estiver vazio, crie uma nova entrada detection_fields com a chave Accept Encoding e o valor imperva.abp.headers_accept_encoding.
imperva.abp.headers_accept_language security_result.detection_fields Se imperva.abp.headers_accept_language não estiver vazio, crie uma nova entrada detection_fields com a chave Accept Language e o valor imperva.abp.headers_accept_language.
imperva.abp.headers_connection security_result.detection_fields Se imperva.abp.headers_connection não estiver vazio, crie uma nova entrada detection_fields com a chave headers_connection e o valor imperva.abp.headers_connection.
imperva.abp.headers_referer network.http.referral_url Renomeado de imperva.abp.headers_referer.
imperva.abp.hsig security_result.detection_fields Se imperva.abp.hsig não estiver vazio, crie uma nova entrada detection_fields com a chave hsig e o valor imperva.abp.hsig.
imperva.abp.monitor_action security_result.action, security_result.severity Se imperva.abp.monitor_action corresponder à regex (?i)allow, defina security_action como ALLOW e severity como INFORMATIONAL. Se imperva.abp.monitor_action corresponder à regex (?i)captcha ou (?i)block, defina security_action como BLOCK.
imperva.abp.pid principal.process.pid Renomeado de imperva.abp.pid.
imperva.abp.policy_id security_result.detection_fields Se imperva.abp.policy_id não estiver vazio, crie uma nova entrada detection_fields com a chave Policy Id e o valor imperva.abp.policy_id.
imperva.abp.policy_name security_result.detection_fields Se imperva.abp.policy_name não estiver vazio, crie uma nova entrada detection_fields com a chave Policy Name e o valor imperva.abp.policy_name.
imperva.abp.random_id additional.fields Se imperva.abp.random_id não estiver vazio, crie uma nova entrada additional.fields com a chave Random Id e o valor imperva.abp.random_id.
imperva.abp.request_type principal.labels Se imperva.abp.request_type não estiver vazio, crie uma nova entrada principal.labels com a chave request_type e o valor imperva.abp.request_type.
imperva.abp.selector security_result.detection_fields Se imperva.abp.selector não estiver vazio, crie uma nova entrada detection_fields com a chave selector e o valor imperva.abp.selector.
imperva.abp.selector_derived_id security_result.detection_fields Se imperva.abp.selector_derived_id não estiver vazio, crie uma nova entrada detection_fields com a chave selector_derived_id e o valor imperva.abp.selector_derived_id.
imperva.abp.tls_fingerprint security_result.description Renomeado de imperva.abp.tls_fingerprint.
imperva.abp.token_id target.resource.product_object_id Renomeado de imperva.abp.token_id.
imperva.abp.zuid additional.fields Se imperva.abp.zuid não estiver vazio, crie uma nova entrada additional.fields com a chave zuid e o valor imperva.abp.zuid.
imperva.additional_factors additional.fields Para cada entrada em imperva.additional_factors, crie uma entrada additional.fields com a chave additional_factors_{index} e o valor igual à entrada.
imperva.audit_trail.event_action security_result.detection_fields Se imperva.audit_trail.event_action não estiver vazio, crie uma nova entrada detection_fields com a chave imperva.audit_trail.event_action e o valor imperva.audit_trail.event_action_description.
imperva.audit_trail.event_action_description security_result.detection_fields Usado como o valor da entrada detection_fields criada com base em imperva.audit_trail.event_action.
imperva.audit_trail.event_context security_result.detection_fields Se imperva.audit_trail.event_context não estiver vazio, crie uma nova entrada detection_fields com a chave imperva.audit_trail.event_context e o valor imperva.audit_trail.event_context_description.
imperva.audit_trail.event_context_description security_result.detection_fields Usado como o valor da entrada detection_fields criada com base em imperva.audit_trail.event_context.
imperva.country principal.location.country_or_region Renomeado de imperva.country.
imperva.declared_client security_result.detection_fields Se imperva.declared_client não estiver vazio, crie uma nova entrada detection_fields com a chave declared_client e o valor imperva.declared_client.
imperva.device_reputation additional.fields Para cada entrada em imperva.device_reputation, crie uma nova entrada additional.fields com a chave device_reputation e um valor de lista que contenha a entrada.
imperva.domain_risk security_result.detection_fields Se imperva.domain_risk não estiver vazio, crie uma nova entrada detection_fields com a chave domain_risk e o valor imperva.domain_risk.
imperva.failed_logins_last_24h security_result.detection_fields Convertido em string. Se não estiver vazio, crie uma nova entrada detection_fields com a chave failed_logins_last_24h e o valor failed_logins_last_24h.
imperva.fingerprint security_result.detection_fields Se imperva.fingerprint não estiver vazio, crie uma nova entrada detection_fields com a chave log_imperva_fingerprint e o valor imperva.fingerprint.
imperva.ids.account_id metadata.product_log_id Renomeado de imperva.ids.account_id.
imperva.ids.account_name metadata.product_event_type Renomeado de imperva.ids.account_name.
imperva.ids.site_id additional.fields Se imperva.ids.site_id não estiver vazio, crie uma nova entrada additional.fields com a chave site_id e o valor imperva.ids.site_id.
imperva.ids.site_name additional.fields Se imperva.ids.site_name não estiver vazio, crie uma nova entrada additional.fields com a chave site_name e o valor imperva.ids.site_name.
imperva.referrer network.http.referral_url Renomeado de imperva.referrer.
imperva.request_session_id network.session_id Renomeado de imperva.request_session_id.
imperva.request_user security_result.detection_fields Se imperva.request_user não estiver vazio, crie uma nova entrada detection_fields com a chave request_user e o valor imperva.request_user.
imperva.risk_level security_result.severity_details Renomeado de imperva.risk_level.
imperva.risk_reason security_result.description Renomeado de imperva.risk_reason.
imperva.significant_domain_name security_result.detection_fields Se imperva.significant_domain_name não estiver vazio, crie uma nova entrada detection_fields com a chave significant_domain_name e o valor imperva.significant_domain_name.
imperva.violated_directives security_result.detection_fields Para cada entrada em imperva.violated_directives, crie uma entrada detection_fields com a chave violated_directives e o valor igual à entrada.
em network.received_bytes Renomeado de in. Convertido para número inteiro sem sinal.
log_timestamp metadata.event_timestamp Se deviceReceiptTime e kv.start estiverem vazios, defina como metadata.event_timestamp.
mensagem metadata.description Se message não estiver vazio e event.provider, imperva.ids.account_name e client.ip estiverem vazios, defina como metadata.description.
postbody security_result.detection_fields Se postbody não estiver vazio, crie uma nova entrada detection_fields com a chave post_body_info e o valor postbody.
proto network.application_protocol Renomeado de proto.
protoVer network.tls.version, network.tls.cipher Se protoVer não estiver vazio, será analisado para extrair tls_version e tls_cipher, que serão renomeados como network.tls.version e network.tls.cipher, respectivamente.
solicitação target.url Renomeado de kv.request.
requestClientApplication network.http.user_agent Renomeado de requestClientApplication.
requestMethod network.http.method Renomeado de requestMethod. Convertido para maiúsculas.
resource_id target.resource.id Renomeado de resource_id.
resource_type_key target.resource.type Renomeado de resource_type_key.
rt metadata.event_timestamp Analisado para extrair deviceReceiptTime, que é analisado como uma data e definido como metadata.event_timestamp.
security_result.action security_result.action Combinado com o valor do campo _action.
security_result.severity security_result.severity Se sevs for error ou warning, defina como HIGH. Se sevs for critical, defina como CRITICAL. Se sevs for medium ou notice, defina como MEDIUM. Se sevs for information ou info, defina como LOW.
server.domain target.hostname, target.asset.hostname Renomeado de server.domain.
server.geo.name target.location.name Renomeado de server.geo.name.
gravidade, security_result.threat_id Renomeado de severity.
siteid security_result.detection_fields Se siteid não estiver vazio, crie uma nova entrada detection_fields com a chave siteid e o valor siteid.
sourceServiceName target.hostname Renomeado de kv.sourceServiceName.
spt principal.port Renomeado de kv.spt. Convertido em número inteiro.
src principal.ip, principal.asset.ip Se src não estiver vazio, será mesclado em principal.ip e principal.asset.ip.
srcPort principal.port Renomeado de srcPort. Convertido em número inteiro.
start security_result.detection_fields, metadata.event_timestamp Se start não estiver vazio, crie uma nova entrada detection_fields com a chave event_start_time e o valor start. Também analisado como uma data e definido como metadata.event_timestamp se deviceReceiptTime estiver vazio.
successful_logins_last_24h security_result.detection_fields Convertido em string. Se não estiver vazio, crie uma nova entrada detection_fields com a chave successful_logins_last_24h e o valor successful_logins_last_24h.
suid target.user.userid Renomeado de suid.
tempo metadata.event_timestamp Convertido em string. Analisado como uma data e definido como metadata.event_timestamp.
type_key metadata.product_event_type Renomeado de type_key.
url target.process.file.full_path Se url.path não estiver vazio ou for /, defina como target.process.file.full_path.
url target.url Renomeado de url. Se qstr não estiver vazio, será anexado a url com um separador ?.
user.email principal.user.email_addresses Se user.email não estiver vazio e corresponder à regex ^.+@.+$, será mesclado em principal.user.email_addresses.
user_agent network.http.user_agent Renomeado de user_agent.
user_agent.original network.http.parsed_user_agent Se user_agent.original não estiver vazio ou for *, será convertido em parseduseragent e renomeado como network.http.parsed_user_agent.
user_details principal.user.email_addresses Se user_details não estiver vazio e corresponder à regex ^.+@.+$, será mesclado em principal.user.email_addresses.
user_id principal.user.userid Renomeado de user_id.
ver network.tls.version, network.tls.cipher Se ver não estiver vazio, será analisado para extrair tls_version e tls_cipher, que serão renomeados como network.tls.version e network.tls.cipher, respectivamente.
xff intermediary.ip, intermediary.asset.ip, intermediary.hostname, intermediary.asset.hostname Se xff não estiver vazio, será processado para extrair endereços IP e nomes de host. Os endereços IP são mesclados em intermediary.ip e intermediary.asset.ip. Os nomes de host são definidos como intermediary.hostname e intermediary.asset.hostname.

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