Coletar registros do AWS Config
Versão do analisador: 5.0
Este documento explica como ingerir registros do AWS Config no Google Security Operations usando o Amazon S3.
O AWS Config é um serviço que permite avaliar, auditar e analisar as configurações dos recursos da AWS. O AWS Config monitora e registra continuamente as configurações de recursos da AWS e permite automatizar a avaliação das configurações registradas em relação às configurações selecionadas. Os arquivos de histórico de configuração são entregues a cada seis horas, e os snapshots de configuração podem ser entregues sob demanda para um bucket do Amazon S3.
Para mais informações, consulte Coletar registros do AWS Config.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Acesso privilegiado à AWS (S3, IAM, Config)
Configurar o AWS Config para enviar registros ao Amazon S3
Para configurar o AWS Config para registrar configurações de recursos e enviá-las a um bucket do S3:
- Faça login no Console de Gerenciamento da AWS.
- Acesse AWS Config > Settings.
- Se esta for a primeira vez que você configura o AWS Config, clique em Get started. Caso contrário, clique em Editar.
- Na seção Estratégia de gravação, configure o seguinte:
- Todos os tipos de recursos com substituições personalizáveis: registra todos os tipos de recursos atuais e futuros compatíveis. É possível configurar a frequência de gravação padrão:
- Gravação contínua: registra as mudanças de configuração continuamente sempre que uma mudança ocorre.
- Gravação diária: registra um item de configuração que representa o estado mais recente nas últimas 24 horas.
- Tipos de recursos específicos: escolha tipos de recursos individuais para registrar e definir a frequência deles.
- Todos os tipos de recursos com substituições personalizáveis: registra todos os tipos de recursos atuais e futuros compatíveis. É possível configurar a frequência de gravação padrão:
- Na seção Governança de dados, configure o seguinte:
- Período de retenção de dados: defina o período de armazenamento (o padrão é 7 anos, o mínimo é 30 dias)
- Papel do IAM para o AWS Config: selecione Papel vinculado ao serviço (recomendado) ou escolha um papel do IAM atual.
- Na seção Método de entrega, configure o seguinte:
- Bucket do S3: selecione Criar um bucket para criar um novo bucket ou selecione Escolher um bucket da sua conta para usar um bucket atual.
- Nome do bucket do S3: insira um nome para o bucket (por exemplo,
aws-config-logs). - Tópico do Amazon SNS (opcional): selecione Transmitir mudanças de configuração e notificações para um tópico do Amazon SNS se quiser receber notificações.
- Clique em Próxima.
- Na seção Regras, configure as regras gerenciadas, se quiser. Clique em Next.
- Revise as configurações e clique em Confirmar.
Para mais informações, consulte Como configurar o AWS Config com o console.
Configurar o bucket do AWS S3 e o IAM para o Google SecOps
- Se o AWS Config tiver criado um novo bucket, anote o Nome e a Região do bucket em S3 > Buckets.
- Se você selecionou um bucket durante a configuração do AWS Config, anote o Nome e a Região dele.
- Crie um usuário seguindo este guia do usuário: Como criar um usuário do IAM.
- Selecione o Usuário criado.
- Selecione a guia Credenciais de segurança.
- Clique em Criar chave de acesso na seção Chaves de acesso.
- Selecione Serviço de terceiros como Caso de uso.
- Clique em Próxima.
- Opcional: adicione uma tag de descrição.
- Clique em Criar chave de acesso.
- Clique em Fazer o download do arquivo .csv para salvar a chave de acesso e a chave de acesso secreta para referência futura.
- Clique em Concluído.
- Selecione a guia Permissões.
- Clique em Adicionar permissões na seção Políticas de permissões.
- Selecione Adicionar permissões.
- Selecione Anexar políticas diretamente.
- Pesquise a política AmazonS3ReadOnlyAccess.
- Selecione a política.
- Clique em Próxima.
Clique em Adicionar permissões
Configurar feeds
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações > Gerenciamento de dados > Feeds > Adicionar novo feed (na plataforma somente SIEM, Configurações > Feeds > Adicionar novo feed)
- Hub de conteúdo > Pacotes de conteúdo > Comece já
Configurar um feed no Google SecOps para ingerir registros do AWS Config
- Clique no pacote Amazon Cloud Platform.
- Localize o tipo de registro AWS Config.
- Selecione Amazon S3 V2 como o Tipo de origem.
Especifique valores para os seguintes campos:
URI do S3: insira o URI do S3 para os registros do AWS Config:
s3://aws-config-logs/AWSLogs/Opção de exclusão da fonte: selecione a opção de exclusão de acordo com sua preferência.
Idade máxima do arquivo: inclua arquivos modificados nos últimos dias (o padrão é 180 dias).
ID da chave de acesso: chave de acesso do usuário com acesso ao bucket do S3.
Chave de acesso secreta: chave secreta do usuário com acesso ao bucket do S3.
Opções avançadas
- Nome do feed: um valor predefinido que identifica o feed.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos desse feed.
Clique em Criar feed.
Para mais informações sobre como configurar vários feeds para diferentes tipos de registro nessa família de produtos, consulte Configurar feeds por produto.
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de UDM | Lógica |
|---|---|---|
AccountId_label |
additional.fields |
Mesclado |
AllSupported_label |
additional.fields |
Mesclado |
AuthenticationType_label |
additional.fields |
Mesclado |
DeploymentDurationInMinutes_label |
additional.fields |
Mesclado |
DomainName_label |
additional.fields |
Mesclado |
EnableTerminationProtection_label |
additional.fields |
Mesclado |
Enable_label |
additional.fields |
Mesclado |
EventBusName_label |
additional.fields |
Mesclado |
EventPattern_detail_eventSource_label |
additional.fields |
Mesclado |
EventPattern_detail_managementEvent_label |
additional.fields |
Mesclado |
EventPattern_detail_type_label |
additional.fields |
Mesclado |
EventPattern_source_label |
additional.fields |
Mesclado |
FinalBakeTimeInMinutes_label |
additional.fields |
Mesclado |
FindingPublishingFrequency_label |
additional.fields |
Mesclado |
GrowthFactor_label |
additional.fields |
Mesclado |
GrowthType_label |
additional.fields |
Mesclado |
Id_label |
additional.fields |
Mesclado |
IncludeGlobalResourceTypes_label |
additional.fields |
Mesclado |
Kubernetes_AuditLogs_Enable_label |
additional.fields |
Mesclado |
Name_label |
additional.fields |
Mesclado |
Reason_label |
additional.fields |
Mesclado |
RecordingStrategy_UseOnly_label |
additional.fields |
Mesclado |
ReplicateTo_label |
additional.fields |
Mesclado |
ResolverRuleAssociationId_label |
additional.fields |
Mesclado |
ResolverRuleId_label |
additional.fields |
Mesclado |
S3Logs_Enable_label |
additional.fields |
Mesclado |
ServiceType_label |
additional.fields |
Mesclado |
StandardsArn_label |
additional.fields |
Mesclado |
StandardsControlArn_label |
additional.fields |
Mesclado |
State_label |
additional.fields |
Mesclado |
TlsConfig_SecurityPolicy_label |
additional.fields |
Mesclado |
VPCId_label |
additional.fields |
Mesclado |
WorkGroupConfiguration_EnforceWorkGroupConfiguration_label |
additional.fields |
Mesclado |
WorkGroupConfiguration_EngineVersion_EffectiveEngineVersion_label |
additional.fields |
Mesclado |
WorkGroupConfiguration_EngineVersion_SelectedEngineVersion_label |
additional.fields |
Mesclado |
WorkGroupConfiguration_PublishCloudWatchMetricsEnabled_label |
additional.fields |
Mesclado |
WorkGroupConfiguration_RequesterPaysEnabled_label |
additional.fields |
Mesclado |
accountState_resourceState_codeRepository_status_label |
additional.fields |
Mesclado |
accountState_resourceState_ec2_status_label |
additional.fields |
Mesclado |
accountState_resourceState_ecr_status_label |
additional.fields |
Mesclado |
accountState_resourceState_lambdaCode_status_label |
additional.fields |
Mesclado |
accountState_resourceState_lambda_status_label |
additional.fields |
Mesclado |
accountState_state_status_label |
additional.fields |
Mesclado |
asso_cidr_label |
additional.fields |
Mesclado |
asso_id_label |
additional.fields |
Mesclado |
asso_state_label |
additional.fields |
Mesclado |
associationState_state_label |
additional.fields |
Mesclado |
canaryInterval_label |
additional.fields |
Mesclado |
canaryPercentage_label |
additional.fields |
Mesclado |
cidrBlock_label |
additional.fields |
Mesclado |
computePlatform_label |
additional.fields |
Mesclado |
config_description_label |
additional.fields |
Mesclado |
configurationItemVersion_label |
additional.fields |
Mesclado |
configurationStateId_label |
additional.fields |
Mesclado |
createdTime_label |
additional.fields |
Mesclado |
defaultCooldown_label |
additional.fields |
Mesclado |
deletionPolicy_label |
additional.fields |
Mesclado |
deploymentConfigId_label |
additional.fields |
Mesclado |
description_label |
additional.fields |
Mesclado |
desiredCapacity_label |
additional.fields |
Mesclado |
destinationCidrBlock_label |
additional.fields |
Mesclado |
digest_s3_bucket_label |
additional.fields |
Mesclado |
digest_s3_object_label |
additional.fields |
Mesclado |
digest_signature_algorithm_label |
additional.fields |
Mesclado |
disableRollback_label |
additional.fields |
Mesclado |
egress_label |
additional.fields |
Mesclado |
feature_label |
additional.fields |
Mesclado |
field_ |
additional.fields |
Mesclado |
field_value |
additional.fields |
Mesclado |
fromPort_label |
additional.fields |
Mesclado |
gatewayId_label |
additional.fields |
Mesclado |
groupId_label |
additional.fields |
Mesclado |
instanceStatus_label |
additional.fields |
Mesclado |
ipProtocol_label |
additional.fields |
Mesclado |
ipProtocol_label_egress |
additional.fields |
Mesclado |
isDefault_label |
additional.fields |
Mesclado |
lastUpdatedTime_label |
additional.fields |
Mesclado |
lastUpdatedTimestamp_label |
additional.fields |
Mesclado |
logicalResourceId_label |
additional.fields |
Mesclado |
main_label |
additional.fields |
Mesclado |
managementEvent_label |
additional.fields |
Mesclado |
maxSize_label |
additional.fields |
Mesclado |
max_results_label |
additional.fields |
Mesclado |
message |
additional.fields |
Valores mapeados (5 no total, por exemplo, Records → managementEvent_label, Records → `readOnly_labe... |
mfaAuthenticated_label |
additional.fields |
Mesclado |
minSize_label |
additional.fields |
Mesclado |
minimumHealthyHosts_type_label |
additional.fields |
Mesclado |
minimumHealthyHosts_value_label |
additional.fields |
Mesclado |
networkAclId_label |
additional.fields |
Mesclado |
newInstancesProtectedFromScaleIn_label |
additional.fields |
Mesclado |
origin_label |
additional.fields |
Mesclado |
output_desc_label |
additional.fields |
Mesclado |
output_label |
additional.fields |
Mesclado |
parameter_label |
additional.fields |
Mesclado |
physicalResourceId_label |
additional.fields |
Mesclado |
protocol_label |
additional.fields |
Mesclado |
readOnly_label |
additional.fields |
Mesclado |
relationship_resource_ids |
additional.fields |
Mesclado |
relationship_resource_names |
additional.fields |
Mesclado |
relationship_resource_types |
additional.fields |
Mesclado |
resourceStatus_label |
additional.fields |
Mesclado |
resourceType_label_ |
additional.fields |
Mesclado |
routeTableAssociationId_label |
additional.fields |
Mesclado |
routeTableId_label |
additional.fields |
Mesclado |
ruleAction_label |
additional.fields |
Mesclado |
ruleNumber_label |
additional.fields |
Mesclado |
serviceLinkedRoleARN_label |
additional.fields |
Mesclado |
session_issuer_type_label |
additional.fields |
Mesclado |
stackDriftStatus_label |
additional.fields |
Mesclado |
stackId_label |
additional.fields |
Mesclado |
stackName_label |
additional.fields |
Mesclado |
stackResourceDriftStatus_label |
additional.fields |
Mesclado |
stackStatus_label |
additional.fields |
Mesclado |
state_label |
additional.fields |
Mesclado |
toPort_label |
additional.fields |
Mesclado |
trafficRoutingConfig_type_label |
additional.fields |
Mesclado |
unsupportedResources_resourceId_label |
additional.fields |
Mesclado |
unsupportedResources_resourceType_label |
additional.fields |
Mesclado |
updateReplacePolicy_label |
additional.fields |
Mesclado |
userId_label |
additional.fields |
Mesclado |
vpczoneIdentifier_label |
additional.fields |
Mesclado |
has_principal_user |
extensions.auth.type |
Mapeado: true → MACHINE |
message |
extensions.auth.type |
Mapeado: Records → MACHINE |
message |
intermediary |
Mapeado: Records → intermediary |
record.userIdentity.sessionContext.sessionIssuer.accountId |
intermediary.cloud.project.id |
Mapeado diretamente |
record.userIdentity.sessionContext.sessionIssuer.arn |
intermediary.resource.name |
Mapeado diretamente |
record.userIdentity.sessionContext.sessionIssuer.principalId |
intermediary.resource.product_object_id |
Mapeado diretamente |
messageType |
metadata.description |
Mapeado diretamente |
record.eventCategory |
metadata.description |
Mapeado diretamente |
configItem.resourceCreationTime |
metadata.event_timestamp |
Analisado como ISO8601 |
configurationItem.configurationItemCaptureTime |
metadata.event_timestamp |
Analisado como ISO8601 |
configuration_Item_CaptureTime |
metadata.event_timestamp |
Analisado como RFC3339 |
digestEndTime |
metadata.event_timestamp |
Analisado como yyyy-MM-dd'T'HH:mm:ssZ |
digestStartTime |
metadata.event_timestamp |
Analisado como yyyy-MM-dd'T'HH:mm:ssZ |
record.eventTime |
metadata.event_timestamp |
Analisado como yyyy-MM-dd'T'HH:mm:ss'Z' |
record.requestParameters.endTime |
metadata.event_timestamp |
Analisado como RFC3339 |
record.requestParameters.startTime |
metadata.event_timestamp |
Analisado como RFC3339 |
record.userIdentity.sessionContext.attributes.creationDate |
metadata.event_timestamp |
Analisado como RFC3339 |
resource_Creation_Time |
metadata.event_timestamp |
Analisado como RFC3339 |
event_type |
metadata.event_type |
Mapeado diretamente |
has_principal |
metadata.event_type |
Mapeado: true → STATUS_UPDATE |
has_principal_user |
metadata.event_type |
Mapeado: true → USER_LOGIN, true → USER_UNCATEGORIZED |
message |
metadata.event_type |
Mapeado: Records → USER_LOGIN, Records → USER_UNCATEGORIZED, Records → `STATUS_UPDA... |
config_snapshot_id_value |
metadata.id |
Mapeado diretamente |
message |
metadata.id |
Mapeado: Records → bytes |
record.eventID |
metadata.id |
Mapeado diretamente |
record.eventName |
metadata.product_event_type |
Mapeado diretamente |
record.requestID |
metadata.product_log_id |
Mapeado diretamente |
message |
metadata.product_name |
Mapeado: Records → AWS Config |
configurationItem.configurationItemVersion |
metadata.product_version |
Mapeado diretamente |
file_version_value |
metadata.product_version |
Mapeado diretamente |
record.eventVersion |
metadata.product_version |
Mapeado diretamente |
message |
metadata.vendor_name |
Mapeado: Records → AMAZON |
message |
network.http.parsed_user_agent |
Mapeado: Records → parseduseragent |
record.userAgent |
network.http.parsed_user_agent |
Mapeado diretamente |
record.userAgent |
network.http.user_agent |
Mapeado diretamente |
record.tlsDetails.cipherSuite |
network.tls.cipher |
Mapeado diretamente |
record.tlsDetails.tlsVersion |
network.tls.version |
Mapeado diretamente |
record.sourceIPAddress |
principal.asset.hostname |
Mapeado diretamente |
ip_val |
principal.asset.ip |
Mesclado |
ip_val_1 |
principal.asset.ip |
Mesclado |
message |
principal.asset.ip |
Mapeado: Records → source_ip |
source_ip |
principal.asset.ip |
Mesclado |
record.userIdentity.type |
principal.cloud.project.type |
Mapeado diretamente |
record.sourceIPAddress |
principal.hostname |
Mapeado diretamente |
ip_val |
principal.ip |
Mesclado |
ip_val_1 |
principal.ip |
Mesclado |
message |
principal.ip |
Mapeado: Records → source_ip |
source_ip |
principal.ip |
Mesclado |
availabilityZone_1 |
principal.location.country_or_region |
Mapeado diretamente |
index |
principal.location.country_or_region |
Mapeado diretamente |
record.awsRegion |
principal.location.country_or_region |
Mapeado diretamente |
availabilityZone_1_label |
principal.resource.attribute.labels |
Mesclado |
name_label |
principal.resource.attribute.labels |
Mesclado |
resourceId_label |
principal.resource.attribute.labels |
Mesclado |
resourceType_label |
principal.resource.attribute.labels |
Mesclado |
record.userIdentity.arn |
principal.resource.name |
Mapeado diretamente |
resource.ARN |
principal.resource.name |
Mapeado diretamente |
resource.type |
principal.resource.type |
Mapeado diretamente |
email |
principal.user.email_addresses |
Mesclado |
record.userIdentity.principalId |
principal.user.product_object_id |
Mapeado diretamente |
configItem.tags.Contact |
principal.user.user_display_name |
Mapeado diretamente |
record.userIdentity.sessionContext.sessionIssuer.userName |
principal.user.user_display_name |
Mapeado diretamente |
user_name |
principal.user.user_display_name |
Renomeado/mapeado |
awsAccountId |
principal.user.userid |
Mapeado diretamente |
configItem.awsAccountId |
principal.user.userid |
Mapeado diretamente |
configurationItem.awsAccountId |
principal.user.userid |
Mapeado diretamente |
record.userIdentity.accessKeyId |
principal.user.userid |
Mapeado diretamente |
resource.accountId |
principal.user.userid |
Mapeado diretamente |
message |
security_result |
Mapeado: Records → security_result |
security_result_outer |
security_result |
Mesclado |
security_result_rule_list |
security_result |
Mesclado |
keySpec_label |
security_result.about.labels |
Mesclado |
message |
security_result.about.labels |
Mapeado: Records → keySpec_label |
record.requestParameters.keyId |
security_result.about.resource.id |
Mapeado diretamente |
record.eventSource |
security_result.about.resource.name |
Mapeado diretamente |
attribute_key_value_label |
security_result.detection_fields |
Mesclado |
aws_cloudtrail_arn_label |
security_result.detection_fields |
Mesclado |
aws_s3_arn_label |
security_result.detection_fields |
Mesclado |
clientProvidedHostHeader_label |
security_result.detection_fields |
Mesclado |
digest_public_key_fingerprint_label |
security_result.detection_fields |
Mesclado |
eventType_label |
security_result.detection_fields |
Mesclado |
hashAlgorithm_label |
security_result.detection_fields |
Mesclado |
hashValue_label |
security_result.detection_fields |
Mesclado |
invokedBy_label |
security_result.detection_fields |
Mesclado |
message |
security_result.detection_fields |
Valores mapeados (6 no total, por exemplo, Records → eventType_label, Records → `attribute_key_value... |
s3Bucket_label |
security_result.detection_fields |
Mesclado |
s3Object_label |
security_result.detection_fields |
Mesclado |
message |
target.asset.attribute.cloud.environment |
Mapeado: Records → AMAZON_WEB_SERVICES |
relationship.resourceId |
target.asset.attribute.cloud.vpc.id |
Mapeado diretamente |
attribute_label |
target.asset.attribute.labels |
Mesclado |
configItem.awsRegion |
target.asset.location.country_or_region |
Mapeado diretamente |
configurationItem.awsRegion |
target.asset.location.country_or_region |
Mapeado diretamente |
message |
target.asset.platform_software.platform |
Mapeado: Windows → WINDOWS, (Linux/LINUX) → LINUX |
configItem.configuration.privateIpAddress |
target.ip |
Mesclado |
configItem.configuration.publicIpAddress |
target.ip |
Mesclado |
configItem.availabilityZone |
target.location.name |
Mapeado diretamente |
ARN_label |
target.resource.attribute.labels |
Mesclado |
KeyspaceName_label |
target.resource.attribute.labels |
Mesclado |
autoScalingGroupARN_label |
target.resource.attribute.labels |
Mesclado |
autoScalingGroupName_label |
target.resource.attribute.labels |
Mesclado |
awsAccountId_label |
target.resource.attribute.labels |
Mesclado |
configurationStateId_label |
target.resource.attribute.labels |
Mesclado |
configurationStateMd5Hash_label |
target.resource.attribute.labels |
Mesclado |
granularity_label |
target.resource.attribute.labels |
Mesclado |
healthCheckGracePeriod_label |
target.resource.attribute.labels |
Mesclado |
healthCheckType_label |
target.resource.attribute.labels |
Mesclado |
launchTemplateId_label |
target.resource.attribute.labels |
Mesclado |
launchTemplateName_label |
target.resource.attribute.labels |
Mesclado |
metric_label |
target.resource.attribute.labels |
Mesclado |
terminationPolicies_label |
target.resource.attribute.labels |
Mesclado |
version_label |
target.resource.attribute.labels |
Mesclado |
configItem.ARN |
target.resource.id |
Mapeado diretamente |
configItem.resourceId |
target.resource.id |
Mapeado diretamente |
configurationItem.resourceId |
target.resource.id |
Mapeado diretamente |
configItem.resourceName |
target.resource.name |
Mapeado diretamente |
record.recipientAccountId |
target.resource.product_object_id |
Mapeado diretamente |
configItem.resourceType |
target.resource.resource_subtype |
Mapeado diretamente |
configurationItem.resourceType |
target.resource.resource_subtype |
Mapeado diretamente |
message |
target.resource.resource_type |
Mapeado: Records → VIRTUAL_MACHINE |
record.userIdentity.accountId |
target.user.userid |
Mapeado diretamente |
| N/A | extensions.auth.type |
Constante: MACHINE |
| N/A | metadata.event_type |
Constante: USER_LOGIN |
| N/A | metadata.id |
Constante: bytes |
| N/A | metadata.product_name |
Constante: AWS Config |
| N/A | metadata.vendor_name |
Constante: AMAZON |
| N/A | network.http.parsed_user_agent |
Constante: parseduseragent |
| N/A | target.asset.attribute.cloud.environment |
Constante: AMAZON_WEB_SERVICES |
| N/A | target.asset.attribute.cloud.vpc.resource_type |
Constante: VPC_NETWORK |
| N/A | target.asset.platform_software.platform |
Constante: WINDOWS |
| N/A | target.resource.resource_type |
Constante: VIRTUAL_MACHINE |
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.