Coletar registros do agente SIEM da Fortra Powertech

Compatível com:

Este guia explica como ingerir registros do agente SIEM da Fortra Powertech para IBM i no Google Security Operations usando o agente Bindplane.

O agente SIEM da Powertech para IBM i (antigo Powertech Interact) monitora os diários e as filas de mensagens do IBM i em busca de mensagens críticas do sistema e entradas de auditoria, transmite as mensagens usando UDP, TCP, TLS, fila de mensagens ou arquivo de fluxo (IFS) e formata a parte MSG do pacote syslog em conformidade com o formato de evento comum (CEF) v25 do Micro Focus ArcSight.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Instância do Google SecOps.
  • Windows Server 2016 ou mais recente ou host Linux com systemd.
  • Conectividade de rede entre o agente do Bindplane e o sistema IBM i que executa o agente do Powertech SIEM.
  • Se você estiver executando um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado ao sistema IBM i com autoridade para configurar o agente do Powertech SIEM (perfil de usuário com autoridade especial *ALLOBJ ou membro da lista de autorização PTADMIN).
  • O agente do SIEM da Powertech para IBM i instalado e licenciado no sistema IBM i.

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 > Agente de coleta.
  3. Clique em Fazer o download para baixar o arquivo de autenticação de ingestão.
  4. Salve o arquivo com segurança no sistema em que o agente do 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/powertech_siem:
    compression: gzip
    creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
    customer_id: 'YOUR_CUSTOMER_ID'
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: FORTRA_POWERTECH_SIEM_AGENT
    raw_log_field: body
    ingestion_labels:
        env: production

service:
    pipelines:
    logs/powertech_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/powertech_siem

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:514 para ouvir todas as interfaces na porta 514 ou mude a porta para 1514 ou outro valor se a porta 514 exigir privilégios de root ou já estiver em uso.

Configuração do exportador:

  • creds_file_path: caminho completo para o arquivo de autenticação de ingestão:
    • Linux: /etc/bindplane-agent/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • YOUR_CUSTOMER_ID: substitua pelo ID de cliente do Google SecOps.
  • endpoint: URL do endpoint regional. Use o endpoint adequado para sua instância do Google SecOps:
    • 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.
  • ingestion_labels: rótulos opcionais no formato YAML (por exemplo, env: production, source: ibm_i).

Salvar 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

  • Linux

    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
      
  • Windows

    Escolha uma das seguintes opções:

    • Usando o prompt de comando ou o PowerShell como administrador:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Usando o console do Services:

      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 agente do SIEM da Powertech

Na linha de comando do IBM i, digite POWERTECH para abrir o menu principal do Powertech e escolha a opção 6 para abrir o menu principal do agente SIEM.

Configurar o formato do syslog

No menu principal do agente do SIEM, escolha a opção 2 para abrir o painel "Trabalhar com formatos". Os formatos CEF, JSON, LEEF, MODERN e SYSLOG são incluídos por padrão.

  1. Digite 2 ao lado de SYSLOG e pressione Enter.
  2. No campo "Estilo da mensagem", digite *SYSLOG.
  3. No campo "Especificação do cabeçalho", digite RFC3164.
  4. Verifique se a opção "Usar compatibilidade de formato de cabeçalho" está definida como "Y" e salve a configuração.
  5. Pressione F3 duas vezes para voltar ao menu principal.

Criar uma saída de rede

No menu principal, escolha a opção 3 "Trabalhar com saídas" e pressione F6 para criar uma nova saída.

  1. Insira as seguintes opções:
    • Nome: CHRONICLE (ou um nome descritivo)
    • Descrição: saída do Bindplane do Chronicle
    • Ativo: 1
    • Formato: SYSLOG
    • Tipo: *REDE
  2. Pressione Enter.
  3. Na tela seguinte, insira estas opções:
    • Local: insira o endereço IP da máquina em que o agente do Bindplane está instalado.
    • Porta: 514 (ou a porta configurada no agente do Bindplane)
    • Protocolo: UDP
  4. Pressione Enter para salvar as mudanças e F12 para fechar a janela.

Anexar a saída às origens de eventos

Escolha a opção 1 "Trabalhar com fontes de eventos", digite 2 ao lado de "AUDIT" e pressione Enter.

  1. Pressione F8 "Manter saídas" e F6 "Anexar" para anexar a saída criada recentemente. Digite 1 ao lado de CHRONICLE (ou o nome da saída) e pressione Enter.
  2. Pressione F3 para voltar ao menu principal.

Ativar descrições de eventos

No menu principal do agente do SIEM, escolha a opção 1 e digite 9 para uma origem de evento. O painel "Trabalhar com descrições de eventos" aparece. Use a opção 6 para ativar os eventos que você quer processar.

Fazer commit das mudanças de configuração

No menu principal, escolha a opção 82, Trabalhar com utilitários, e selecione a opção 1, Confirmar mudanças de configuração.

Iniciar o monitoramento do agente SIEM

Se o agente do SIEM ainda não estiver em execução, inicie os jobs de monitoramento:

  1. Na linha de comando do IBM i, insira:

    CALL PTSTARTUP
    
  2. Esses comandos iniciam os jobs de monitoramento necessários do agente de administração central e do SIEM no subsistema PTWRKMGT.

Verificar se os registros estão sendo enviados

  1. Verifique se os registros estão chegando ao agente do Bindplane analisando os registros dele. Consulte a seção de reinicialização acima para saber os locais dos registros.
  2. Verifique se os registros estão aparecendo no console do Google SecOps. Aguarde de 5 a 10 minutos para a ingestão inicial.
  3. Se quiser, atribua uma fila de mensagens para registrar todas as mensagens enviadas pelo agente do SIEM e confirmar quais foram enviadas.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
principal_ip principal.ip O endereço IP do principal.
dst_ip target.ip O endereço IP do destino.
sourceTranslatedAddress principal.nat_ip O endereço IP NAT do principal.
destinationTranslatedAddress target.nat_ip O endereço IP NAT do destino.
dvc about.ip O endereço IP do recurso.
deviceTranslatedAddress about.nat_ip O endereço IP NAT do recurso.
smac principal.mac O endereço MAC do principal.
dmac target.mac O endereço MAC do destino.
dvcmac about.mac O endereço MAC do recurso.
spriv principal.user.attribute.roles As funções associadas ao usuário principal.
dpriv target.user.attribute.roles As funções associadas ao usuário de destino.
oldFilePermission src.resource.attribute.permissions As permissões do recurso de origem.
filePermission about.resource.attribute.permissions As permissões do recurso.
gato security_result.category_details Detalhes adicionais sobre a categoria de resultados de segurança.
device_vendor, device_product, deviceExternalId about.asset.asset_id O identificador exclusivo do recurso.
out network.sent_bytes O número de bytes enviados na conexão de rede.
em network.received_bytes O número de bytes recebidos na conexão de rede.
fsize about.file.size O tamanho do arquivo.
oldFileSize src.file.size O tamanho do arquivo de origem.
destinationTranslatedPort target.nat_port A porta NAT do destino.
dpt target.port O número da porta do destino.
sourceTranslatedPort principal.nat_port A porta NAT do principal.
spt principal.port O número da porta do principal.
rt metadata.event_timestamp O carimbo de data/hora em que o evento ocorreu.
gravidade, security_result.severity O nível de gravidade do resultado de segurança.
app_protocol_src network.application_protocol O protocolo de aplicativo usado na conexão de rede.
proto network.ip_protocol O protocolo IP usado na conexão de rede.
deviceDirection network.direction A direção do tráfego de rede.
age security_result.action A ação realizada pelo sistema de segurança.
outcome, categoryOutcome, cs2 security_result.action A ação realizada pelo sistema de segurança.
msg_data_2 security_result.description Uma descrição do resultado de segurança.
msg metadata.description Uma descrição do evento.
destinationServiceName target.application O aplicativo associado ao destino.
dntdom target.administrative_domain O domínio administrativo do destino.
oldFilePath src.file.full_path O caminho completo do arquivo de origem.
requestClientApplication network.http.user_agent A string de user agent da solicitação HTTP.
requestMethod network.http.method O método HTTP usado na solicitação.
filePath about.file.full_path O caminho completo do arquivo.
dvchost about.hostname O nome do host do recurso.
deviceNtDomain about.administrative_domain O domínio administrativo do recurso.
dvcpid about.process.pid O ID do processo do recurso.
deviceProcessName about.process.command_line A linha de comando do processo no recurso.
_hash about.file.sha256 O hash SHA256 do arquivo.
externalId metadata.product_log_id O identificador de registro específico do produto.
security_result.action_details security_result.action_details Detalhes adicionais sobre a ação de segurança.
device_version metadata.product_version A versão do produto que gerou o evento.
temp_dhost target.hostname O nome do host do destino.
solicitação target.url O URL associado ao destino.
temp_duser target.user.user_display_name O nome de exibição do usuário de destino.
temp_duid target.user.userid O ID do usuário-alvo.
Device_name principal.hostname O nome do host do principal.
Enhetsnavn principal.hostname O nome do host do principal.
Domínio principal.administrative_domain O domínio administrativo do principal.
Domene principal.administrative_domain O domínio administrativo do principal.
Group_name principal.group.group_display_name O nome de exibição do grupo principal.
Gruppenavn principal.group.group_display_name O nome de exibição do grupo principal.
Recebido, Mottatt metadata.collected_timestamp O carimbo de data/hora em que o evento foi coletado.
Gerado, Generert metadata.event_timestamp O carimbo de data/hora em que o evento ocorreu.
Assunto about.process.command_line A linha de comando do processo.
Emne about.process.command_line A linha de comando do processo.
Caminho about.process.command_line A linha de comando do processo.
Tipo security_result.description Uma descrição do resultado de segurança.
Scan_Type security_result.description Uma descrição do resultado de segurança.
Usuário target.user.userid O ID do usuário-alvo.
Bruker target.user.userid O ID do usuário-alvo.
CustomerName target.user.user_display_name O nome de exibição do usuário de destino.
File_name, Object, Objekt, Infected_Resource target.process.file.full_path O caminho completo do arquivo associado ao processo de destino.
Action_Taken security_result.action_details Detalhes adicionais sobre a ação de segurança.
Spyware, Virus_Malware_Name, Unknown_Threat security_result.threat_name O nome da ameaça detectada.
shost principal.hostname O nome do host do principal.
shost principal.ip O endereço IP do principal.
sntdom principal.administrative_domain O domínio administrativo do principal.
sourceServiceName principal.application O aplicativo associado ao principal.
spid principal.process.pid O ID do processo do principal.
sproc principal.process.command_line A linha de comando do processo principal.
suid principal.user.userid O ID do usuário principal.
suser principal.user.user_display_name O nome de exibição do usuário principal.
dpid target.process.pid O ID do processo de destino.
dproc target.process.command_line A linha de comando do processo de destino.
reason security_result.summary Um resumo do resultado de segurança.
event_name, device_event_class_id metadata.product_event_type O tipo de evento específico do produto.
fileHash about.file.sha256 O hash SHA256 do arquivo.
sobre sobre Outras informações sobre o evento.
mwProfile security_result.rule_name O nome da regra que acionou o resultado de segurança.
appcategory security_result.summary Um resumo do resultado de segurança.
Resultado security_result.summary Um resumo do resultado de segurança.
eventid additional.fields Campos adicionais para o evento.
eventId additional.fields Campos adicionais para o evento.
devicePayloadId additional.fields Campos adicionais para o evento.
fname additional.fields Campos adicionais para o evento.
cs1, cs1Label additional.fields Campos adicionais para o evento.
cs2, cs2Label additional.fields Campos adicionais para o evento.
cs3, cs3Label additional.fields Campos adicionais para o evento.
cs4, cs4Label additional.fields Campos adicionais para o evento.
cs5, cs5Label additional.fields Campos adicionais para o evento.
cs6, cs6Label additional.fields Campos adicionais para o evento.
cs7, cs7Label additional.fields Campos adicionais para o evento.
flexString1, flexString1Label additional.fields Campos adicionais para o evento.
cn1, cn1Label additional.fields Campos adicionais para o evento.
cn2, cn2Label additional.fields Campos adicionais para o evento.
cn3, cn3Label additional.fields Campos adicionais para o evento.
cfp1, cfp1Label additional.fields Campos adicionais para o evento.
cfp2, cfp2Label additional.fields Campos adicionais para o evento.
cfp3, cfp3Label additional.fields Campos adicionais para o evento.
cfp4, cfp4Label additional.fields Campos adicionais para o evento.
Operação security_result.detection_fields Campos usados para detecção de ameaças.
Operasjon security_result.detection_fields Campos usados para detecção de ameaças.
Permissão security_result.detection_fields Campos usados para detecção de ameaças.
Tillatelse security_result.detection_fields Campos usados para detecção de ameaças.
Infection_Channel security_result.detection_fields Campos usados para detecção de ameaças.
IPv6_Address target.ip O endereço IP do destino.
Resource_Type target.resource.attribute.labels Rótulos para os atributos do recurso de destino.
Spyware_Grayware_Type security_result.detection_fields Campos usados para detecção de ameaças.
Threat_Probability security_result.detection_fields Campos usados para detecção de ameaças.
security_result security_result O resultado de segurança do evento.
host principal.hostname O nome do host do principal.
falha metadata.description Uma descrição do evento.
alterado metadata.description Uma descrição do evento.
log_version additional.fields Campos adicionais para o evento.
cnt additional.fields Campos adicionais para o evento.
fileType target.file.mime_type O tipo MIME do arquivo de destino.
fname target.file.names Os nomes dos arquivos de destino.
ip principal.ip O endereço IP do principal.
metadata.event_type metadata.event_type O tipo de evento.
principal_hostname principal.asset.hostname O nome do host do recurso principal.
principal_asset_hostname principal.asset.hostname O nome do host do recurso principal.
target_hostname target.asset.hostname O nome do host do recurso de destino.
target_asset_hostname target.asset.hostname O nome do host do recurso de destino.
device_vendor metadata.vendor_name O nome do fornecedor do produto.
device_product metadata.product_name O nome do produto.

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