Coletar registros do Cisco IronPort

Compatível com:

Este documento explica como ingerir registros do Cisco IronPort no Google Security Operations usando o Bindplane. O analisador extrai campos das mensagens do syslog, especificamente aqueles relacionados a eventos AccessLogs_chron. Ele usa padrões grok para analisar a mensagem, converte tipos de dados e mapeia os campos extraídos para o modelo de dados unificado (UDM), processando vários campos específicos do Cisco Ironport, como grupos de políticas e decisões de acesso. Ele também realiza o tratamento básico de erros e define campos de metadados, como nome do fornecedor e do produto.

Antes de começar

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

  • Instância do Google SecOps
  • Windows 2016 ou mais recente ou um host Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Acesso privilegiado ao Cisco IronPort

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 do 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
    

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
    

Outros recursos de instalação

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

Configurar o agente Bindpolane para ingerir o Syslog e enviar ao Google SecOps

  1. 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, vi ou Bloco de Notas).
  2. Edite o arquivo 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_IRONPORT'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <customer_id> pelo ID do cliente real.
    • Atualize /path/to/ingestion-authentication-file.json para 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-agent
    
  • Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o Syslog no Cisco IronPort

  1. Faça login na UI da Web do Cisco IronPort.
  2. Clique em Administração do sistema > Assinaturas de registros.
  3. Clique em Adicionar assinatura de registro.
  4. Informe os seguintes detalhes de configuração:
    • Tipo de registro: selecione Registros de acesso ou outros registros que você quer exportar.
    • Estilo de registro: selecione Squid.
    • Nome do arquivo: informe um nome de arquivo se ele não for fornecido por padrão.
    • Método de recuperação: selecione Envio de Syslog (usa a porta padrão 514).
    • Nome do host: insira o endereço IP do agente do Bindplane.
    • Protocolo: selecione UDP.
    • Unidade: selecione local0 ou syslog.
  5. Clique em Enviar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
AccessLogs_chron metadata.product_event_type Mapeado diretamente do campo product_event extraído pelo primeiro analisador grok.
acl_decision_tag security_result.detection_fields.key O valor é "ACL Decision Tag". A lógica do analisador define esse valor quando acl_decision_tag está presente nos registros.
acl_decision_tag security_result.detection_fields.value Mapeado diretamente do campo acl_decision_tag extraído pelo segundo analisador grok.
access_or_decryption_policy_group security_result.detection_fields.key O valor é "AccessOrDecryptionPolicyGroup". A lógica do analisador define esse valor quando access_or_decryption_policy_group está presente nos registros.
access_or_decryption_policy_group security_result.detection_fields.value Mapeado diretamente do campo access_or_decryption_policy_group extraído pelo segundo analisador grok.
authenticated_user principal.user.userid Extraído do campo authenticated_user usando grok e gsub para remover barras invertidas e aspas.
cache_hierarchy_retrieval security_result.detection_fields.key O valor é "Cache Hierarchy Retrieval". A lógica do analisador define esse valor quando cache_hierarchy_retrieval está presente nos registros.
cache_hierarchy_retrieval security_result.detection_fields.value Mapeado diretamente do campo cache_hierarchy_retrieval extraído pelo segundo analisador grok.
data_security_policy_group security_result.detection_fields.key O valor é "DataSecurityPolicyGroup". A lógica do analisador define esse valor quando data_security_policy_group está presente nos registros.
data_security_policy_group security_result.detection_fields.value Mapeado diretamente do campo data_security_policy_group extraído pelo segundo analisador grok.
external_dlp_policy_group security_result.detection_fields.key O valor é "ExternalDlpPolicyGroup". A lógica do analisador define esse valor quando external_dlp_policy_group está presente nos registros.
external_dlp_policy_group security_result.detection_fields.value Mapeado diretamente do campo external_dlp_policy_group extraído pelo segundo analisador grok.
hostname principal.asset.hostname Mapeado diretamente do campo hostname extraído pelo primeiro analisador grok.
hostname principal.hostname Mapeado diretamente do campo hostname extraído pelo primeiro analisador grok.
http_method network.http.method Mapeado diretamente do campo http_method extraído pelo segundo analisador grok.
http_response_code network.http.response_code Mapeado diretamente do campo http_response_code extraído pelo segundo analisador grok e convertido em número inteiro.
identity_policy_group security_result.detection_fields.key O valor é "IdentityPolicyGroup". A lógica do analisador define esse valor quando identity_policy_group está presente nos registros.
identity_policy_group security_result.detection_fields.value Mapeado diretamente do campo identity_policy_group extraído pelo segundo analisador grok. Copiado do campo timestamp depois que o filtro de data o processa. Definido como "STATUS_UPDATE" se has_principal for verdadeiro. Caso contrário, definido como "GENERIC_EVENT". Valor da constante: "Cisco Ironport". Valor da constante: "Cisco".
outbound_malware_scanning_policy_group security_result.detection_fields.key O valor é "OutboundMalwareScanningPolicyGroupS". A lógica do analisador define esse valor quando outbound_malware_scanning_policy_group está presente nos registros.
outbound_malware_scanning_policy_group security_result.detection_fields.value Mapeado diretamente do campo outbound_malware_scanning_policy_group extraído pelo segundo analisador grok.
request_method_uri target.url Mapeado diretamente do campo request_method_uri extraído pelo segundo analisador grok.
result_code security_result.detection_fields.key O valor é "Código do resultado". A lógica do analisador define esse valor quando result_code está presente nos registros.
result_code security_result.detection_fields.value Mapeado diretamente do campo result_code extraído pelo segundo analisador grok.
routing_policy_group security_result.detection_fields.key O valor é "RoutingPolicyGroup". A lógica do analisador define esse valor quando routing_policy_group está presente nos registros.
routing_policy_group security_result.detection_fields.value Mapeado diretamente do campo routing_policy_group extraído pelo segundo analisador grok.
severity security_result.severity Mapeado do campo severity. Se o valor for "Info", ele será definido como "INFORMATIONAL".
source_ip principal.asset.ip Mapeado diretamente do campo source_ip extraído pelo segundo analisador grok.
source_ip principal.ip Mapeado diretamente do campo source_ip extraído pelo segundo analisador grok.
timestamp timestamp Extraído do campo message usando grok e analisado com o filtro de data.
total_bytes network.sent_bytes Mapeado diretamente do campo total_bytes extraído pelo segundo analisador grok e convertido em um número inteiro sem sinal. Só será mapeado se não estiver vazio ou for "0".

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