Coletar registros do agente SIEM da Fortra Powertech
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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agente de coleta.
- Clique em Fazer o download para baixar o arquivo de autenticação de ingestão.
Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.
Receber o ID de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
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
- Abra o prompt de comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sc query observiq-otel-collectorO serviço vai aparecer como EM EXECUÇÃO.
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sudo systemctl status observiq-otel-collectorO 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. Use0.0.0.0:514para ouvir todas as interfaces na porta 514 ou mude a porta para1514ou 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
- Linux:
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.
- EUA:
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,EntereCtrl+X. - Windows: clique em Arquivo > Salvar.
Reinicie o agente do Bindplane para aplicar as mudanças
Linux
sudo systemctl restart observiq-otel-collectorVerifique se o serviço está em execução:
sudo systemctl status observiq-otel-collectorVerifique 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-collectorUsando o console do Services:
- Pressione
Win+R, digiteservices.msce pressione Enter. - Localize o Coletor do OpenTelemetry da observIQ.
Clique com o botão direito do mouse e selecione Reiniciar.
Verifique se o serviço está em execução:
sc query observiq-otel-collectorVerifique se há erros nos registros:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Pressione
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.
- Digite 2 ao lado de SYSLOG e pressione Enter.
- No campo "Estilo da mensagem", digite *SYSLOG.
- No campo "Especificação do cabeçalho", digite RFC3164.
- Verifique se a opção "Usar compatibilidade de formato de cabeçalho" está definida como "Y" e salve a configuração.
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.
- 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
- Pressione Enter.
- 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
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.
- 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.
- 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:
Na linha de comando do IBM i, insira:
CALL PTSTARTUPEsses 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
- 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.
- Verifique se os registros estão aparecendo no console do Google SecOps. Aguarde de 5 a 10 minutos para a ingestão inicial.
- 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.