Recolha registos de fluxo da VPC da AWS

Compatível com:

Este documento descreve como pode recolher registos de fluxo da VPC da AWS através de um encaminhador do Google Security Operations.

Para mais informações, consulte o artigo Ingestão de dados no Google SecOps.

Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados no formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento AWS_VPC_FLOW.

Formatos de registos de fluxo da VPC da AWS suportados

O Google SecOps suporta a carregamento de registos de fluxo da VPC da AWS em dois formatos de texto principais:

  • Formato JSON: o AWS_VPC_FLOW tipo de registo analisa registos no formato JSON. Neste formato, cada entrada de registo inclui uma chave e o respetivo valor, o que torna os dados autodescritivos.

  • Formato CSV: o Google SecOps também fornece um analisador para registos de fluxo de VPC da AWS no formato CSV. Este formato apresenta as chaves de campo apenas uma vez na linha de cabeçalho, e as linhas subsequentes contêm apenas valores separados por vírgulas.

Para carregar registos de fluxo de VPC da AWS no formato CSV, especifique o tipo de registo como AWS_VPC_FLOW_CSV ao configurar o encaminhador. Para obter instruções de configuração, consulte o artigo Configure o encaminhador e o syslog do Google SecOps para carregar registos de fluxo da VPC da AWS.

Uma vez que o formato CSV não inclui chaves de campo em cada entrada do registo, o analisador AWS_VPC_FLOW_CSV baseia-se numa ordem de valores rigorosa e predefinida. Os seus ficheiros CSV têm de respeitar a seguinte ordem dos campos para uma análise correta:

   Version,Account_id,Interface_id,Srcaddr,Dstaddr,Srcport,Dstport,Protocol,Packets,Bytes,Start,End,Action,Log_status,Vpc_id,Subnet_id,Instance_id,Tcp_flags,Type,Pkt_srcaddr,Pkt_dstaddr,Region,Az_id,Sublocation_type,Sublocation_id,Pkt_src_aws_service,Pkt_dst_aws_service,Flow_direction,Traffic_path,Ecs_cluster_arn,Ecs_cluster_name,Ecs_container_instance_arn,Ecs_container_instance_id,Ecs_container_id,Ecs_second_container_id,Ecs_service_name,Ecs_task_definition_arn,Ecs_task_arn,Ecs_task_id

Segue-se um exemplo de uma linha de registo CSV:

   7,369096419186,eni-0520bb5efed19d33a,10.119.32.34,10.119.223.3,51256,16020,6,14,3881,1723542839,1723542871,ACCEPT,OK,vpc-0769a6844ce873a6a,subnet-0cf9b2cb32f49f258,i-088d6080f45f5744f,0,IPv4,10.119.32.34,10.119.223.3,ap-northeast-1,apne1-az4,-,-,-,-,ingress,,-,-,-,-,-,-,-,-,-,-

Para os campos em que não está disponível nenhum valor, deve ser transmitido um valor vazio (por exemplo, , ,) para manter a ordem posicional correta na linha CSV.

Antes de começar

Configure o fluxo de VPC da AWS

Configure o fluxo de VPC da AWS com base no facto de encaminhar os registos para o Amazon S3 ou para o Amazon CloudWatch.

Configure os registos de fluxo para encaminhar registos para o Amazon S3

Depois de criar e configurar o contentor do Amazon S3, pode criar registos de fluxo para as suas interfaces de rede, sub-redes e redes VPCs.

Crie um registo de fluxo para uma interface de rede

  1. Inicie sessão na consola do Amazon EC2.
  2. No painel de navegação, selecione Interfaces de rede.
  3. Selecione uma ou mais interfaces de rede.
  4. Selecione Ações > Criar registo de fluxo.
  5. Configure as definições do registo de fluxo. Para mais informações, consulte a secção Configure as definições de registo de fluxo deste documento.

Crie um registo de fluxo para uma sub-rede

  1. Inicie sessão na consola da Amazon VPC.
  2. No painel de navegação, selecione Sub-redes.
  3. Selecione uma ou mais sub-redes.
  4. Selecione Ações > Criar registo de fluxo.
  5. Configure as definições do registo de fluxo. Para mais informações, consulte a secção Configure as definições de registo de fluxo deste documento.

Crie um registo de fluxo para uma VPC

  1. Inicie sessão na consola da Amazon VPC.
  2. No painel de navegação, selecione VPCs.
  3. Selecione uma ou mais VPCs.
  4. Selecione Ações > Criar registo de fluxo.
  5. Configure as definições do registo de fluxo. Para mais informações, consulte a secção Configure as definições de registo de fluxo deste documento.

Configure as definições de registo de fluxo

  1. Na secção Filtro, especifique o tráfego IP a registar:

    • Aceitar: registe apenas o tráfego aceite.

    • Rejeitar: registe apenas o tráfego rejeitado.

    • Tudo: registe o tráfego aceite e rejeitado.

  2. Na secção Intervalo de agregação máximo, selecione 1 minuto.

  3. Na secção Destino, selecione Enviar para um contentor do Amazon S3.

  4. Na secção ARN do contentor S3, especifique o ARN de um contentor do Amazon S3.

  5. Na secção Formato do registo de registos, especifique os seguintes formatos para o registo de registos de fluxo:

    1. Para usar o formato de registo de fluxo predefinido, selecione Formato predefinido da AWS.
    2. Para criar um formato personalizado, selecione Formato personalizado.
  6. Configure o fluxo de registos da VPC com o formato de registo da AWS personalizado para usar as funcionalidades de IP verdadeiro do MSS.

  7. Na lista Formato do registo, selecione todos os atributos.

  8. Na secção Pré-visualização do formato, reveja o formato personalizado.

  9. Na secção Formato do ficheiro de registo, selecione Texto (predefinição).

  10. Na secção Prefixo S3 compatível com o Hive, mantenha a caixa de verificação Ativar desmarcada.

  11. Na secção Particionar registos por hora, selecione A cada 1 hora (60 minutos).

  12. Para adicionar uma etiqueta ao registo de fluxo, selecione Adicionar nova etiqueta e especifique a chave e o valor da etiqueta.

  13. Selecione Criar registo de fluxo. Para mais informações, consulte o artigo Publique registos de fluxo no Amazon S3.

Configure registos de fluxo para o Amazon CloudWatch

Pode configurar o registo de fluxo a partir de VPCs, sub-redes ou interfaces de rede.

  1. Na secção Filtro, especifique o tipo de tráfego IP a registar:

    • Aceitar: registe apenas o tráfego aceite.

    • Rejeitar: registe apenas o tráfego rejeitado.

    • Tudo: registe o tráfego aceite e rejeitado.

  2. Na secção Intervalo de agregação máximo, selecione 1 minuto.

  3. Na secção Destino, selecione Enviar para os registos do CloudWatch.

  4. Na secção Grupo de registos de destino, indique o nome do grupo de registos de destino que criou.

  5. Na lista Função do IAM, selecione o nome da função. O nome da função selecionado tem autorizações para publicar registos nos registos do CloudWatch.

    A função do IAM tem de incluir as seguintes autorizações:

       {
         "Version": "2012-10-17",
         "Statement": [
           {
             "Effect": "Allow",
             "Action": [
               "logs:CreateLogGroup",
               "logs:CreateLogStream",
               "logs:PutLogEvents",
               "logs:DescribeLogGroups",
               "logs:DescribeLogStreams"
           ],
           "Resource": "*"
         }
        ]
       }
    
  6. Na secção Formato do registo de registo, selecione Formato personalizado para o registo de registo de fluxo.

  7. Para adicionar uma etiqueta ao registo de fluxo, selecione Adicionar nova etiqueta e especifique a chave e o valor da etiqueta.

  8. Selecione Criar registo de fluxo. Para mais informações, consulte o artigo Publique registos de fluxo no Amazon S3.

O Amazon S3 pode ser configurado para enviar as notificações de eventos para o Amazon SQS. Para mais informações, consulte o artigo Configurar um contentor para notificações (tópico do SNS ou fila do SQS).

As políticas de utilizadores do IAM são necessárias para o Amazon S3 e o Amazon SQS se usar o Amazon SQS (Amazon S3 com o Amazon SQS) como método de recolha de registos. Para mais informações, consulte o artigo Usar políticas de IAM com o AWS KMS.

Com base no serviço e na região, identifique os pontos finais para a conetividade consultando a seguinte documentação da AWS:

Configure o encaminhador e o syslog do Google SecOps para carregar registos de fluxo da VPC da AWS

  1. Selecione Definições do SIEM > Encaminhadores.
  2. Clique em Adicionar novo encaminhador.
  3. Introduza um nome exclusivo para o nome do encaminhador.
  4. Clique em Enviar e, de seguida, em Confirmar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
  5. No campo Nome do coletor, introduza um nome.
  6. No campo Tipo de registo, selecione Fluxo de VPC da AWS ou Fluxo de VPC da AWS (CSV), consoante o formato do registo.
  7. No campo Tipo de coletor, selecione Syslog.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Protocolo: especifique o protocolo de ligação que o coletor vai usar para ouvir os dados do syslog.
    • Endereço: especifique o endereço IP ou o nome de anfitrião de destino onde o coletor reside e se dirige aos dados syslog.
    • Porta: especifique a porta de destino onde o coletor reside e ouve os dados do syslog.
  9. Clique em Enviar e, de seguida, em Confirmar.

Para mais informações sobre os encaminhadores do Google SecOps, consulte a documentação dos encaminhadores do Google Security Operations. Para obter informações sobre os requisitos de cada tipo de encaminhador, consulte o artigo Configuração do encaminhador por tipo.

Se tiver problemas ao criar encaminhamentos, contacte o apoio técnico das Operações de segurança da Google.

Referência de mapeamento de campos

Este analisador transforma registos de fluxo de VPC da AWS não processados, no formato JSON ou CSV, no formato UDM estruturado. Extrai campos relevantes, mapeia-os para corresponderem ao esquema da UDM e enriquece os dados com contexto adicional, como o tipo de recurso, o fornecedor de nuvem e as etiquetas, para suportar uma análise mais detalhada. A lógica de mapeamento é consistente em ambos os formatos: o analisador CSV baseia-se numa ordem de campos predefinida para alinhar os valores com os mesmos campos UDM usados no formato JSON.

Tabela de mapeamento de UDM para o analisador de VPC do AWS EC2

Campo de registo (ascendente) Mapeamento de UDM Lógica
CidrBlock event.idm.entity.entity.resource.attribute.labels.cidr_block Mapeado diretamente a partir do campo "CidrBlock" no registo não processado.
CidrBlock event.idm.entity.entity.network.ip_subnet_range Mapeado diretamente a partir do campo "CidrBlock" no registo não processado.
CidrBlockAssociation.AssociationID event.idm.entity.entity.resource.attribute.labels.cidr_block_association_association_id Mapeado diretamente a partir do campo "AssociationID" na matriz "CidrBlockAssociation" no registo não processado.
CidrBlockAssociation.CidrBlockState.State event.idm.entity.entity.resource.attribute.labels.cidr_block_association_cidr_block_state_state Mapeado diretamente do campo "State" no objeto "CidrBlockState" da matriz "CidrBlockAssociation" no registo não processado.
CidrBlockAssociation.CidrBlockState.StatusMessage event.idm.entity.entity.resource.attribute.labels.cidr_block_association_cidr_block_state_status_message Mapeado diretamente a partir do campo "StatusMessage" no objeto "CidrBlockState" da matriz "CidrBlockAssociation" no registo não processado.
DhcpOptionsID event.idm.entity.entity.resource.attribute.labels.dhcp_options_id Mapeado diretamente a partir do campo "DhcpOptionsID" no registo não processado.
ID event.idm.entity.entity.resource.product_object_id Mapeado diretamente a partir do campo "ID" no registo não processado, que é mudado para "VpcID" no analisador.
ID event.idm.entity.metadata.product_entity_id Mapeado diretamente a partir do campo "ID" no registo não processado, que é mudado para "VpcID" no analisador.
InstanceTenancy event.idm.entity.entity.resource.attribute.labels.instance_tenancy Mapeado diretamente a partir do campo "InstanceTenancy" no registo não processado.
IsDefault event.idm.entity.entity.resource.attribute.labels.is_default Mapeado diretamente a partir do campo "IsDefault" no registo não processado.
Ipv6CidrBlockAssociationSet.AssociationID event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_association_id Mapeado diretamente a partir do campo "AssociationID" na matriz "Ipv6CidrBlockAssociationSet" no registo não processado.
Ipv6CidrBlockAssociationSet.Ipv6CidrBlock event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block Mapeado diretamente a partir do campo "Ipv6CidrBlock" na matriz "Ipv6CidrBlockAssociationSet" no registo não processado.
Ipv6CidrBlockAssociationSet.Ipv6CidrBlockState.State event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block_state_state Mapeado diretamente do campo "State" no objeto "Ipv6CidrBlockState" da matriz "Ipv6CidrBlockAssociationSet" no registo não processado.
Ipv6CidrBlockAssociationSet.Ipv6CidrBlockState.StatusMessage event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block_state_status_message Mapeado diretamente a partir do campo "StatusMessage" no objeto "Ipv6CidrBlockState" da matriz "Ipv6CidrBlockAssociationSet" no registo não processado.
Ipv6CidrBlockAssociationSet.Ipv6Pool event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_pool Mapeado diretamente a partir do campo "Ipv6Pool" na matriz "Ipv6CidrBlockAssociationSet" no registo não processado.
Ipv6CidrBlockAssociationSet.NetworkBorderGroup event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_network_border_group Mapeado diretamente a partir do campo "NetworkBorderGroup" na matriz "Ipv6CidrBlockAssociationSet" no registo não processado.
OwnerID event.idm.entity.entity.resource.attribute.labels.owner_id Mapeado diretamente a partir do campo "OwnerID" no registo não processado.
Estado event.idm.entity.entity.resource.attribute.labels.state Mapeado diretamente a partir do campo "State" (Estado) no registo não processado.
TagSet.Key event.idm.entity.entity.resource.attribute.labels.key Mapeado diretamente a partir do campo "Key" na matriz "TagSet" no registo não processado. Esta ação cria uma nova etiqueta para cada etiqueta no "TagSet".
TagSet.Value event.idm.entity.entity.resource.attribute.labels.value Mapeado diretamente a partir do campo "Value" na matriz "TagSet" no registo não processado. Isto preenche o valor de cada etiqueta correspondente criada a partir do campo "Chave".
N/A event.idm.entity.entity.resource.attribute.cloud.environment Codificado de forma rígida como "AMAZON_WEB_SERVICES" no código do analisador.
N/A event.idm.entity.entity.resource.resource_type Codificado como "VPC_NETWORK" no código do analisador.
N/A event.idm.entity.metadata.collected_timestamp Preenchida com a data/hora do evento, que é derivada do campo "collection_time" no registo não processado.
N/A event.idm.entity.metadata.entity_type Codificado como "RESOURCE" no código do analisador.
N/A event.idm.entity.metadata.product_name Codificado de forma rígida como "Amazon VPC" no código do analisador.
N/A event.idm.entity.metadata.vendor_name Codificado como "AWS" no código do analisador.
N/A events.timestamp Preenchida com a data/hora do evento, que é derivada do campo "collection_time" no registo não processado.

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