Coletar registros do AWS Config

Versão do analisador: 5.0

Compatível com:

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:

  1. Faça login no Console de Gerenciamento da AWS.
  2. Acesse AWS Config > Settings.
  3. Se esta for a primeira vez que você configura o AWS Config, clique em Get started. Caso contrário, clique em Editar.
  4. 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.
  5. 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.
  6. 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.
  7. Clique em Próxima.
  8. Na seção Regras, configure as regras gerenciadas, se quiser. Clique em Next.
  9. 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

  1. Se o AWS Config tiver criado um novo bucket, anote o Nome e a Região do bucket em S3 > Buckets.
  2. Se você selecionou um bucket durante a configuração do AWS Config, anote o Nome e a Região dele.
  3. Crie um usuário seguindo este guia do usuário: Como criar um usuário do IAM.
  4. Selecione o Usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como Caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo .csv para salvar a chave de acesso e a chave de acesso secreta para referência futura.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise a política AmazonS3ReadOnlyAccess.
  18. Selecione a política.
  19. Clique em Próxima.
  20. 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

  1. Clique no pacote Amazon Cloud Platform.
  2. Localize o tipo de registro AWS Config.
  3. Selecione Amazon S3 V2 como o Tipo de origem.
  4. 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.
  5. 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.