Coletar registros de fluxo do Transit Gateway da Amazon VPC

Versão do analisador:3.0

Compatível com:

Neste documento, explicamos como ingerir registros de fluxo do Amazon VPC Transit Gateway no Google Security Operations usando o Amazon S3 ou o Amazon Kinesis Data Firehose. Os registros de fluxo do Transit Gateway capturam metadados detalhados do tráfego de rede (IPs de origem e destino, portas, protocolos, contagens de bytes e pacotes, ações) nos anexos do Transit Gateway. Esses dados permitem o monitoramento de segurança, a detecção de anomalias e a auditoria de conformidade no Google SecOps.

Antes de começar

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

  • Uma instância do Google SecOps.
  • Acesso privilegiado à AWS com permissões para:
    • Criar e gerenciar registros de fluxo do Transit Gateway
    • Criar buckets do S3 (para a opção de exportação do S3)
    • Criar usuários, políticas e papéis do IAM
    • Configurar fluxos de entrega do Kinesis Data Firehose (para a opção Firehose)
    • Acessar os registros do CloudWatch e criar filtros de assinatura (para a opção Firehose)

Opção: exportar para o Amazon S3

Ativar os registros de fluxo do Transit Gateway (para o S3)

  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.
  2. No painel de navegação, escolha Transit gateways.
  3. Marque as caixas de seleção de um ou mais gateways de trânsito e escolha Ações > Criar registro de fluxo.
  4. Em Destino, selecione Enviar para um bucket do Amazon S3.
  5. Em ARN do bucket do S3, insira o ARN de um bucket do S3 (por exemplo, arn:aws:s3:::tgw-flowlogs-bucket).

  6. Em Formato do registro de registro, selecione o formato do registro de fluxo:

    • Formato padrão da AWS: inclui todos os campos da versão 2 à 6.
    • Formato personalizado: selecione apenas os campos necessários.
  7. Em Formato do arquivo de registros, selecione Texto (padrão) ou Parquet.

  8. Em Prefixo do S3 compatível com o Hive, selecione Ativar para usar prefixos compatíveis com o Hive para particionamento.

  9. Em Particionar registros por tempo, selecione A cada 1 hora (60 min) ou A cada 24 horas (1.440 min).

  10. (Opcional) Escolha Adicionar nova tag para aplicar tags ao registro de fluxo.

  11. Clique em Criar registro de fluxo.

Criar um bucket do Amazon S3

  1. Abra o console do Amazon S3.
  2. Clique em Criar bucket.
  3. Informe os seguintes detalhes de configuração:
    • Nome do bucket: insira um nome exclusivo (por exemplo, tgw-flowlogs-bucket).
    • Região da AWS: selecione a mesma região em que o Transit Gateway está localizado.
  4. Clique em Criar bucket.

Criar um usuário do IAM com acesso ao Amazon S3

  1. Abra o console do IAM.
  2. Clique em Usuários > Adicionar usuário.
  3. Insira um nome de usuário (por exemplo, chronicle-tgw-s3-reader).
  4. Selecione Acesso programático.
  5. Clique em Next: Permissions.
  6. Escolha Anexar políticas atuais diretamente.
  7. Pesquise e selecione a política AmazonS3ReadOnlyAccess.
  8. Clique em Próxima: tags > Próxima: revisão > Criar usuário.
  9. Copie o ID da chave de acesso e a chave de acesso secreta para a configuração do feed do Google SecOps.

Configurar um feed no Google SecOps para ingerir registros de fluxo do Amazon VPC Transit Gateway (S3)

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, AWS Transit Gateway Flow Logs - S3).
  4. Selecione Amazon S3 como o Tipo de origem.
  5. Selecione Registros de fluxo do gateway de trânsito da Amazon VPC como o Tipo de registro.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:

    • URI do S3: o URI do bucket (por exemplo, s3://tgw-flowlogs-bucket/flow-logs/)
    • Opção de exclusão da fonte: selecione a opção de exclusão de acordo com sua preferência:
      • Nunca: nunca exclui arquivos após as transferências.
      • Excluir arquivos transferidos: exclui arquivos após a transferência.
      • Excluir arquivos transferidos e diretórios vazios: exclui arquivos e diretórios vazios após a transferência.
    • Idade máxima do arquivo: inclua arquivos modificados nos últimos dias (o padrão é 180 dias).
    • ID da chave de acesso: a chave de acesso do usuário do IAM com acesso ao bucket do S3.
    • Chave de acesso secreta: a chave secreta do usuário do IAM com acesso ao bucket do S3.
    • Namespace do recurso: o namespace do recurso
    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos desse feed.
  8. Clique em Próxima.

  9. Revise a configuração do feed e clique em Enviar.

Opção: transmitir pelo Amazon Kinesis Data Firehose

Ativar os registros de fluxo do Transit Gateway (para os registros do CloudWatch)

  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.
  2. No painel de navegação, escolha Gateways de trânsito.
  3. Marque as caixas de seleção de um ou mais gateways de transporte público e escolha Ações > Criar registro de fluxo.
  4. Em Destino, selecione Enviar para os registros do CloudWatch.
  5. Em Grupo de registros de destino, escolha um grupo de registros ou insira um novo nome para criar um (por exemplo, /aws/tgw/flowlogs).

  6. Em Papel do IAM, especifique um papel que tenha permissões para publicar registros no CloudWatch Logs.

  7. Em Formato do registro de registro, selecione o formato do registro de fluxo:

    • Formato padrão da AWS: inclui todos os campos da versão 2 à 6.
    • Formato personalizado: selecione apenas os campos necessários.
  8. (Opcional) Escolha Adicionar nova tag para aplicar tags ao registro de fluxo.

  9. Clique em Criar registro de fluxo.

Criar um feed no Google SecOps para ingerir registros de fluxo do Transit Gateway da Amazon VPC (Firehose)

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, AWS Transit Gateway Flow Logs - Firehose).
  4. Selecione Amazon Data Firehose como o Tipo de origem.
  5. Selecione Registros de fluxo do gateway de trânsito da Amazon VPC como o Tipo de registro.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:
    • Delimitador de divisão: insira \n.
    • Namespace do recurso: o namespace do recurso
    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed
  8. Clique em Próxima.
  9. Revise a configuração do feed e clique em Enviar.
  10. Clique em Gerar chave secreta para gerar uma chave secreta e autenticar esse feed.
  11. Copie e salve a chave secreta. Não será possível ver esse secret novamente.
  12. Acesse a guia Detalhes.
  13. Copie o URL do endpoint do feed no campo Informações do endpoint.
  14. Clique em Concluído.

Criar uma chave de API para o feed do Amazon Data Firehose

  1. Acesse a página Credenciais do console do Google Cloud em https://console.cloud.google.com/apis/credentials.
  2. Clique em Criar credenciais e, em seguida, selecione Chave de API.
  3. Clique em Editar chave de API para restringir a chave.
  4. Em Restrições de API, selecione Restringir chave.
  5. Pesquise e selecione API Google SecOps.
  6. Clique em Salvar.
  7. Copie e salve a chave de API.

Criar o URL do endpoint

  • Anexe a chave de API ao URL do endpoint do feed no seguinte formato:

    <FEED_ENDPOINT_URL>?key=<API_KEY>
    

Substitua:

  • <FEED_ENDPOINT_URL>: o URL do endpoint do feed
  • <API_KEY>: a chave de API

  • Exemplo:

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...
    

    Em que {region} é a região da instância do Google SecOps (por exemplo, us, europe ou asia-southeast1) e {parent} é o caminho do recurso no formato projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.

Salve esse URL completo para a próxima etapa.

Criar política do IAM para o Firehose

  1. No console da AWS, acesse IAM > Políticas > Criar política > guia JSON.
  2. Cole o seguinte JSON de política:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "firehose:PutRecord",
                    "firehose:PutRecordBatch"
                ],
                "Resource": "arn:aws:firehose:<REGION>:<ACCOUNT_ID>:deliverystream/<DELIVERY_STREAM_NAME>"
            }
        ]
    }
    
  3. Substitua:

    • <REGION>: sua região da AWS (por exemplo, us-east-1)
    • <ACCOUNT_ID>: o ID da sua conta da AWS (número de 12 dígitos)
    • <DELIVERY_STREAM_NAME>: o nome do fluxo de entrega do Firehose (você vai criar isso na próxima etapa)
  4. Nomeie a política como TGWFlowLogsToFirehosePolicy (por exemplo) e clique em Criar política.

Criar um papel do IAM para os registros do CloudWatch

  1. Acesse IAM > Papéis > Criar papel.
  2. Selecione Política de confiança personalizada e cole:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "logs.<REGION>.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  3. Substitua <REGION> pela região da AWS.

  4. Clique em Próxima.

  5. Pesquise e selecione a política TGWFlowLogsToFirehosePolicy.

  6. Clique em Próxima.

  7. Nomeie o papel como TGWFlowLogsToFirehoseRole (por exemplo) e clique em Criar papel.

Criar fluxo de entrega do Kinesis Data Firehose

  1. No console da AWS, acesse Kinesis > Data Firehose > Create delivery stream.
  2. Informe os seguintes detalhes de configuração:

    • Origem e destino:

      • Origem: selecione PUT direto ou outras origens.
      • Destino: selecione Endpoint HTTP.
    • Nome do fluxo de entrega:

      • Nome do fluxo de entrega: insira um nome (por exemplo, tgw-flowlogs-to-secops).
    • Destino do endpoint HTTP:

      • URL do endpoint HTTP: insira o URL completo do endpoint que você criou (endpoint do feed + chave de API).
      • Codificação de conteúdo: selecione GZIP.
    • Cabeçalhos HTTP personalizados:

      • Clique em Adicionar cabeçalho HTTP personalizado.
      • Nome do cabeçalho: insira X-Goog-Chronicle-Auth.
      • Valor do cabeçalho: insira a chave secreta que você salvou na etapa de criação do feed.
    • Configurações de backup:

      • Backup do registro de origem no Amazon S3: selecione Somente dados com falha.
      • Bucket do S3: selecione um bucket atual ou crie um para registros com falha.
    • Dicas de buffer:

      • Tamanho do buffer: insira 1 MiB
      • Intervalo de buffer: insira 60 segundos
  3. Clique em Criar stream de entrega.

  4. Aguarde a mudança do status do fluxo de entrega para Ativo.

Inscrever o grupo de registros do CloudWatch no Firehose

  1. No console da AWS, acesse CloudWatch > Registros > Grupos de registros.
  2. Selecione o grupo de registros de fluxo do Transit Gateway (por exemplo, /aws/tgw/flowlogs).
  3. Clique na guia Filtros de assinatura.
  4. Clique em Criar > Criar filtro de assinatura do Amazon Kinesis Data Firehose.
  5. Informe os seguintes detalhes de configuração:
    • Destino: selecione o fluxo de entrega tgw-flowlogs-to-secops
    • Conceder permissão: selecione o papel TGWFlowLogsToFirehoseRole.
    • Nome do filtro de assinatura: insira um nome (por exemplo, tgw-flowlogs-to-chronicle).
    • Formato do registro: selecione Outro.
    • Padrão de filtro de assinatura: deixe em branco para enviar todos os eventos
  6. Clique em Iniciar transmissão.

Tabela de mapeamento de UDM

Campo de registro Mapeamento de UDM Lógica
packets_lost_blackhole_label additional.fields Mesclado
packets_lost_mtu_exceeded_label additional.fields Mesclado
packets_lost_no_route_label additional.fields Mesclado
packets_lost_ttl_expired_label additional.fields Mesclado
start_time_label additional.fields Mesclado
tcp_flags_label additional.fields Mesclado
tgw_attachment_id_label additional.fields Mesclado
tgw_id_label additional.fields Mesclado
tgw_pair_attachment_id_label additional.fields Mesclado
type_label additional.fields Mesclado
end_time metadata.event_timestamp Analisado como UNIX
event_type metadata.event_type Mapeado diretamente
account_id metadata.product_log_id Mapeado diretamente
version metadata.product_version Mapeado diretamente
flow_direction network.direction Mapeado: (?i)ingress → INBOUND, (?i)egress → OUTBOUND
bytes network.sent_bytes Mapeado diretamente
packets network.sent_packets Mapeado diretamente
tgw_src_eni principal.asset.asset_id Mapeado diretamente
srcaddr principal.asset.ip Mesclado
srcaddr principal.ip Mesclado
region principal.location.country_or_region Mapeado diretamente
tgw_src_az_id principal.location.country_or_region Mapeado diretamente
srcport principal.port Mapeado diretamente
pkt_src_aws_service_label principal.resource.attribute.labels Mesclado
tgw_src_az_id_label principal.resource.attribute.labels Mesclado
tgw_src_subnet_id principal.resource.name Mapeado diretamente
tgw_src_vpc_id principal.resource.product_object_id Mapeado diretamente
resource_type principal.resource.resource_subtype Mapeado diretamente
tgw_src_vpc_account_id principal.user.userid Mapeado diretamente
security_result_action security_result.action Mesclado
protocol_label security_result.detection_fields Mesclado
tgw_dst_eni target.asset.asset_id Mapeado diretamente
dstaddr target.asset.ip Mesclado
dstaddr target.ip Mesclado
tgw_dst_az_id target.location.country_or_region Mapeado diretamente
dstport target.port Mapeado diretamente
pkt_dst_aws_service_label target.resource.attribute.labels Mesclado
tgw_dst_subnet_id target.resource.name Mapeado diretamente
tgw_dst_vpc_id target.resource.product_object_id Mapeado diretamente
tgw_dst_vpc_account_id target.user.userid Mapeado diretamente
N/A metadata.product_name Constante: AWS VPC Transit Gateway
N/A metadata.vendor_name Constante: AWS
N/A network.direction Constante: INBOUND

Registro de alterações

Confira o registro de alterações deste analisador

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