Postura predefinida para seguridad de forma predeterminada, elementos esenciales

En esta página, se describen las políticas preventivas que se incluyen en la versión v1.0 de la postura predefinida para los aspectos esenciales seguros de forma predeterminada. Esta postura ayuda a prevenir configuraciones incorrectas y problemas de seguridad comunes causados por la configuración predeterminada.

Puedes usar esta postura predefinida para configurar una postura de seguridad que ayude a proteger los recursos de Google Cloud. Puedes implementar esta postura predefinida sin hacer ningún cambio.

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 credenciales de cuenta de servicio expuestas.

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 evita que las cuentas de servicio predeterminadas reciban la función de 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 material de claves personalizadas filtrados y reutilizados en claves de cuentas de servicio.

El valor es true para inhabilitar las cargas 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 sin autenticar.

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

Control de NIST SP 800-53: AC-3 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 de accesos y auditorías.

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 el Acceso al SO en las VM recién creadas para administrar las claves SSH, proporcionar permisos a nivel de recurso con políticas de IAM y registrar el acceso de los usuarios con mayor facilidad.

El valor es true que requiere 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 de 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 del proyecto.

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 de Internet entrante y saliente.

El valor es denyAll para desactivar todo el acceso desde las direcciones IP públicas. Si quieres cambiarlo para permitir que ciertas instancias de VM tengan acceso público, configura los valores permitidos:

policy_rules:
    - values:
      allowed_values:
      - is:projects/PROJECT_ID/zones/ZONE/instances/INSTANCE
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 una configuración de DNS heredado 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 proyectos nuevos.

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

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

El valor es true para restringir el acceso a las instancias de Cloud SQL a través de 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 sean RFC 1918 accedan a las bases de datos de Cloud SQL.

El valor es true para restringir las redes autorizadas en 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 pueden exponerse 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 todas las VM de Compute Engine para disminuir el riesgo de seguridad relacionado con las 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 indica la definición YAML de la postura predefinida para la configuración predeterminada.

name: organizations/123/locations/global/postureTemplates/secure_by_default_essential
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: 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?