Coletar registros do Forescout eyeSight

Compatível com:

Este documento explica como ingerir registros do Forescout eyeSight (antigo CounterACT) no Google Security Operations usando o agente Bindplane.

O Forescout eyeSight é uma plataforma de controle de acesso à rede (NAC, na sigla em inglês) que oferece visibilidade, classificação e avaliação de conformidade de dispositivos sem agente em dispositivos de TI, IoT, OT e IoMT. Ele descobre e cria perfis de todos os dispositivos conectados em tempo real, permitindo que as organizações apliquem políticas de acesso e reduzam a superfície de ataque sem exigir agentes de endpoint.

Para mais informações, consulte a documentação do NAC da Forescout.

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 de acordo com os requisitos do agente Bindplane.
  • Acesso privilegiado ao console do Forescout (conta de administrador)
  • Conectividade de rede entre o appliance do Forescout e o host do agente do Bindplane

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. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura 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
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sc query observiq-otel-collector
    

    O serviço vai aparecer como EM EXECUÇÃO.

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
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sudo systemctl status observiq-otel-collector
    

    O serviço vai aparecer como ativo (em execução).

Outros recursos de instalação

Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.

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

Localizar o arquivo de configuração

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Editar o arquivo de configuração

  • Substitua todo o conteúdo de config.yaml pela seguinte configuração:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/forescout_nac:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<CUSTOMER_ID>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: FORESCOUT_NAC
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/forescout_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/forescout_nac
    

Parâmetros de configuração

Substitua os seguintes marcadores de posição:

  • Configuração do receptor:

    • listen_address: endereço IP e porta a serem detectados. Use 0.0.0.0 para detectar em todas as interfaces. A porta 514 é padrão para syslog. Ela exige privilégios de root no Linux. Use 1514 para não root.
  • Configuração do exportador:

    • creds_file_path: caminho completo para o arquivo de autenticação de ingestão do Google SecOps.
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID>: ID do cliente do Google SecOps.
    • endpoint: URL do endpoint regional:
      • EUA: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Ásia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Consulte a lista completa em Endpoints regionais.

Salve o arquivo de configuração.

  • Depois de editar, salve o arquivo:
    • Linux: pressione Ctrl+O, Enter e Ctrl+X.
    • Windows: clique em Arquivo > Salvar.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

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

      sudo systemctl status observiq-otel-collector
      
    2. Verifique 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:

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

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

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

Configurar o encaminhamento de syslog do Forescout eyeSight

  1. Faça login no Forescout Console com uma conta de administrador.
  2. Acesse Ferramentas > Opções.
  3. Na árvore de opções, expanda Módulos > Syslog ou Plug-in Syslog, dependendo da versão.
  4. Clique em Adicionar para criar um novo destino de syslog.
  5. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo, por exemplo, SecOps-Bindplane.
    • Endereço do servidor: insira o endereço IP do host do agente do Bindplane (por exemplo, 192.168.1.100).
    • Porta: digite 514 (ou a porta configurada no agente do Bindplane).
    • Protocolo: selecione UDP.
    • Formato: selecione CEF (Common Event Format) ou Syslog (RFC 3164), dependendo dos seus requisitos de análise.
    • Instalação: selecione LOCAL0 (ou a instalação que corresponde à política de syslog da sua organização).
    • Gravidade: selecione Informativa ou o nível mínimo de gravidade desejado.
  6. Na seção Tipos de evento, selecione as categorias de registros a serem encaminhadas:
    • Mudanças na propriedade do host: atualizações de classificação e propriedade do dispositivo.
    • Violações da política: violações da política de conformidade e ações de aplicação da NAC.
    • Eventos de acesso à rede: eventos de conexão e desconexão de endpoints.
    • Eventos de autenticação: eventos de autenticação de usuário e 802.1X.
    • Resultados da ação: resultados das ações de correção e resposta.
  7. Clique em OK para salvar a configuração de destino do syslog.
  8. Clique em Aplicar para ativar as mudanças.
  9. Verifique se as mensagens do syslog estão sendo recebidas conferindo os registros do agente Bindplane.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
about about Mesclado
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
ips about.ip Mesclado
dvcmac about.mac Mesclado
mac_address about.mac Mesclado
deviceTranslatedAddress about.nat_ip Mesclado
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
permissions about.resource.attribute.permissions Mesclado
Assigned_hosts_label additional.fields Mesclado
Available_memory_label additional.fields Mesclado
Available_swap_label additional.fields Mesclado
Connected_clients_label additional.fields Mesclado
EM_connection_status_label additional.fields Mesclado
Engine_status_label additional.fields Mesclado
Installed_Plugins_label additional.fields Mesclado
Used_memory_label additional.fields Mesclado
Used_swap_label additional.fields 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_status_label additional.fields Mesclado
cpu_usage_label additional.fields Mesclado
cs5_label additional.fields Mesclado
type_label additional.fields Mesclado
intermediary intermediary Mesclado
iporhost intermediary.asset.hostname Mapeado diretamente
middle_ip intermediary.asset.ip Mesclado
iporhost intermediary.hostname Mapeado diretamente
middle_ip intermediary.ip Mesclado
pid intermediary.process.pid Mapeado diretamente
desc metadata.description Mapeado diretamente
event_type metadata.description Mapeado diretamente
msg metadata.description Renomeado/mapeado
device_event_class_id metadata.product_event_type Mapeado diretamente
engineName metadata.product_event_type Mapeado diretamente
event_name metadata.product_event_type Mapeado diretamente
eventtype metadata.product_event_type Mapeado diretamente
externalId metadata.product_log_id Mapeado diretamente
device_product metadata.product_name Mapeado diretamente
product metadata.product_name Mapeado diretamente
device_version metadata.product_version Mapeado diretamente
device_vendor metadata.vendor_name Renomeado/mapeado
vendor_name metadata.vendor_name Mapeado diretamente
app_protocol_output network.application_protocol Mapeado diretamente
mail_from network.email.from Mapeado diretamente
mail_subject network.email.subject Mesclado
mail_to network.email.to Mesclado
requestMethod network.http.method Renomeado/mapeado
requestClientApplication network.http.user_agent Renomeado/mapeado
ip_protocol_out network.ip_protocol Mapeado diretamente
protocol network.ip_protocol Mapeado diretamente
protocol1 network.ip_protocol Mapeado diretamente
in network.received_bytes Renomeado/mapeado
out network.sent_bytes Renomeado/mapeado
session_id network.session_id Mapeado diretamente
sntdom principal.administrative_domain Renomeado/mapeado
sourceServiceName principal.application Renomeado/mapeado
Host principal.asset.hostname Mapeado diretamente
Hostname principal.asset.hostname Mapeado diretamente
Source principal.asset.hostname Mapeado diretamente
Source_1 principal.asset.hostname Mapeado diretamente
host_ip principal.asset.ip Mesclado
source_ip principal.asset.ip Mesclado
src_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
Host principal.hostname Mapeado diretamente
Hostname principal.hostname Mapeado diretamente
Source principal.hostname Mapeado diretamente
Source_1 principal.hostname Mapeado diretamente
shost principal.hostname Renomeado/mapeado
host_ip principal.ip Mesclado
principal_ip principal.ip Mesclado
shost principal.ip Mesclado
source_ip principal.ip Mesclado
src_ip principal.ip Mesclado
MAC principal.mac Mesclado
mac principal.mac Mesclado
mac_addr principal.mac Mesclado
src_mac principal.mac Mesclado
sourceTranslatedAddress principal.nat_ip Mesclado
sourceTranslatedPort principal.nat_port Renomeado/mapeado
source_port principal.port Renomeado/mapeado
spt principal.port Renomeado/mapeado
src_port principal.port Mapeado diretamente
command principal.process.command_line Mapeado diretamente
sproc principal.process.command_line Renomeado/mapeado
spid principal.process.pid Renomeado/mapeado
resource principal.resource.name Mapeado diretamente
principal_role principal.user.attribute.roles Mesclado
suser principal.user.user_display_name Mapeado diretamente
User principal.user.userid Mapeado diretamente
suid principal.user.userid Renomeado/mapeado
user_id principal.user.userid Mapeado diretamente
user_name principal.user.userid Mapeado diretamente
username principal.user.userid Mapeado diretamente
sec_result security_result Mesclado
security_result security_result Mesclado
res_label security_result.about.resource.attribute.labels Mesclado
_action security_result.action Mesclado
sec_action security_result.action Mesclado
security_result_action security_result.action Mesclado
Action_Taken security_result.action_details Mapeado diretamente
act security_result.action_details Mapeado diretamente
cat security_result.category_details Mesclado
Category security_result.description Mapeado diretamente
Reason security_result.description Mapeado diretamente
Scan_Type security_result.description Mapeado diretamente
Type security_result.description Mapeado diretamente
act security_result.description Mapeado diretamente
description security_result.description Mapeado diretamente
details security_result.description Mapeado diretamente
et_lower security_result.description Mapeado diretamente
event_type security_result.description Mapeado diretamente
kv_data security_result.description Mapeado diretamente
msg_data_2 security_result.description Mapeado diretamente
policy_details security_result.description Mapeado diretamente
rnmsg security_result.description Mapeado diretamente
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
protocol_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
Rule security_result.rule_id Mapeado diretamente
alart_id security_result.rule_id Mapeado diretamente
device_event_class_id security_result.rule_id Mapeado diretamente
Match security_result.rule_name Mapeado diretamente
mwProfile security_result.rule_name Mapeado diretamente
severity security_result.severity_details Mapeado diretamente
Result security_result.summary Mapeado diretamente
appcategory security_result.summary Mapeado diretamente
event_name security_result.summary Mapeado diretamente
event_type security_result.summary Mapeado diretamente
log_description security_result.summary Mapeado diretamente
reason security_result.summary Renomeado/mapeado
Spyware security_result.threat_name Mapeado diretamente
Unknown_Threat security_result.threat_name Mapeado diretamente
Virus_Malware_Name security_result.threat_name Mapeado diretamente
threat security_result.threat_name Mapeado diretamente
oldFilePath src.file.full_path Renomeado/mapeado
oldFileSize src.file.size Renomeado/mapeado
old_permissions src.resource.attribute.permissions Mesclado
dntdom target.administrative_domain Renomeado/mapeado
destinationServiceName target.application Renomeado/mapeado
Destination target.asset.hostname Mapeado diretamente
Target target.asset.hostname Mapeado diretamente
Target_1 target.asset.hostname Mapeado diretamente
computer_name target.asset.hostname Mapeado diretamente
Destination target.asset.ip Mesclado
dest_ip target.asset.ip Mesclado
destination_ip target.asset.ip Mesclado
target_ip target.asset.ip Mesclado
Destination target.hostname Mapeado diretamente
Target target.hostname Mapeado diretamente
Target_1 target.hostname Mapeado diretamente
computer_name target.hostname Mapeado diretamente
temp_dhost target.hostname Mapeado diretamente
Destination target.ip Mesclado
IPv6_Address target.ip Mesclado
dest_ip target.ip Mesclado
destination_ip target.ip Mesclado
dst_ip target.ip Mesclado
target_ip target.ip Mesclado
dest_mac target.mac Mesclado
mac_address target.mac Mesclado
destination_translated_address target.nat_ip Mesclado
destinationTranslatedPort target.nat_port Renomeado/mapeado
dest_port target.port Mapeado diretamente
dpt target.port Renomeado/mapeado
port target.port Renomeado/mapeado
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
resource_Type_label target.resource.attribute.labels Mesclado
request target.url Mapeado diretamente
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
username target.user.userid Mapeado diretamente
N/A about Constante: about
N/A about.ip Constante: ips
N/A about.mac Constante: mac_address
N/A about.nat_ip Constante: deviceTranslatedAddress
N/A about.resource.attribute.permissions Constante: permissions
N/A additional.fields Constante: additional_eventId
N/A extensions.auth.type Constante: MACHINE
N/A intermediary Constante: intermediary
N/A intermediary.asset.ip Constante: middle_ip
N/A intermediary.ip Constante: middle_ip
N/A metadata.event_type Constante: USER_LOGIN
N/A metadata.product_name Constante: FORESCOUT NAC
N/A metadata.vendor_name Constante: FORESCOUT
N/A network.direction Constante: INBOUND
N/A network.email.subject Constante: mail_subject
N/A network.email.to Constante: mail_to
N/A principal.asset.ip Constante: source_ip
N/A principal.ip Constante: principal_ip
N/A principal.mac Constante: mac
N/A principal.nat_ip Constante: sourceTranslatedAddress
N/A principal.user.attribute.roles Constante: principal_role
N/A security_result Constante: security_result
N/A security_result.about.resource.attribute.labels Constante: res_label
N/A security_result.action Constante: _action
N/A security_result.alert_state Constante: ALERTING
N/A security_result.category_details Constante: cat
N/A security_result.detection_fields Constante: operation_label
N/A security_result.rule_name Constante: Virtual Firewall blocking
N/A security_result.severity Constante: LOW
N/A src.resource.attribute.permissions Constante: old_permissions
N/A target.asset.ip Constante: target_ip
N/A target.ip Constante: dst_ip
N/A target.mac Constante: mac_address
N/A target.nat_ip Constante: destination_translated_address
N/A target.resource.attribute.labels Constante: resource_Type_label
N/A target.user.attribute.roles Constante: target_role

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