Recolha registos do Cisco Firepower NGFW

Compatível com:

Este documento explica como carregar registos da firewall de nova geração (NGFW) do Cisco Firepower para o Google Security Operations através do Bindplane. O analisador extrai os registos de vários formatos (syslog, JSON e combinações dos mesmos), normaliza a data/hora e mapeia os campos relevantes para o modelo de dados unificado (UDM). Processa mensagens syslog convencionais e payloads formatados em JSON nos registos, tirando partido de padrões grok e lógica condicional para extrair campos como o ID do evento, a gravidade e o IP do cliente. Em seguida, enriquece os dados com etiquetas baseadas no nome de anfitrião HTTP e no URI.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, certifique-se de que as portas da firewall estão abertas
  • Acesso privilegiado a um dispositivo Cisco Firepower

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento.
    • Guarde o ficheiro de forma segura no sistema onde o BindPlane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instale o agente do Bindplane no seu sistema operativo Windows ou Linux de acordo com as seguintes instruções.

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. Execute o seguinte comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalação adicionais

Para ver opções de instalação adicionais, consulte o guia de instalação.

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:
    • Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro config.yaml da seguinte forma:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            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>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CISCO_FIREPOWER_FIREWALL'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Reinicie o agente do Bindplane para aplicar as alterações

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

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Syslog no dispositivo Cisco FirePower

  1. Inicie sessão na IU Web do Firepower Device Manager.
  2. Aceda a Definições do sistema > Definições de registo.
  3. Mude o interruptor Registo de dados para Ativar.
  4. Clique no ícone + em Servidores Syslog.
  5. Clique em Criar novo servidor Syslog. (Em alternativa, pode criar o servidor Syslog em Objetos > Servidores Syslog).
  6. Indique os seguintes detalhes de configuração:
    • Endereço IP: introduza o endereço IP do agente do Bindplane.
    • Tipo de protocolo: selecione UDP.
    • Número da porta: introduza o número da porta do agente do Bindplane.
    • Selecione Interface de dados ou Interface de gestão.
  7. Clique em OK.
  8. Selecione o servidor Syslog recém-criado na lista e clique em OK.
  9. Clique em Nível de gravidade para filtrar todos os eventos e selecione o nível de registo Informativo na lista.
  10. Clique em Guardar.
  11. Clique no ícone Implementar novas definições > Implementar agora.
  12. Clique em Políticas na parte superior do ecrã.
  13. Passe o cursor do rato sobre o lado direito da regra da PAA e clique em editar Editar.
  14. Aceda ao separador Registo.
  15. Selecione No final da ligação.
  16. Abra a lista Selecionar uma configuração de alerta Syslog.
  17. selecione o servidor Syslog do Bindplane.
  18. Clique em OK.
  19. Clique no ícone Implementar novas definições > Implementar agora.

Tabela de mapeamento do UDM

Campo de registo Mapeamento de UDM Lógica
AccessControlRuleAction security_result.action Mapeado diretamente a partir do registo não processado. Os valores são normalizados para UDM (ALLOW/BLOCK).
AccessControlRuleName security_result.rule_name Mapeado diretamente a partir do registo não processado.
ACPolicy security_result.rule_labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "ACPolicy".
ApplicationProtocol network.application_protocol Mapeado diretamente a partir do registo não processado.
Client network.http.user_agent Mapeado diretamente a partir do registo não processado.
ClientVersion principal.asset.platform_version Mapeado diretamente a partir do registo não processado.
collection_time.nanos metadata.event_timestamp.nanos Mapeado diretamente a partir do registo não processado.
collection_time.seconds metadata.event_timestamp.seconds Mapeado diretamente a partir do registo não processado.
ConnectionDuration network.session_duration.seconds Mapeado diretamente a partir do registo não processado, convertido em segundos, se necessário (por exemplo, a partir do formato de duração).
data metadata.description Usado em conjunto com eventId para gerar uma descrição mais descritiva. Também é usado para extrair outros campos através de grok e expressões regulares.
deviceId metadata.product_log_id Mapeado diretamente a partir do registo não processado após a mudança do nome para device_uuid.
device_uuid metadata.product_log_id Mapeado diretamente a partir do registo não processado.
DstIP target.asset.ip, target.ip Mapeado diretamente a partir do registo não processado.
DstPort target.port Mapeado diretamente a partir do registo não processado.
EgressInterface principal.asset.attribute.labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "EgressInterface".
EgressZone target.location.name Mapeado diretamente a partir do registo não processado.
eventId metadata.product_event_type Mapeado diretamente a partir do registo não processado. Também é usado para lógica condicional e filtragem.
FileAction security_result.summary Mapeado diretamente a partir do registo não processado.
FileDirection metadata.description Mapeado diretamente a partir do registo não processado e anexado à descrição.
FileName target.file.full_path Mapeado diretamente a partir do registo não processado.
FilePolicy security_result.rule_name Mapeado diretamente a partir do registo não processado.
FileSize target.file.size Mapeado diretamente a partir do registo não processado.
FileSHA256 target.file.sha256 Mapeado diretamente a partir do registo não processado.
FileSandboxStatus security_result.description Mapeado diretamente a partir do registo não processado.
HTTPReferer network.http.referral_url Mapeado diretamente a partir do registo não processado.
HTTPResponse network.http.response_code Mapeado diretamente a partir do registo não processado.
HTTP_Hostname target.resource.attribute.labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "HTTP_Hostname".
HTTP_URI target.resource.attribute.labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "HTTP_URI".
IngressInterface principal.asset.attribute.labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "IngressInterface".
IngressZone principal.location.name Mapeado diretamente a partir do registo não processado.
InitiatorBytes network.received_bytes Mapeado diretamente a partir do registo não processado.
InlineResult security_result.action_details Mapeado diretamente a partir do registo não processado.
IntrusionPolicy security_result.rule_name Mapeado diretamente a partir do registo não processado.
log_type metadata.log_type Mapeado diretamente a partir do registo não processado.
Message security_result.description Mapeado diretamente a partir do registo não processado, muitas vezes com o prefixo "Message : ".
NAPPolicy principal.asset.attribute.labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "NAPPolicy".
Prefilter Policy security_result.rule_labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "Política de pré-filtragem".
Priority security_result.priority_details Mapeado diretamente a partir do registo não processado.
priorityId security_result.priority_details Mapeado diretamente a partir do registo não processado.
product metadata.product_name Definido como "Firepower Firewall".
Protocol network.ip_protocol Mapeado diretamente a partir do registo não processado. Os valores são normalizados para UDM (TCP, UDP, ICMP, etc.).
ResponderBytes network.sent_bytes Mapeado diretamente a partir do registo não processado.
Revision security_result.about.labels.value Mapeado diretamente a partir do registo não processado. A chave está definida como "Signature_Version".
ruleId security_result.rule_id Mapeado diretamente a partir do registo não processado.
security_result.severity security_result.severity Definido com base no campo severity do registo não processado, através de uma tabela de pesquisa para o mapeamento dos valores de gravidade da UDM.
security_result.severity_details security_result.severity_details Definido com base no campo severity do registo não processado, usando uma tabela de consulta para o mapeamento dos detalhes de gravidade do UDM.
SID security_result.threat_id Mapeado diretamente a partir do registo não processado.
SrcIP principal.asset.ip, principal.ip Mapeado diretamente a partir do registo não processado.
SrcPort principal.port Mapeado diretamente a partir do registo não processado.
syslog_msg_id metadata.product_event_type Mapeado diretamente a partir do registo não processado após a conversão numa string. Usado para substituir o eventId, se estiver presente.
syslog_msg_text metadata.description, security_result.description Mapeado diretamente a partir do registo não processado, por vezes, precedido de "Message : ". Usado para substituir a descrição gerada a partir de data e eventId.
syslog_severity security_result.severity Mapeado diretamente a partir do registo não processado após a conversão numa string. Usado para substituir a gravidade derivada de eventId. Os valores são normalizados para UDM (INFORMATIONAL, WARNING, ERROR, etc.).
sysloghost intermediary.hostname Mapeado diretamente a partir do registo não processado.
ThreatName security_result.threat_name Mapeado diretamente a partir do registo não processado.
ts metadata.event_timestamp Analisado a partir do registo não processado através de filtros de data e vários formatos.
ts_year metadata.event_timestamp Analisado a partir do registo não processado através de filtros de data e vários formatos.
URL target.url Mapeado diretamente a partir do registo não processado.
URLCategory security_result.category_details Mapeado diretamente a partir do registo não processado.
URLReputation security_result.confidence_details Mapeado diretamente a partir do registo não processado.
User target.user.userid Mapeado diretamente a partir do registo não processado.
UserAgent network.http.user_agent Mapeado diretamente a partir do registo não processado.
UserName target.user.userid Mapeado diretamente a partir do registo não processado.
user_name principal.user.email_addresses Mapeados diretamente a partir do registo não processado para tipos de eventos específicos.
WebApplication target.application Mapeado diretamente a partir do registo não processado.
metadata.event_type está definido como um valor predefinido de NETWORK_CONNECTION e, por vezes, é substituído com base no eventId ou noutros campos.
metadata.vendor_name está sempre definido como "Cisco".

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