Coletar registros da Cato Networks

Compatível com:

Este documento explica como ingerir registros da Cato Networks no Google Security Operations usando o AWS S3. Primeiro, o analisador inicializa um conjunto de campos com strings vazias e depois analisa os registros da Cato Networks formatados em JSON. Em seguida, ele mapeia os campos extraídos para os campos correspondentes no modelo unificado de dados (UDM) do Google SecOps, processando diferentes tipos de eventos e enriquecendo os dados com contexto adicional.

Antes de começar

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

  • Instância do Google SecOps
  • Acesso privilegiado ao AWS S3 e ao AWS IAM
  • Acesso privilegiado à Cato Networks

Configurar o IAM da AWS e o bucket do S3

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Como criar um bucket
  2. Salve o Nome e a Região do bucket para referência futura.
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como Caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para referência futura.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar uma nova política do IAM para o bucket do S3 e ativar os uploads de dados

  1. Em Política, clique na guia JSON.
  2. Edite o seguinte JSON, substitua <bucket name> pelo seu bucket do S3 e cole na guia.

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "",
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket",
                    "s3:GetBucketLocation"
                ],
                "Resource": [
                    "arn:aws:s3:::<bucket name>"
                ]
            },
            {
                "Sid": "",
                "Effect": "Allow",
                "Action": [
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::<bucket name>/*"
                ]
            }
        ]
    }
    
  3. Clique em Criar política.

Configurar um novo papel do IAM com o ARN do Cato

  1. Na tela Selecionar entidade confiável, escolha Política de confiança personalizada e adicione o ARN do Cato à função: arn:aws:iam::428465470022:role/cato-events-integration

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Statement1",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::428465470022:role/cato-events-integration"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  2. Clique em Próxima.

  3. Na tela Adicionar permissões, anexe a política criada anteriormente à função.

  4. Clique em Próxima.

  5. Digite o Nome da função e clique em Criar função.

Configurar eventos da Cato Networks e integração com o S3

  1. Faça login na UI da Web da Cato Networks.
  2. Acesse Recursos > Integrações de eventos.
  3. Clique em Ativar integração com eventos do Cato.
  4. Clique em Novo.
  5. Informe os seguintes detalhes de configuração:
    • Insira o Nome da integração.
    • Nome do bucket: nome idêntico do bucket do S3.
    • Pasta: nome idêntico para o caminho da pasta no bucket do S3 (se necessário).
    • Região: a mesma região do bucket do S3.
    • ARN da função: copie e cole o ARN da função para o bucket do S3.
    • (Opcional) Defina as configurações de filtro para eventos enviados ao bucket do S3. Quando você define vários filtros, há uma relação "E", e os eventos que correspondem a todos os filtros são enviados.
  6. Clique em Aplicar.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em "Configurações do SIEM" > "Feeds".

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, Cato Logs).
  5. Selecione Amazon S3 como o Tipo de origem.
  6. Selecione Cato Networks como o Tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • Região: a região em que o bucket do Amazon S3 está localizado.
    • URI do S3: o URI do bucket. O formato precisa ser s3://<your-log-bucket-name>. Substitua o seguinte:
      • your-log-bucket-name: o nome do bucket
    • O URI é um: selecione Diretório ou Diretório que inclui subdiretórios.
    • Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
    • ID da chave de acesso: a chave de acesso do usuário com acesso ao bucket do S3.
    • Chave de acesso secreta: a chave secreta do usuário com acesso ao bucket do S3.
  9. Clique em Próxima.

  10. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Região: a região em que o bucket do Amazon S3 está localizado.

    • URI do S3: o URI do bucket. O formato precisa ser s3://<your-log-bucket-name>. Substitua o seguinte:
      • your-log-bucket-name: o nome do bucket
    • O URI é um: selecione Diretório ou Diretório que inclui subdiretórios.
    • Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
    • ID da chave de acesso: a chave de acesso do usuário com acesso ao bucket do S3.
    • Chave de acesso secreta: a chave secreta do usuário com acesso ao bucket do S3.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

Tabela de mapeamento da UDM

Campo de registro Mapeamento da UDM Lógica
account_id target.user.userid O valor desse campo é extraído do campo account_id.
ação additional.fields.value.string_value O valor desse campo é extraído do campo action.
app_stack additional.fields.value.list_value.values.string_value O valor desse campo é extraído do campo app_stack.
aplicativo principal.application O valor desse campo é extraído do campo application.
categorias additional.fields.value.list_value.values.string_value O valor desse campo é extraído do campo categories.
clientIP principal.ip, principal.asset.ip O valor desse campo é extraído do campo clientIP.
creationTime Esse campo é usado para calcular o carimbo de data/hora do evento.
custom_categories additional.fields.value.list_value.values.string_value O valor desse campo é extraído do campo custom_categories.
dest_country target.location.country_or_region O valor desse campo é extraído do campo dest_country.
dest_country_code target.resource.attribute.labels.value O valor desse campo é extraído do campo dest_country_code.
dest_ip target.ip, target.asset.ip O valor desse campo é extraído do campo dest_ip.
dest_port target.port O valor desse campo é extraído do campo dest_port.
destinationCountry target.location.country_or_region O valor desse campo é extraído do campo destinationCountry.
destinationIp target.ip, target.asset.ip O valor desse campo é extraído do campo destinationIp.
destinationName target.hostname, target.asset.hostname O valor desse campo é extraído do campo destinationName.
device_name network.dhcp.client_hostname O valor desse campo é extraído do campo device_name.
dns_name additional.fields.value.string_value O valor desse campo é extraído do campo dns_name.
event_count additional.fields.value.string_value O valor desse campo é extraído do campo event_count.
event_sub_type metadata.description O valor desse campo é extraído do campo event_sub_type.
fieldsMap.ISP_name additional.fields.value.string_value O valor desse campo é extraído do campo fieldsMap.ISP_name.
fieldsMap.action security_result.action_details O valor desse campo é extraído do campo fieldsMap.action.
fieldsMap.categories security_result.category_details O valor desse campo é extraído do campo fieldsMap.categories.
fieldsMap.dest_country target.location.country_or_region O valor desse campo é extraído do campo fieldsMap.dest_country.
fieldsMap.dest_ip target.ip, target.asset.ip O valor desse campo é extraído do campo fieldsMap.dest_ip.
fieldsMap.dest_port principal.port O valor desse campo é extraído do campo fieldsMap.dest_port.
fieldsMap.domain_name principal.administrative_domain O valor desse campo é extraído do campo fieldsMap.domain_name.
fieldsMap.event_sub_type metadata.description O valor desse campo é extraído do campo fieldsMap.event_sub_type.
fieldsMap.event_type metadata.product_event_type O valor desse campo é extraído do campo fieldsMap.event_type.
fieldsMap.ip_protocol network.ip_protocol O valor desse campo é extraído do campo fieldsMap.ip_protocol.
fieldsMap.os_type Esse campo é usado para determinar o sistema operacional do principal.
fieldsMap.pop_name additional.fields.value.string_value O valor desse campo é extraído do campo fieldsMap.pop_name.
fieldsMap.rule_id security_result.rule_id O valor desse campo é extraído do campo fieldsMap.rule_id.
fieldsMap.rule_name security_result.rule_name O valor desse campo é extraído do campo fieldsMap.rule_name.
fieldsMap.src_ip principal.ip, principal.asset.ip O valor desse campo é extraído do campo fieldsMap.src_ip.
fieldsMap.src_isp_ip src.ip, src.asset.ip O valor desse campo é extraído do campo fieldsMap.src_isp_ip.
fieldsMap.time Esse campo é usado para calcular o carimbo de data/hora do evento.
file_hash target.file.sha256 O valor desse campo é extraído do campo file_hash.
file_name target.file.full_path O valor desse campo é extraído do campo file_name.
file_size target.file.size O valor desse campo é extraído do campo file_size.
http_host_name principal.hostname, principal.asset.hostname O valor desse campo é extraído do campo http_host_name.
insertionDate additional.fields.value.string_value O valor desse campo é extraído do campo insertionDate.
internalId additional.fields.value.string_value O valor desse campo é extraído do campo internalId.
ip_protocol network.ip_protocol O valor desse campo é extraído do campo ip_protocol.
is_sanctioned_app security_result.detection_fields.value O valor desse campo é extraído do campo is_sanctioned_app.
os_type principal.platform O valor desse campo é extraído do campo os_type.
pop_name Esse campo é usado para preencher o campo fieldsMap.pop_name.
prettyType metadata.product_event_type O valor desse campo é extraído do campo prettyType.
regra additional.fields.value.string_value O valor desse campo é extraído do campo rule.
rule_id security_result.rule_id O valor desse campo é extraído do campo rule_id.
rule_name security_result.rule_name O valor desse campo é extraído do campo rule_name.
server_port target.port O valor desse campo é extraído do campo server_port.
gravidade, security_result.severity_details O valor desse campo é extraído do campo severity.
sourceCountry principal.location.country_or_region O valor desse campo é extraído do campo sourceCountry.
sourceInternalIp principal.ip O valor desse campo é extraído do campo sourceInternalIp.
sourceIp src.ip, src.asset.ip O valor desse campo é extraído do campo sourceIp.
sourceName principal.user.user_display_name O valor desse campo é extraído do campo sourceName.
esporte principal.port O valor desse campo é extraído do campo sport.
src_country Esse campo é usado para preencher o campo sourceCountry.
src_country_code principal.resource.attribute.labels.value O valor desse campo é extraído do campo src_country_code.
src_ip principal.ip, principal.asset.ip O valor desse campo é extraído do campo src_ip.
src_is_site_or_vpn security_result.detection_fields.value O valor desse campo é extraído do campo src_is_site_or_vpn.
src_isp_ip src.ip, src.asset.ip O valor desse campo é extraído do campo src_isp_ip.
src_site additional.fields.value.string_value O valor desse campo é extraído do campo src_site.
src_site_name additional.fields.value.string_value O valor desse campo é extraído do campo src_site_name.
start Esse campo é usado para calcular o carimbo de data/hora do evento.
subnet_name additional.fields.value.string_value O valor desse campo é extraído do campo subnet_name.
tempo Esse campo é usado para calcular o carimbo de data/hora do evento.
time_str Esse campo é usado para calcular o carimbo de data/hora do evento.
tunnel_host_logon_names principal.user.userid O valor desse campo é extraído do campo tunnel_host_logon_names.
URL target.url O valor desse campo é extraído do campo url.
user_id principal.user.userid O valor desse campo é extraído do campo user_id.
metadata.event_type O valor desse campo é definido como GENERIC_EVENT e pode ser substituído por NETWORK_CONNECTION, NETWORK_DHCP ou NETWORK_HTTP com base no evento.
metadata.log_type O valor desse campo é definido como CATO_NETWORKS.
metadata.product_name O valor desse campo é definido como SASE.
metadata.vendor_name O valor desse campo é definido como Cato Networks.
network.application_protocol O valor desse campo é definido como DHCP para eventos Connected.
network.dhcp.chaddr O valor desse campo é definido como 01:23:45:ab:cd:ef para eventos Connected.
network.dhcp.lease_time_seconds O valor desse campo é definido como 86400 para eventos Connected.
network.dhcp.opcode O valor desse campo é definido como BOOTREPLY para eventos Connected.
network.dhcp.type O valor desse campo é definido como ACK para eventos Connected.
network.direction O valor desse campo é definido como OUTBOUND para eventos Anti Malware e URL Filtering.
security_result.action O valor desse campo é definido como ALLOW se o campo action não for BLOCK. Caso contrário, ele será definido como BLOCK.
event_type metadata.description O valor desse campo é extraído do campo event_type.

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