Postura predefinida para seguridad de forma predeterminada, extendida

En esta página, se describen las políticas preventivas que se incluyen en la versión v1.0 de la posición predefinida para seguridad, extendida de forma predeterminada. Esta posición predefinida ayuda a evitar opciones de configuración incorrectas comunes y problemas de seguridad comunes causados por la configuración predeterminada.

Puedes usar esta posición predefinida para configurar una posición de seguridad que ayude a proteger los recursos de Google Cloud. Si deseas implementar esta posición predefinida, debes personalizar algunas de las políticas para que se apliquen a tu entorno.

Política Descripción Estándares de cumplimiento
iam.disableServiceAccountKeyCreation

Esta restricción impide que los usuarios creen claves persistentes para las cuentas de servicio a fin de disminuir el riesgo de que se expongan credenciales de cuenta de servicio.

El valor es true para inhabilitar la creación de claves de cuentas de servicio.

Control de NIST SP 800-53: AC-2
iam.automaticIamGrantsForDefaultServiceAccounts

Esta restricción impide que las cuentas de servicio predeterminadas reciban el editor de funciones de Identity and Access Management (IAM) demasiado permisiva en el momento de su creación.

El valor es false para inhabilitar los otorgamientos automáticos de IAM para las cuentas de servicio predeterminadas.

Control de NIST SP 800-53: AC-3
iam.disableServiceAccountKeyUpload

Esta restricción evita el riesgo de que se filtre y se reutilice material de claves personalizadas en las claves de cuentas de servicio.

El valor es true para inhabilitar la carga de claves de cuentas de servicio.

Control de NIST SP 800-53: AC-6
storage.publicAccessPrevention

Esta política evita que los buckets de Cloud Storage estén abiertos al acceso público no autenticado.

El valor es true para evitar el acceso público a los buckets.

Control de NIST SP 800-53: AC-3 y AC-6
iam.allowedPolicyMemberDomains

Esta política limita las políticas de IAM para que solo permitan que las identidades de usuario administradas en los dominios seleccionados accedan a los recursos dentro de esta organización.

El valor es directoryCustomerId para restringir el uso compartido entre dominios.

Control de NIST SP 800-53: AC-3, IA-2 y AC-6
essentialcontacts.allowedContactDomains

Esta política limita los contactos esenciales para que solo las identidades de usuario administradas en dominios seleccionados reciban notificaciones de la plataforma.

El valor es @google.com. Debes cambiar el valor para que coincida con tu dominio.

Control de NIST SP 800-53: AC-3, IA-2 y AC-6
storage.uniformBucketLevelAccess

Esta política evita que los buckets de Cloud Storage usen LCA por objeto (un sistema independiente de las políticas de IAM) para proporcionar acceso y aplicar coherencia en la administración y la auditoría de accesos.

El valor es true para aplicar el acceso uniforme a nivel de bucket.

Control de NIST SP 800-53: AC-3 y AC-6
compute.requireOsLogin

Esta política requiere Acceso al SO en las VM recién creadas para administrar las claves SSH con mayor facilidad, proporcionar permisos a nivel de recursos con políticas de IAM y registrar el acceso de los usuarios.

El valor es true para requerir Acceso al SO.

Control de NIST SP 800-53: AC-3 y AU-12
compute.disableSerialPortAccess

Esta política evita que los usuarios accedan al puerto en serie de la VM, que se puede usar para el acceso mediante una puerta trasera desde el plano de control de la API de Compute Engine.

El valor es true para inhabilitar el acceso al puerto en serie de la VM.

Control de NIST SP 800-53: AC-3 y AC-6
compute.restrictXpnProjectLienRemoval

Esta política evita la eliminación accidental de proyectos host de VPC compartida, ya que restringe la eliminación de las retenciones de proyectos.

El valor es true para restringir la eliminación de la retención del proyecto de VPC compartida.

Control de NIST SP 800-53: AC-3 y AC-6
compute.vmExternalIpAccess

Esta política evita la creación de instancias de Compute Engine con una dirección IP pública, que puede exponerlas al tráfico entrante de Internet y al tráfico de Internet saliente.

El valor es denyAll para desactivar todo el acceso desde las direcciones IP públicas.

Control de NIST SP 800-53: AC-3 y AC-6
compute.skipDefaultNetworkCreation

Esta política inhabilita la creación automática de una red de VPC predeterminada y las reglas de firewall predeterminadas en cada proyecto nuevo, lo que garantiza que las reglas de red y firewall se creen de manera intencional.

El valor es true para evitar crear la red de VPC predeterminada.

Control de NIST SP 800-53: AC-3 y AC-6
compute.setNewProjectDefaultToZonalDNSOnly

Esta política impide que los desarrolladores de aplicaciones elijan la configuración de DNS heredada para las instancias de Compute Engine que tienen una confiabilidad de servicio menor que la configuración de DNS moderna.

El valor es Zonal DNS only para los proyectos nuevos.

Control de NIST SP 800-53: AC-3 y AC-6
sql.restrictPublicIp

Esta política impide la creación de instancias de Cloud SQL con direcciones IP públicas, que pueden exponerlas al tráfico entrante de Internet y al tráfico de Internet saliente.

El valor es true para restringir el acceso a las instancias de Cloud SQL mediante direcciones IP públicas.

Control de NIST SP 800-53: AC-3 y AC-6
sql.restrictAuthorizedNetworks

Esta política evita que los rangos de red públicos o que no son RFC 1918 accedan a las bases de datos de Cloud SQL.

El valor es true para restringir las redes autorizadas en las instancias de Cloud SQL.

Control de NIST SP 800-53: AC-3 y AC-6
compute.restrictProtocolForwardingCreationForTypes

Esta política permite el reenvío de protocolos de VM solo para direcciones IP internas.

El valor es INTERNAL para restringir el reenvío de protocolos según el tipo de dirección IP.

Control de NIST SP 800-53: AC-3 y AC-6
compute.disableVpcExternalIpv6

Esta política evita la creación de subredes IPv6 externas, que se pueden exponer al tráfico de Internet entrante y saliente.

El valor es true para inhabilitar las subredes IPv6 externas.

Control de NIST SP 800-53: AC-3 y AC-6
compute.disableNestedVirtualization

Esta política inhabilita la virtualización anidada para disminuir el riesgo de seguridad debido a instancias anidadas no supervisadas.

El valor es true para desactivar la virtualización anidada de VM.

Control de NIST SP 800-53: AC-3 y AC-6

Definición de YAML

A continuación, se muestra la definición YAML de la posición predefinida para la configuración predeterminada.

name: organizations/123/locations/global/postureTemplates/secure_by_default
description: Posture Template to make your cloud environment more secure.
revision_id: v.1.0
state: ACTIVE
policy_sets:
- policy_set_id: Secure-By-Default policy_set
  description: 18 org policies that new customers can automatically enable.
  policies:
  - policy_id: Disable service account key creation
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-2
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.disableServiceAccountKeyCreation
        policy_rules:
        - enforce: true
    description: Prevent users from creating persistent keys for service accounts to decrease the risk of exposed service account credentials.
  - policy_id: Disable Automatic IAM Grants for Default Service Accounts
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.automaticIamGrantsForDefaultServiceAccounts
        policy_rules:
        - enforce: true
    description: Prevent default service accounts from receiving the overly-permissive IAM role Editor at creation.
  - policy_id: Disable Service Account Key Upload
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.disableServiceAccountKeyUpload
        policy_rules:
        - enforce: true
    description: Avoid the risk of leaked and reused custom key material in service account keys.
  - policy_id: Enforce Public Access Prevention
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: storage.publicAccessPrevention
        policy_rules:
        - enforce: true
    description: Enforce that Storage Buckets cannot be configured as open to unauthenticated public access.
  - policy_id: Domain restricted sharing
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    - standard: NIST SP 800-53
      control: IA-2
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.allowedPolicyMemberDomains
        policy_rules:
        - values:
            allowed_values:
            - directoryCustomerId
    description: Limit IAM policies to only allow managed user identities in my selected domain(s) to access resources inside this organization.
  - policy_id: Domain restricted contacts
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    - standard: NIST SP 800-53
      control: IA-2
    constraint:
      org_policy_constraint:
        canned_constraint_id: essentialcontacts.allowedContactDomains
        policy_rules:
        - values:
            allowed_values:
            - "@google.com"
    description: Limit Essential Contacts to only allow managed user identities in my selected domain(s) to receive platform notifications.
  - policy_id: Enforce uniform bucket-level access
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: storage.uniformBucketLevelAccess
        policy_rules:
        - enforce: true
    description: Prevent GCS buckets from using per-object ACL (a separate system from IAM policies) to provide access, enforcing a consistency for access management and auditing.
  - policy_id: Require OS Login
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AU-12
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.requireOsLogin
        policy_rules:
        - enforce: true
    description: Require OS Login on newly created VMs to more easily manage SSH keys, provide resource-level permission with IAM policies, and log user access.
  - policy_id: Disable VM serial port access
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.disableSerialPortAccess
        policy_rules:
        - enforce: true
    description: Prevent users from accessing the VM serial port which can be used for backdoor access from the Compute Engine API control plane
  - policy_id: Restrict shared VPC project lien removal
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.restrictXpnProjectLienRemoval
        policy_rules:
        - enforce: true
    description: Prevent the accidental deletion of Shared VPC host projects by restricting the removal of project liens.
  - policy_id: Define allowed external IPs for VM instances
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.vmExternalIpAccess
        policy_rules:
        - deny_all: true
    description: Prevent the creation of Compute instances with a public IP, which can expose them to internet ingress and egress.
  - policy_id: Skip default network creation
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.skipDefaultNetworkCreation
        policy_rules:
        - enforce: true
    description: Disable the automatic creation of a default VPC network and default firewall rules in each new project, ensuring that my network and firewall rules are intentionally created.
  - policy_id: Sets the internal DNS setting for new projects to Zonal DNS Only
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.setNewProjectDefaultToZonalDNSOnly
        policy_rules:
        - enforce: true
    description: Set guardrails that application developers cannot choose legacy DNS settings for compute instances that have lower service reliability than modern DNS settings.
  - policy_id: Restrict Public IP access on Cloud SQL instances
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: sql.restrictPublicIp
        policy_rules:
        - enforce: true
    description: Prevent the creation of Cloud SQL instances with a public IP, which can expose them to internet ingress and egress.
  - policy_id: Restrict Authorized Networks on Cloud SQL instances
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: sql.restrictAuthorizedNetworks
        policy_rules:
        - enforce: true
    description: Prevent public or non-RFC 1918 network ranges from accessing my Cloud SQL databases.
  - policy_id: Restrict Protocol Forwarding Based on type of IP Address
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.restrictProtocolForwardingCreationForTypes
        policy_rules:
        - values:
            allowed_values:
            - INTERNAL
    description: Allow VM protocol forwarding for internal IP addresses only.
  - policy_id: Disable VPC External IPv6 usage
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.disableVpcExternalIpv6
        policy_rules:
        - enforce: true
    description: Prevent the creation of external IPv6 subnets, which can be exposed to internet ingress and egress.
  - policy_id: Disable VM nested virtualization
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.disableNestedVirtualization
        policy_rules:
        - enforce: true
    description: Disable nested virtualization to decrease my security risk due to unmonitored nested instances.

¿Qué sigue?