Recolha registos de fluxo da VPC da AWS
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
Certifique-se de que o contentor do Amazon S3 é criado. Para mais informações, consulte o artigo Crie o seu primeiro contentor do S3.
Certifique-se de que o grupo de registos do Amazon CloudWatch é criado. Para mais informações, consulte o artigo Trabalhar com grupos de registos e streams de registos.
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.
Para obter informações sobre o encaminhamento de registos para o contentor do Amazon S3, consulte a secção Configure os registos de fluxo para encaminhar registos para o Amazon S3 deste documento.
Para obter informações sobre o encaminhamento de registos para o Amazon CloudWatch, consulte a secção Configure registos de fluxo para o Amazon CloudWatch deste documento.
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
- Inicie sessão na consola do Amazon EC2.
- No painel de navegação, selecione Interfaces de rede.
- Selecione uma ou mais interfaces de rede.
- Selecione Ações > Criar registo de fluxo.
- 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
- Inicie sessão na consola da Amazon VPC.
- No painel de navegação, selecione Sub-redes.
- Selecione uma ou mais sub-redes.
- Selecione Ações > Criar registo de fluxo.
- 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
- Inicie sessão na consola da Amazon VPC.
- No painel de navegação, selecione VPCs.
- Selecione uma ou mais VPCs.
- Selecione Ações > Criar registo de fluxo.
- 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
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.
Na secção Intervalo de agregação máximo, selecione 1 minuto.
Na secção Destino, selecione Enviar para um contentor do Amazon S3.
Na secção ARN do contentor S3, especifique o ARN de um contentor do Amazon S3.
Na secção Formato do registo de registos, especifique os seguintes formatos para o registo de registos de fluxo:
- Para usar o formato de registo de fluxo predefinido, selecione Formato predefinido da AWS.
- Para criar um formato personalizado, selecione Formato personalizado.
Configure o fluxo de registos da VPC com o formato de registo da AWS personalizado para usar as funcionalidades de IP verdadeiro do MSS.
Na lista Formato do registo, selecione todos os atributos.
Na secção Pré-visualização do formato, reveja o formato personalizado.
Na secção Formato do ficheiro de registo, selecione Texto (predefinição).
Na secção Prefixo S3 compatível com o Hive, mantenha a caixa de verificação Ativar desmarcada.
Na secção Particionar registos por hora, selecione A cada 1 hora (60 minutos).
Para adicionar uma etiqueta ao registo de fluxo, selecione Adicionar nova etiqueta e especifique a chave e o valor da etiqueta.
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.
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.
Na secção Intervalo de agregação máximo, selecione 1 minuto.
Na secção Destino, selecione Enviar para os registos do CloudWatch.
Na secção Grupo de registos de destino, indique o nome do grupo de registos de destino que criou.
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": "*" } ] }
Na secção Formato do registo de registo, selecione Formato personalizado para o registo de registo de fluxo.
Para adicionar uma etiqueta ao registo de fluxo, selecione Adicionar nova etiqueta e especifique a chave e o valor da etiqueta.
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:
Para obter informações sobre quaisquer origens de registo, consulte Pontos finais e quotas da gestão de identidade e acesso da AWS.
Para obter informações sobre as origens de registo do Amazon S3, consulte o artigo Pontos finais e quotas do Amazon Simple Storage Service.
Para obter informações sobre as origens de registo do Amazon SQS, consulte o artigo Pontos finais e quotas do Amazon Simple Queue Service.
Para ver informações sobre as origens de registo do Amazon CloudWatch, consulte o artigo Pontos finais e quotas dos registos do Amazon CloudWatch.
Configure o encaminhador e o syslog do Google SecOps para carregar registos de fluxo da VPC da AWS
- Selecione Definições do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- Introduza um nome exclusivo para o nome do encaminhador.
- Clique em Enviar e, de seguida, em Confirmar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
- No campo Nome do coletor, introduza um nome.
- No campo Tipo de registo, selecione Fluxo de VPC da AWS ou Fluxo de VPC da AWS (CSV), consoante o formato do registo.
- No campo Tipo de coletor, selecione Syslog.
- 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.
- 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.