Recolha registos da Cato Networks
Este documento explica como ingerir registos da Cato Networks no Google Security Operations através do AWS S3. O analisador inicializa primeiro um conjunto de campos com strings vazias e, em seguida, analisa os registos da Cato Networks formatados em JSON. Em seguida, mapeia os campos extraídos para os campos correspondentes no modelo de dados unificado (UDM) do Google SecOps, processando diferentes tipos de eventos e enriquecendo os dados com contexto adicional.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps
- Acesso privilegiado ao AWS S3 e ao AWS IAM
- Acesso privilegiado à Cato Networks
Configure o AWS IAM e o contentor do S3
- Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
- Guarde o Nome e a Região do contentor para referência futura.
- Crie um utilizador seguindo este guia do utilizador: criar um utilizador do IAM.
- Selecione o utilizador criado.
- Selecione o separador Credenciais de segurança.
- Clique em Criar chave de acesso na secção Chaves de acesso.
- Selecione Serviço de terceiros como Exemplo de utilização.
- Clicar em Seguinte.
- Opcional: adicione uma etiqueta de descrição.
- Clique em Criar chave de acesso.
- Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para referência futura.
- Clique em Concluído.
- Selecione o separador Autorizações.
- Clique em Adicionar autorizações na secção Políticas de autorizações.
- Selecione Adicionar autorizações.
- Selecione Anexar políticas diretamente.
- Pesquise a política AmazonS3FullAccess e, de seguida, selecione-a.
- Clicar em Seguinte.
- Clique em Adicionar autorizações.
Configure uma nova política IAM para o contentor do S3 para ativar os carregamentos de dados
- Em Política, clique no separador JSON.
Edite o seguinte JSON, substitua
<bucket name>
pelo seu contentor do S3 e, em seguida, cole-o no separador.{ "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>/*" ] } ] }
Clique em Criar política.
Configure uma nova função do IAM com o ARN do Cato
No ecrã Selecionar entidade fidedigna, selecione Política de fidedignidade personalizada e adicione o ARN da 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" } ] }
Clicar em Seguinte.
No ecrã Adicionar autorizações, anexe a política que criou anteriormente à função.
Clicar em Seguinte.
Introduza o Nome da função e clique em Criar função.
Configure a integração do Cato Networks Events e do S3
- Inicie sessão na IU Web da Cato Networks.
- Aceda a Recursos > Integrações de eventos.
- Clique em Ativar integração com eventos do Cato.
- Clique em Novo.
- Indique os seguintes detalhes de configuração:
- Introduza o nome da integração.
- Nome do contentor: nome idêntico do contentor do S3.
- Pasta: nome idêntico para o caminho da pasta no contentor do S3 (se necessário).
- Região: região idêntica para o contentor do S3.
- ARN da função: copie e cole o ARN da função para o contentor do S3.
- (Opcional) Defina as definições de filtro para eventos carregados para o contentor do S3 (quando define vários filtros, existe uma relação AND e os eventos que correspondem a todos os filtros são carregados).
- Clique em Aplicar.
Configure feeds
Para configurar um feed, siga estes passos:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na página seguinte, clique em Configurar um único feed.
- No campo Nome do feed, introduza um nome para o feed (por exemplo,
Cato Logs
). - Selecione Amazon S3 V2 como o Tipo de origem.
- Selecione Cato Networks como o Tipo de registo.
- Clicar em Seguinte.
Especifique valores para os seguintes parâmetros de entrada:
URI do S3: o URI do contentor (o formato deve ser:
s3://<your-log-bucket-name>
). Substitua o seguinte:your-log-bucket-name
: o nome do segmento.
Opções de eliminação de origens: selecione a opção de eliminação de acordo com a sua preferência.
Clicar em Seguinte.
Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
Tabela de mapeamento do UDM
Campo de registo | Mapeamento do UDM | Lógica |
---|---|---|
account_id | target.user.userid | O valor deste campo é retirado do campo account_id . |
ação | additional.fields.value.string_value | O valor deste campo é retirado do campo action . |
app_stack | additional.fields.value.list_value.values.string_value | O valor deste campo é retirado do campo app_stack . |
aplicação | principal.application | O valor deste campo é retirado do campo application . |
categorias | additional.fields.value.list_value.values.string_value | O valor deste campo é retirado do campo categories . |
clientIP | principal.ip, principal.asset.ip | O valor deste campo é retirado do campo clientIP . |
creationTime | Este campo é usado para calcular a data/hora do evento. | |
custom_categories | additional.fields.value.list_value.values.string_value | O valor deste campo é retirado do campo custom_categories . |
dest_country | target.location.country_or_region | O valor deste campo é retirado do campo dest_country . |
dest_country_code | target.resource.attribute.labels.value | O valor deste campo é retirado do campo dest_country_code . |
dest_ip | target.ip, target.asset.ip | O valor deste campo é retirado do campo dest_ip . |
dest_port | target.port | O valor deste campo é retirado do campo dest_port . |
destinationCountry | target.location.country_or_region | O valor deste campo é retirado do campo destinationCountry . |
destinationIp | target.ip, target.asset.ip | O valor deste campo é retirado do campo destinationIp . |
destinationName | target.hostname, target.asset.hostname | O valor deste campo é retirado do campo destinationName . |
device_name | network.dhcp.client_hostname | O valor deste campo é retirado do campo device_name . |
dns_name | additional.fields.value.string_value | O valor deste campo é retirado do campo dns_name . |
event_count | additional.fields.value.string_value | O valor deste campo é retirado do campo event_count . |
event_sub_type | metadata.description | O valor deste campo é retirado do campo event_sub_type . |
fieldsMap.ISP_name | additional.fields.value.string_value | O valor deste campo é retirado do campo fieldsMap.ISP_name . |
fieldsMap.action | security_result.action_details | O valor deste campo é retirado do campo fieldsMap.action . |
fieldsMap.categories | security_result.category_details | O valor deste campo é retirado do campo fieldsMap.categories . |
fieldsMap.dest_country | target.location.country_or_region | O valor deste campo é retirado do campo fieldsMap.dest_country . |
fieldsMap.dest_ip | target.ip, target.asset.ip | O valor deste campo é retirado do campo fieldsMap.dest_ip . |
fieldsMap.dest_port | principal.port | O valor deste campo é retirado do campo fieldsMap.dest_port . |
fieldsMap.domain_name | principal.administrative_domain | O valor deste campo é retirado do campo fieldsMap.domain_name . |
fieldsMap.event_sub_type | metadata.description | O valor deste campo é retirado do campo fieldsMap.event_sub_type . |
fieldsMap.event_type | metadata.product_event_type | O valor deste campo é retirado do campo fieldsMap.event_type . |
fieldsMap.ip_protocol | network.ip_protocol | O valor deste campo é retirado do campo fieldsMap.ip_protocol . |
fieldsMap.os_type | Este campo é usado para determinar o sistema operativo do principal. | |
fieldsMap.pop_name | additional.fields.value.string_value | O valor deste campo é retirado do campo fieldsMap.pop_name . |
fieldsMap.rule_id | security_result.rule_id | O valor deste campo é retirado do campo fieldsMap.rule_id . |
fieldsMap.rule_name | security_result.rule_name | O valor deste campo é retirado do campo fieldsMap.rule_name . |
fieldsMap.src_ip | principal.ip, principal.asset.ip | O valor deste campo é retirado do campo fieldsMap.src_ip . |
fieldsMap.src_isp_ip | src.ip, src.asset.ip | O valor deste campo é retirado do campo fieldsMap.src_isp_ip . |
fieldsMap.time | Este campo é usado para calcular a data/hora do evento. | |
file_hash | target.file.sha256 | O valor deste campo é retirado do campo file_hash . |
file_name | target.file.full_path | O valor deste campo é retirado do campo file_name . |
file_size | target.file.size | O valor deste campo é retirado do campo file_size . |
http_host_name | principal.hostname, principal.asset.hostname | O valor deste campo é retirado do campo http_host_name . |
insertionDate | additional.fields.value.string_value | O valor deste campo é retirado do campo insertionDate . |
internalId | additional.fields.value.string_value | O valor deste campo é retirado do campo internalId . |
ip_protocol | network.ip_protocol | O valor deste campo é retirado do campo ip_protocol . |
is_sanctioned_app | security_result.detection_fields.value | O valor deste campo é retirado do campo is_sanctioned_app . |
os_type | principal.platform | O valor deste campo é retirado do campo os_type . |
pop_name | Este campo é usado para preencher o campo fieldsMap.pop_name . |
|
prettyType | metadata.product_event_type | O valor deste campo é retirado do campo prettyType . |
regra | additional.fields.value.string_value | O valor deste campo é retirado do campo rule . |
rule_id | security_result.rule_id | O valor deste campo é retirado do campo rule_id . |
rule_name | security_result.rule_name | O valor deste campo é retirado do campo rule_name . |
server_port | target.port | O valor deste campo é retirado do campo server_port . |
gravidade | security_result.severity_details | O valor deste campo é retirado do campo severity . |
sourceCountry | principal.location.country_or_region | O valor deste campo é retirado do campo sourceCountry . |
sourceInternalIp | principal.ip | O valor deste campo é retirado do campo sourceInternalIp . |
sourceIp | src.ip, src.asset.ip | O valor deste campo é retirado do campo sourceIp . |
sourceName | principal.user.user_display_name | O valor deste campo é retirado do campo sourceName . |
desporto | principal.port | O valor deste campo é retirado do campo sport . |
src_country | Este campo é usado para preencher o campo sourceCountry . |
|
src_country_code | principal.resource.attribute.labels.value | O valor deste campo é retirado do campo src_country_code . |
src_ip | principal.ip, principal.asset.ip | O valor deste campo é retirado do campo src_ip . |
src_is_site_or_vpn | security_result.detection_fields.value | O valor deste campo é retirado do campo src_is_site_or_vpn . |
src_isp_ip | src.ip, src.asset.ip | O valor deste campo é retirado do campo src_isp_ip . |
src_site | additional.fields.value.string_value | O valor deste campo é retirado do campo src_site . |
src_site_name | additional.fields.value.string_value | O valor deste campo é retirado do campo src_site_name . |
iniciar | Este campo é usado para calcular a data/hora do evento. | |
subnet_name | additional.fields.value.string_value | O valor deste campo é retirado do campo subnet_name . |
tempo | Este campo é usado para calcular a data/hora do evento. | |
time_str | Este campo é usado para calcular a data/hora do evento. | |
tunnel_host_logon_names | principal.user.userid | O valor deste campo é retirado do campo tunnel_host_logon_names . |
URL | target.url | O valor deste campo é retirado do campo url . |
user_id | principal.user.userid | O valor deste campo é retirado do campo user_id . |
metadata.event_type | O valor deste campo está 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 deste campo está definido como CATO_NETWORKS . |
|
metadata.product_name | O valor deste campo está definido como SASE . |
|
metadata.vendor_name | O valor deste campo está definido como Cato Networks . |
|
network.application_protocol | O valor deste campo está definido como DHCP para eventos Connected . |
|
network.dhcp.chaddr | O valor deste campo está definido como 01:23:45:ab:cd:ef para eventos Connected . |
|
network.dhcp.lease_time_seconds | O valor deste campo está definido como 86400 para eventos Connected . |
|
network.dhcp.opcode | O valor deste campo está definido como BOOTREPLY para eventos Connected . |
|
network.dhcp.type | O valor deste campo está definido como ACK para eventos Connected . |
|
network.direction | O valor deste campo está definido como OUTBOUND para eventos Anti Malware e URL Filtering . |
|
security_result.action | O valor deste campo é definido como ALLOW se o campo action não for BLOCK . Caso contrário, é definido como BLOCK . |
|
event_type | metadata.description | O valor deste campo é retirado do campo event_type . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.