Coletar registros do FireEye NX
Este documento explica como ingerir registros do Trellix Network Security (antigo FireEye NX) no Google Security Operations usando o Bindplane.
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 de gerenciamento do Trellix Network Security (NX)
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 > Agentes de coleta.
- 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
- 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 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" /quiet
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.sh
Outros recursos de instalação
Para mais opções de instalação, consulte o guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml. Normalmente, ele fica no diretório/etc/bindplane-agent/no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda seguinte forma:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/fireeye_nx: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> # Replace with your regional endpoint endpoint: <ENDPOINT> log_type: 'FIREEYE_NX' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/fireeye_nx- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<CUSTOMER_ID>pelo ID de cliente real. - Substitua o valor
<ENDPOINT>pelo endpoint regional:- Estados Unidos:
malachiteingestion-pa.googleapis.com - Europa (Frankfurt):
europe-west3-malachiteingestion-pa.googleapis.com - Europa (Londres):
europe-west2-malachiteingestion-pa.googleapis.com - Europa (Zurique):
europe-west6-malachiteingestion-pa.googleapis.com - Europa (Turim):
europe-west12-malachiteingestion-pa.googleapis.com - Ásia (Tóquio):
asia-northeast1-malachiteingestion-pa.googleapis.com - Oriente Médio (Tel Aviv):
me-west1-malachiteingestion-pa.googleapis.com - Austrália (Sydney):
australia-southeast1-malachiteingestion-pa.googleapis.com
- Estados Unidos:
- Atualize
/path/to/ingestion-authentication-file.jsonpara o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agentPara reiniciar o agente do Bindplane em Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o encaminhamento de syslog na segurança de rede da Trellix
- Faça login no console do Trellix Network Security com uma conta de administrador.
- Acesse Configurações > Notificações.
- Clique na guia rsyslog.
- Marque a caixa de seleção Tipo de evento para ativar as notificações do rsyslog.
- No painel Configurações, forneça os seguintes detalhes de configuração:
- Formato padrão: selecione CEF.
- Na seção Lista de servidores Rsyslog:
- Digite um nome descritivo para a nova entrada (por exemplo,
Google SecOps BindPlane). - Clique no botão Adicionar servidor Rsyslog.
- Digite um nome descritivo para a nova entrada (por exemplo,
- Para o servidor recém-adicionado, forneça os seguintes detalhes de configuração:
- Ativado: marque a caixa de seleção para ativar o servidor.
- Endereço IP: insira o endereço IP do agente do BindPlane.
- Porta: insira o número da porta do agente do BindPlane (por exemplo,
514). - Protocolo: selecione UDP ou TCP, dependendo da configuração do agente do BindPlane.
- Tipos de evento: selecione os tipos de evento a serem encaminhados ou selecione todos para um registro abrangente.
- Clique no botão Atualizar para salvar a configuração.
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
| alert.dst.ip | target.ip, target.asset.ip | Mapeamento direto do campo alert.dst.ip |
| alert.dst.mac | target.mac, target.asset.mac | Mapeamento direto do campo alert.dst.mac |
| alert.dst.port | target.port | Mapeamento direto do campo alert.dst.port |
| alert.explanation.cnc-services.cnc-service.address | target.ip, target.asset.ip | Mapeamento direto do campo alert.explanation.cnc-services.cnc-service.address |
| alert.explanation.cnc-services.cnc-service.port | target.port | Mapeamento direto do campo alert.explanation.cnc-services.cnc-service.port |
| alert.explanation.cnc-services.cnc-service.url | target.url | Mapeamento direto do campo alert.explanation.cnc-services.cnc-service.url |
| alert.explanation.malware-detected.malware.0.name | security_result.threat_name | Mapeamento direto do campo alert.explanation.malware-detected.malware.0.name em caso de detecção de vários malwares na matriz |
| alert.explanation.malware-detected.malware.md5sum | target.file.md5 | Mapeamento direto do campo alert.explanation.malware-detected.malware.md5sum |
| alert.explanation.malware-detected.malware.name | security_result.threat_name | Mapeamento direto do campo alert.explanation.malware-detected.malware.name |
| alert.explanation.malware-detected.malware.sha1 | target.file.sha1 | Mapeamento direto do campo alert.explanation.malware-detected.malware.sha1 |
| alert.explanation.malware-detected.malware.sha256 | target.file.sha256 | Mapeamento direto do campo alert.explanation.malware-detected.malware.sha256 |
| alert.explanation.malware-detected.malware.url | target.url | Mapeamento direto do campo alert.explanation.malware-detected.malware.url |
| alert.name | read_only_udm.metadata.product_event_type | Mapeamento direto do campo alert.name |
| alert.occurred | read_only_udm.metadata.event_timestamp | Mapeamento direto do campo alert.occurred |
| alert.src.domain | principal.hostname | Mapeamento direto do campo alert.src.domain |
| alert.src.host | principal.hostname | Mapeamento direto do campo alert.src.host |
| alert.src.ip | principal.ip, principal.asset.ip | Mapeamento direto do campo alert.src.ip |
| alert.src.mac | principal.mac, principal.asset.mac | Mapeamento direto do campo alert.src.mac |
| alert.src.port | principal.port | Mapeamento direto do campo alert.src.port |
| alert.src.smtp-mail-from | network.email.from | Mapeamento direto do campo alert.src.smtp-mail-from |
| alert.smtp-message.id | network.email.mail_id | Mapeamento direto do campo alert.smtp-message.id |
| alert.smtp-message.subject | network.email.subject | Mapeamento direto do campo alert.smtp-message.subject |
| client_ip | principal.ip | Mapeamento direto do campo client_ip |
| client_src_port | principal.port | Mapeamento direto do campo client_src_port |
| compactação | additional.fields.value.string_value | Mapeamento direto do campo compression |
| etag | additional.fields.value.string_value | Mapeamento direto do campo etag |
| host | principal.hostname | Mapeamento direto do campo host |
| log_id | read_only_udm.metadata.product_log_id | Mapeamento direto do campo log_id |
| método | network.http.method | Mapeamento direto do campo method |
| persistent_session_id | network.session_id | Mapeamento direto do campo persistent_session_id |
| piscina | additional.fields.value.string_value | Mapeamento direto do campo pool |
| pool_name | additional.fields.value.string_value | Mapeamento direto do campo pool_name |
| request_id | additional.fields.value.string_value | Mapeamento direto do campo request_id |
| request_state | additional.fields.value.string_value | Mapeamento direto do campo request_state |
| response_code | network.http.response_code | Mapeamento direto do campo response_code |
| rewritten_uri_query | additional.fields.value.string_value | Mapeamento direto do campo rewritten_uri_query |
| server_ip | target.ip | Mapeamento direto do campo server_ip |
| server_name | target.hostname | Mapeamento direto do campo server_name |
| server_src_port | target.port | Mapeamento direto do campo server_src_port |
| service_engine | additional.fields.value.string_value | Mapeamento direto do campo service_engine |
| ssl_cipher | network.tls.cipher | Mapeamento direto do campo ssl_cipher |
| ssl_version | network.tls.version_protocol | Mapeamento direto do campo ssl_version |
| uri_path | network.http.referral_url | Mapeamento direto do campo uri_path |
| uri_query | additional.fields.value.string_value | Mapeamento direto do campo uri_query |
| user_id | principal.user.userid | Mapeamento direto do campo user_id |
| virtualservice | additional.fields.value.string_value | Mapeamento direto do campo virtualservice |
| vs_name | additional.fields.value.string_value | Mapeamento direto do campo vs_name |
| read_only_udm.metadata.event_type | Definido como SCAN_UNCATEGORIZED se os endereços IP principal e de destino estiverem presentes, STATUS_UPDATE se o IP principal ou o nome do host estiverem presentes, USER_UNCATEGORIZED se o ID do usuário principal estiver presente, EMAIL_TRANSACTION se alert.src.smtp-mail-from e alert.dst.smtp-to estiverem presentes e GENERIC_EVENT caso contrário. |
|
| read_only_udm.metadata.ingested_timestamp | Definido como o carimbo de data/hora atual se alert.attack-time não estiver presente. |
|
| read_only_udm.metadata.log_type | Defina como FIREEYE_NX. |
|
| read_only_udm.metadata.vendor_name | Defina como FireEye. |
|
| read_only_udm.network.application_protocol | Definido como HTTP se a mensagem contiver "http" (sem diferenciar maiúsculas e minúsculas). |
|
| read_only_udm.security_result.action | Defina como ALLOW se _source.action for "notified" (não diferencia maiúsculas de minúsculas), BLOCK se _source.action for "blocked" (não diferencia maiúsculas de minúsculas) e UNKNOWN_ACTION caso contrário. |
|
| read_only_udm.security_result.category | Defina como NETWORK_SUSPICIOUS se sec_category contiver "DOMAIN.MATCH" (sem distinção entre maiúsculas e minúsculas), NETWORK_MALICIOUS se sec_category contiver "INFECTION.MATCH" ou "WEB.INFECTION" (sem distinção entre maiúsculas e minúsculas), SOFTWARE_MALICIOUS se sec_category contiver "MALWARE.OBJECT" (sem distinção entre maiúsculas e minúsculas), NETWORK_COMMAND_AND_CONTROL se sec_category contiver "MALWARE.CALLBACK" (sem distinção entre maiúsculas e minúsculas) e UNKNOWN_CATEGORY caso contrário. |
|
| read_only_udm.security_result.severity | Definido como MEDIUM se _source.severity ou temp_severity for "majr" (não diferencia maiúsculas de minúsculas), LOW se _source.severity ou temp_severity for "minr" (não diferencia maiúsculas de minúsculas) e não definido caso contrário. |
|
| read_only_udm.security_result.summary | Definido como o valor de security_result.threat_name. |
|
| is_alert | Defina como true. |
|
| is_significant | Defina como true. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.