Coletar registros de fluxo do Transit Gateway da Amazon VPC
Versão do analisador:3.0
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)
- Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.
- No painel de navegação, escolha Transit gateways.
- Marque as caixas de seleção de um ou mais gateways de trânsito e escolha Ações > Criar registro de fluxo.
- Em Destino, selecione Enviar para um bucket do Amazon S3.
Em ARN do bucket do S3, insira o ARN de um bucket do S3 (por exemplo,
arn:aws:s3:::tgw-flowlogs-bucket).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.
Em Formato do arquivo de registros, selecione Texto (padrão) ou Parquet.
Em Prefixo do S3 compatível com o Hive, selecione Ativar para usar prefixos compatíveis com o Hive para particionamento.
Em Particionar registros por tempo, selecione A cada 1 hora (60 min) ou A cada 24 horas (1.440 min).
(Opcional) Escolha Adicionar nova tag para aplicar tags ao registro de fluxo.
Clique em Criar registro de fluxo.
Criar um bucket do Amazon S3
- Abra o console do Amazon S3.
- Clique em Criar bucket.
- 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.
- Nome do bucket: insira um nome exclusivo (por exemplo,
- Clique em Criar bucket.
Criar um usuário do IAM com acesso ao Amazon S3
- Abra o console do IAM.
- Clique em Usuários > Adicionar usuário.
- Insira um nome de usuário (por exemplo,
chronicle-tgw-s3-reader). - Selecione Acesso programático.
- Clique em Next: Permissions.
- Escolha Anexar políticas atuais diretamente.
- Pesquise e selecione a política AmazonS3ReadOnlyAccess.
- Clique em Próxima: tags > Próxima: revisão > Criar usuário.
- 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)
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- No campo Nome do feed, insira um nome para o feed (por exemplo,
AWS Transit Gateway Flow Logs - S3). - Selecione Amazon S3 como o Tipo de origem.
- Selecione Registros de fluxo do gateway de trânsito da Amazon VPC como o Tipo de registro.
- Clique em Próxima.
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.
- URI do S3: o URI do bucket (por exemplo,
Clique em Próxima.
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)
- Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.
- No painel de navegação, escolha Gateways de trânsito.
- Marque as caixas de seleção de um ou mais gateways de transporte público e escolha Ações > Criar registro de fluxo.
- Em Destino, selecione Enviar para os registros do CloudWatch.
Em Grupo de registros de destino, escolha um grupo de registros ou insira um novo nome para criar um (por exemplo,
/aws/tgw/flowlogs).Em Papel do IAM, especifique um papel que tenha permissões para publicar registros no CloudWatch Logs.
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.
(Opcional) Escolha Adicionar nova tag para aplicar tags ao registro de fluxo.
Clique em Criar registro de fluxo.
Criar um feed no Google SecOps para ingerir registros de fluxo do Transit Gateway da Amazon VPC (Firehose)
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- No campo Nome do feed, insira um nome para o feed (por exemplo,
AWS Transit Gateway Flow Logs - Firehose). - Selecione Amazon Data Firehose como o Tipo de origem.
- Selecione Registros de fluxo do gateway de trânsito da Amazon VPC como o Tipo de registro.
- Clique em Próxima.
- 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
- Delimitador de divisão: insira
- Clique em Próxima.
- Revise a configuração do feed e clique em Enviar.
- Clique em Gerar chave secreta para gerar uma chave secreta e autenticar esse feed.
- Copie e salve a chave secreta. Não será possível ver esse secret novamente.
- Acesse a guia Detalhes.
- Copie o URL do endpoint do feed no campo Informações do endpoint.
- Clique em Concluído.
Criar uma chave de API para o feed do Amazon Data Firehose
- Acesse a página Credenciais do console do Google Cloud em https://console.cloud.google.com/apis/credentials.
- Clique em Criar credenciais e, em seguida, selecione Chave de API.
- Clique em Editar chave de API para restringir a chave.
- Em Restrições de API, selecione Restringir chave.
- Pesquise e selecione API Google SecOps.
- Clique em Salvar.
- 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 APIExemplo:
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,europeouasia-southeast1) e{parent}é o caminho do recurso no formatoprojects/<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
- No console da AWS, acesse IAM > Políticas > Criar política > guia JSON.
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>" } ] }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)
Nomeie a política como
TGWFlowLogsToFirehosePolicy(por exemplo) e clique em Criar política.
Criar um papel do IAM para os registros do CloudWatch
- Acesse IAM > Papéis > Criar papel.
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" } ] }Substitua
<REGION>pela região da AWS.Clique em Próxima.
Pesquise e selecione a política
TGWFlowLogsToFirehosePolicy.Clique em Próxima.
Nomeie o papel como
TGWFlowLogsToFirehoseRole(por exemplo) e clique em Criar papel.
Criar fluxo de entrega do Kinesis Data Firehose
- No console da AWS, acesse Kinesis > Data Firehose > Create delivery stream.
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).
- Nome do fluxo de entrega: insira um nome (por exemplo,
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
1MiB - Intervalo de buffer: insira
60segundos
- Tamanho do buffer: insira
Clique em Criar stream de entrega.
Aguarde a mudança do status do fluxo de entrega para Ativo.
Inscrever o grupo de registros do CloudWatch no Firehose
- No console da AWS, acesse CloudWatch > Registros > Grupos de registros.
- Selecione o grupo de registros de fluxo do Transit Gateway (por exemplo,
/aws/tgw/flowlogs). - Clique na guia Filtros de assinatura.
- Clique em Criar > Criar filtro de assinatura do Amazon Kinesis Data Firehose.
- 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
- Destino: selecione o fluxo de entrega
- 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.