Soluciona errores de Security Command Center

En esta página, se proporciona una lista de guías de referencia y técnicas para corregir errores de SCC.

Antes de comenzar

Necesitas funciones adecuadas de Identity and Access Management (IAM) para ver o editar los resultados, y acceder o modificar los recursos de Google Cloud. Si encuentras errores de permisos cuando accedes a Security Command Center en la consola de Google Cloud, pídele ayuda a tu administrador. Para obtener información sobre las funciones, consulta Control de acceso. Para resolver los errores de recursos, lee la documentación de los productos afectados.

Revisa los resultados en la consola de Google Cloud

Los errores de SCC son errores de configuración que impiden que Security Command Center funcione según lo esperado. La fuente Security Command Center genera estos resultados.

Siempre que Security Command Center esté configurado en la organización o en el proyecto, se generarán hallazgos de errores a medida que los detecte. Puedes ver los errores de SCC en la consola de Google Cloud.

Usa el siguiente procedimiento para revisar los resultados en la consola de Google Cloud:

  1. Ve a la pestaña Resultados de Security Command Center en la consola de Google Cloud.

    Ir a hallazgos

  2. Selecciona tu organización o proyecto de Google Cloud.

    Selector de proyectos

  3. En la sección Filtros rápidos, en la subsección Nombre visible de origen, selecciona Security Command Center.

  4. Para ver los detalles de un resultado específico, haz clic en el nombre del resultado en Category. El panel de detalles de resultados se expande para mostrar información que incluye lo siguiente:

    • Resumen generado por IAVista previa: Una explicación generada de forma dinámica del problema que se encontró
    • Descripción: Una explicación breve del error detectado
    • Hora del evento: cuándo se produjo el hallazgo
    • Nombre visible del recurso: El recurso afectado
    • Próximos pasos: Instrucciones para resolver el error.
    • Nombre canónico del hallazgo: Un identificador único del hallazgo
    • Nombre visible de la fuente: Security Command Center
  5. Para ver la definición completa de JSON del resultado, haz clic en la pestaña JSON (opcional).

    En el panel, se muestra la definición JSON del resultado, en la que puedes inspeccionar todos los atributos del resultado.

Desactivación de errores de SCC después de la solución

Después de corregir un resultado de SCC error, Security Command Center establece de forma automática el estado del resultado en INACTIVE durante el siguiente análisis. El tiempo que tarda Security Command Center en establecer el estado de un resultado corregido en INACTIVE depende de cuándo corriges el resultado y de la programación del análisis que detecta el error.

Para obtener información sobre la frecuencia de análisis de un resultado de SCC error, consulta el resumen del resultado en Detectores de errores.

Corrige los errores de SCC

En esta sección, se incluyen instrucciones de solución para todos los errores de SCC.

API disabled

Nombre de categoría en la API: API_DISABLED

Uno de los siguientes servicios está inhabilitado para el proyecto:

El servicio inhabilitado no puede generar resultados.

Para solucionar el problema, sigue estos pasos:

  1. A fin de determinar qué API está inhabilitada, revisa el resultado.
  2. Habilita la API

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

APS no resource value configs match any resources

Nombre de categoría en la API: APS_NO_RESOURCE_VALUE_CONFIGS_MATCH_ANY_RESOURCES

Las configuraciones de valores de recursos se definen para las simulaciones de rutas de ataque, pero no coinciden con ninguna instancia de recursos de tu entorno. En su lugar, las simulaciones usan el conjunto predeterminado de recursos de alto valor.

Es posible que los parámetros de configuración de valores de recursos no coincidan con ningún recurso por los siguientes motivos, que se identifican en la descripción del resultado en la consola de Google Cloud:

  • Ninguna de las configuraciones de valores de recursos coincide con ninguna instancia de recursos.
  • Una o más configuraciones de valores de recursos que especifican NONE anulan todas las demás configuraciones válidas.
  • Todas las configuraciones definidas de valores de recursos especifican un valor de NONE.

Para solucionar el problema, sigue estos pasos:

  1. Ve a la página Simulación de ruta de ataque en la Configuración de Security Command Center:

    Ir a la configuración

  2. Selecciona tu organización. Se abrirá la página Simulación de ruta de ataque, con las configuraciones existentes.

  3. En la columna Valor del recurso de la lista Configuración de valores de recursos, verifica los valores de None.

  4. Para cualquier configuración que haya especificado None, haz lo siguiente:

    1. Haz clic en el nombre de cualquier configuración de valor de recurso para mostrar las especificaciones de configuración.

    2. Si es necesario, edita las especificaciones de los atributos de recursos para reducir la cantidad de instancias de recursos que coinciden con la configuración.

  5. Si el problema no se debe a una especificación de None demasiado amplia, haz lo siguiente:

    1. Haz clic en los nombres de cada configuración que especifique el valor HIGH, MEDIUM o LOW para mostrar las especificaciones de los atributos de recursos.

    2. Revisa y, si es necesario, edita la configuración para corregir el permiso, el tipo de recurso, la etiqueta o la especificación de la etiqueta para que coincida con los recursos previstos.

  6. Si es necesario, crea una nueva configuración de valor de recurso.

Tus cambios se aplican a la siguiente simulación de ruta de ataque.

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

APS resource value assignment limit exceeded

Nombre de categoría en la API: APS_RESOURCE_VALUE_ASSIGNMENT_LIMIT_EXCEEDED

En la última simulación de ruta de ataque, la cantidad de instancias de recursos de alto valor identificadas en las Configuraciones de valor de recursos superó el límite de 1,000 instancias de recursos en un conjunto de recursos de alto valor. Como resultado, Security Command Center excluyó el número excesivo de instancias del conjunto de recursos de alto valor.

Para corregir este hallazgo, puedes probar las siguientes acciones:

  • Usa etiquetas o etiquetas para reducir la cantidad de coincidencias para un tipo de recurso determinado o dentro de un alcance específico. Las etiquetas se deben aplicar a las instancias de recursos antes de que puedan coincidir con una configuración de valor de recurso.
  • Crea una configuración de valor de recurso que asigne un valor de recurso de NONE a un subconjunto de los recursos especificados en otra configuración. Si especificas un valor de NONE, se anula cualquier otra configuración y se excluyen las instancias de recursos de tu conjunto de recursos de alto valor.
  • Reduce la especificación del atributo de recurso de alcance en la configuración del valor del recurso.
  • Borra las configuraciones de valor de recursos que asignen un valor de LOW.

Para obtener instrucciones sobre cómo crear, editar o borrar una configuración de valor de recurso, consulta Define y administra tu conjunto de recursos de alto valor.

Obtén información sobre los recursos admitidos y la configuración de análisis de este tipo de resultado.

CIEM service account missing permissions

Nombre de categoría en la API: CIEM_SERVICE_ACCOUNT_MISSING_PERMISSIONS

Faltan permisos en la cuenta de servicio que usa el servicio de CIEM. CIEM no puede generar una o más categorías de hallazgos.

Para corregir este hallazgo, restablece los roles de IAM necesarios en la cuenta de servicio de CIEM:

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. Selecciona la cuenta de servicio CIEM de tu organización. El identificador de la cuenta de servicio es una dirección de correo electrónico con el siguiente formato:

    service-org-ORGANIZATION_ID@gcp-sa-ciem.iam.gserviceaccount.com
    

    Reemplaza ORGANIZATION_ID por el ID numérico de la organización.

    Si no ves la cuenta de servicio en la lista, haz clic en OTORGAR ACCESO en la parte superior de la página y, luego, ingresa la cuenta de servicio como una principal nueva.

  3. Otorga la función de agente de servicio de CIEM (roles/ciem.serviceAgent) a la cuenta de servicio. Si usas funciones personalizadas, asegúrate de que incluyan los siguientes permisos:

    • cloudasset.assets.exportResource
    • cloudasset.assets.exportIamPolicy
  4. Haz clic en Guardar.

CIEM AWS CloudTrail configuration error

Nombre de categoría en la API: AWS_CLOUDTRAIL_CONFIGURATION_ERROR

Todos los hallazgos de AWS de CIEM o algunos de ellos no se envían a Security Command Center. El feed de AWS CloudTrail falló y no puede recuperar datos de forma correcta debido a un error de configuración.

Existen tres causas posibles para este hallazgo:

  • Falta el feed de AWS CloudTrail

    Para solucionar este problema, crea y configura un feed en la consola de operaciones de seguridad para transferir los registros de AWS CloudTrail. Establece el par clave-valor Etiqueta de transferencia en CIEM y TRUE.

    Si quieres obtener instrucciones para crear un feed, consulta Cómo crear el feed en la documentación de Google SecOps.

  • Errores en la configuración del feed

    Asegúrate de haber configurado el feed correctamente.

    Si quieres configurar un feed, consulta Configura un feed en Google Security Operations para transferir registros de AWS en la documentación de Google SecOps.

  • Configuración incompleta de AWS CloudTrail

    Para solucionar este problema, establece el bucket de S3 en tu configuración de CloudTrail de AWS para registrar eventos de datos y eventos de administración de todas las cuentas de AWS en las que intentas usar CIEM.

    Para configurar CloudTrail, consulta Configura CloudTrail de AWS (o algún otro servicio) en la documentación de Google SecOps.

GKE service account missing permissions

Nombre de categoría en la API: GKE_SERVICE_ACCOUNT_MISSING_PERMISSIONS

La detección de amenazas a contenedores no puede generar resultados para un clúster de Google Kubernetes Engine, ya que a la cuenta de servicio predeterminada de GKE del clúster le faltan permisos. Esto impide que la detección de amenazas a contenedores se habilite de forma correcta en el clúster.

Para solucionar este problema, restablece la cuenta de servicio predeterminada de GKE y confirma que la cuenta de servicio tenga el rol Kubernetes Engine Service Agent (roles/container.serviceAgent).

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

KTD blocked by admission controller

Nombre de categoría en la API: KTD_BLOCKED_BY_ADMISSION_CONTROLLER

La detección de amenazas a contenedores no se puede habilitar en un clúster porque un controlador de admisión de terceros impide la implementación del objeto DaemonSet de Kubernetes requerido.

Para corregir este hallazgo, asegúrate de que los controladores de admisión que se ejecutan en el clúster permitan que Container Threat Detection cree los objetos de Kubernetes necesarios.

Verifica el controlador de admisión

Verifica si el controlador de admisión en tu clúster rechaza la implementación del objeto DaemonSet de Container Threat Detection.

  1. En la descripción del hallazgo, en los detalles de los hallazgos en la consola de Google Cloud, revisa el mensaje de error incluido de Kubernetes. El mensaje de error de Kubernetes debería ser similar al siguiente mensaje:

    generic::failed_precondition: incompatible admission webhook:
    admission webhook "example.webhook.sh" denied the request:
    [example-constraint] you must provide labels: {"example-required-label"}.
    
  2. En los registros de auditoría de actividad de administradores de Cloud del proyecto que contiene tu clúster, busca el mensaje de error que se muestra en el campo Descripción de los detalles de los hallazgos.

  3. Si tu controlador de admisión funciona, pero rechaza la implementación del objeto DaemonSet de Container Threat Detection, configura tu controlador de admisión a fin de permitir que el agente de servicio para Container Threat Detection administre objetos en el espacio de nombres kube-system.

    El agente de servicio para Container Threat Detection debe poder administrar objetos de Kubernetes específicos.

Para obtener más información sobre el uso de controladores de admisión con Container Threat Detection, consulta PodSecurityPolicy y los controladores de admisión.

Confirma la corrección

Después de corregir el error, Security Command Center intenta habilitar automáticamente la detección de amenazas a contenedores. Después de esperar a que se complete la habilitación, puedes verificar si Container Threat Detection está activa mediante los siguientes pasos:

  1. Ve a la página Cargas de trabajo de Kubernetes Engine en la consola.

    Ir a Cargas de trabajo de Kubernetes

  2. Si es necesario, selecciona Mostrar cargas de trabajo del sistema.

  3. En la página Cargas de trabajo, primero filtra las cargas de trabajo por el nombre del clúster.

  4. Busca la carga de trabajo container-watcher. Si container-watcher está presente y su estado muestra OK, la detección de amenazas a contenedores está activa.

KTD image pull failure

Nombre de categoría en la API: KTD_IMAGE_PULL_FAILURE

La detección de amenazas a contenedores no se puede habilitar en el clúster porque no se puede extraer (descargar) una imagen de contenedor obligatoria de gcr.io, el host de imagen de Container Registry.

La extracción o descarga de una imagen de contenedor puede fallar por varios de los motivos posibles.

Verifica lo siguiente:

  • Asegúrate de que la configuración de tu red de VPC, DNS o firewall no bloquee el acceso a la red desde el clúster al host de imagen gcr.io.
  • Si el clúster es privado, asegúrate de que el Acceso privado a Google esté habilitado para permitir el acceso al host de imágenes gcr.io.
  • Si la configuración de red o el Acceso privado a Google no son la causa de la falla, consulta la documentación de solución de problemas de GKE para los errores ImagePullBackOff y ErrImagePull.

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

KTD service account missing permissions

Nombre de categoría en la API: KTD_SERVICE_ACCOUNT_MISSING_PERMISSIONS

A la cuenta de servicio de detección de amenazas a contenedores que se identifica en los detalles del hallazgo en la consola de Google Cloud le faltan los permisos necesarios. Todos los hallazgos de Container Threat Detection o algunos de ellos no se envían a Security Command Center.

Para solucionar el problema, sigue estos pasos:

  1. Otorga la función de agente de servicio de Container Threat Detection (roles/containerthreatdetection.serviceAgent) a la cuenta de servicio. Para obtener más información, consulta Cómo otorgar una sola función.

    Como alternativa, si deseas usar una función personalizada, asegúrate de que tenga los permisos de la función de agente de servicio de Container Threat Detection.

  2. Asegúrate de que no haya políticas de denegación de IAM que impidan que la cuenta de servicio use ninguno de los permisos de la función de agente de servicio de Container Threat Detection. Si hay una política de denegación que bloquea el acceso, agrega la cuenta de servicio como principal de excepción en la política de denegación.

Obtén más información sobre la cuenta de servicio de detección de amenazas a contenedores y el rol y permisos

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

Misconfigured Cloud Logging Export

Nombre de categoría en la API: MISCONFIGURED_CLOUD_LOGGING_EXPORT

El proyecto configurado para la exportación continua a Cloud Logging no está disponible. Como resultado, Security Command Center no puede enviar resultados a Logging.

Realiza una de las siguientes acciones para solucionar este problema:

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

VPC Service Controls Restriction

Nombre de categoría en la API: VPC_SC_RESTRICTION

Las estadísticas del estado de la seguridad no pueden producir ciertos resultados para un proyecto, ya que está protegido por un perímetro de servicio. Debes otorgar a la cuenta de servicio de Security Command Center acceso entrante al perímetro de servicio.

El identificador de la cuenta de servicio es una dirección de correo electrónico con el siguiente formato:

service-RESOURCE_KEYWORD-RESOURCE_ID@security-center-api.iam.gserviceaccount.com

Reemplaza lo siguiente:

  • RESOURCE_KEYWORD: La palabra clave org o project, según el recurso que sea el propietario de la cuenta de servicio
  • RESOURCE_ID: Uno de los siguientes:
    • el ID de la organización si la cuenta de servicio es propiedad de la organización
    • el número de proyecto si la cuenta de servicio es propiedad de un proyecto

Si tienes cuentas de servicio a nivel de la organización y a nivel del proyecto, aplica la solución a ambas.

Para solucionar el problema, sigue estos pasos.

Paso 1: Determina qué perímetro de servicio bloquea las estadísticas del estado de seguridad

  1. Obtén el ID único de los Controles del servicio de VPC y el ID del proyecto asociado con el resultado:
    1. Para ver los detalles del resultado, haz clic en el nombre de su categoría.
    2. En el campo Descripción, copia el ID único de los Controles del servicio de VPC, por ejemplo, 5e4GI409D6BTWfOp_6C-uSwmTpOQWcmW82sfZW9VIdRhGO5pXyCJPQ.
    3. En el campo Ruta de acceso del recurso, copia el ID del proyecto.
  2. Obtén el ID de la política de acceso y el nombre del perímetro de servicio:

    1. En la consola de Google Cloud, ve a la página Explorador de registros.

      Ir al Explorador de registros

    2. En la barra de herramientas, selecciona el proyecto asociado al resultado.

      Selector de proyectos

    3. En el cuadro de búsqueda, ingresa el ID único del error.

      Busca por UID de error

      Si el error no aparece en los resultados de la consulta, extiende el cronograma en Histograma y, luego, vuelve a ejecutar la consulta.

    4. Haz clic en el error que aparece.

    5. Haz clic en Expand nested fields.

    6. Copia el valor del campo servicePerimeterName. El valor tiene el siguiente formato:

      accessPolicies/ACCESS_POLICY/servicePerimeters/SERVICE_PERIMETER

      En este ejemplo, el nombre completo del recurso del perímetro de servicio es accessPolicies/540107806624/servicePerimeters/vpc_sc_misconfigured.

      • ACCESS_POLICY es el ID de la política de acceso, por ejemplo, 540107806624.
      • SERVICE_PERIMETER es el nombre del perímetro de servicio, por ejemplo, vpc_sc_misconfigured.

      Nombre completo del recurso del perímetro de servicio

    7. Para obtener el nombre visible que corresponde al ID de la política de acceso, usa gcloud CLI.

      Si no puedes realizar consultas a nivel de la organización, pídele a tu administrador que realice este paso.

      gcloud access-context-manager policies list --organization ORGANIZATION_ID
      

      Reemplaza ORGANIZATION_ID por el ID numérico de la organización.

      Obtendrás un resultado similar al siguiente:

      NAME          ORGANIZATION  SCOPES                 TITLE           ETAG
      540107806624  549441802605                         default policy  2a9a7e30cbc14371
      352948212018  549441802605  projects/393598488212  another_policy  d7b47a9ecebd4659

      El nombre visible es el título que corresponde al ID de la política de acceso. Toma nota del nombre visible de la política de acceso y del nombre del perímetro de servicio. Los necesitarás en la próxima sección.

Paso 2: Crea una regla de entrada que otorgue acceso al proyecto

En esta sección, se requiere que tengas acceso a nivel de la organización a los Controles del servicio de VPC. Si no tienes acceso a nivel de la organización, pídele a tu administrador que siga estos pasos.

En los próximos pasos, crearás una regla de entrada en el perímetro de servicio que identificaste en el paso 1.

Para otorgar a una cuenta de servicio acceso entrante a un perímetro de servicio, sigue estos pasos.

  1. Ve a los Controles del servicio de VPC.

    Ir a los Controles del servicio de VPC

  2. En la barra de herramientas, selecciona tu organización de Google Cloud.

    Selector de proyectos

  3. En la lista desplegable, selecciona la política de acceso que contiene el perímetro de servicio al que deseas otorgar acceso.

    Lista de políticas de acceso

    Los perímetros de servicio asociados con la política de acceso aparecen en la lista.

  4. Haz clic en el nombre del perímetro de servicio.

  5. Haz clic en Editar perímetro.

  6. En el menú de navegación, haz clic en Política de entrada.

  7. Haga clic en Agregar regla.

  8. Configura la regla de la siguiente manera:

    Atributos FROM del cliente de la API

    1. En Fuente, selecciona Todas las fuentes.
    2. En Identidad, selecciona Identidades seleccionadas.
    3. En el campo Agregar usuario o cuenta de servicio, haz clic en Seleccionar.
    4. Ingresa la dirección de correo electrónico de la cuenta de servicio. Si tienes cuentas de servicio a nivel de la organización y a nivel del proyecto, agrega ambas.
    5. Haz clic en Guardar.

    Atributos TO de los recursos y servicios de GCP

    1. En Proyecto, selecciona Todos los proyectos o selecciona el proyecto especificado en el resultado.

    2. En Servicios, selecciona Todos los servicios o selecciona cada uno de los siguientes servicios individuales que requiere Security Health Analytics:

      • API de BigQuery
      • API de Autorización Binaria
      • API de Cloud Logging
      • Cloud Monitoring API
      • API de Compute Engine
      • API de Kubernetes Engine

    Si un perímetro de servicio restringe el acceso a un servicio requerido, Security Health Analytics no puede generar resultados para ese servicio.

  9. En el menú de navegación, haz clic en Guardar.

Para obtener más información, consulta Configura políticas de entrada y salida.

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

Security Command Center service account missing permissions

Nombre de categoría en la API: SCC_SERVICE_ACCOUNT_MISSING_PERMISSIONS

Al agente de servicio de Security Command Center le faltan los permisos necesarios para funcionar correctamente.

El identificador de la cuenta de servicio es una dirección de correo electrónico con el siguiente formato:

service-RESOURCE_KEYWORD-RESOURCE_ID@security-center-api.iam.gserviceaccount.com

Reemplaza lo siguiente:

  • RESOURCE_KEYWORD: La palabra clave org o project, según el recurso que sea el propietario de la cuenta de servicio
  • RESOURCE_ID: Uno de los siguientes:
    • el ID de la organización si la cuenta de servicio es propiedad de la organización
    • el número de proyecto si la cuenta de servicio es propiedad de un proyecto

Si tienes cuentas de servicio a nivel de la organización y a nivel del proyecto, aplica la solución a ambas.

Para solucionar el problema, sigue estos pasos:

  1. Otorga la función de agente de servicio del centro de seguridad (roles/securitycenter.serviceAgent) a la cuenta de servicio.

    Para obtener más información, consulta Cómo otorgar una sola función.

    Como alternativa, si deseas usar una función personalizada, asegúrate de que tenga los permisos en la función de agente de servicio del centro de seguridad.

  2. Asegúrate de que no haya políticas de denegación de IAM que impidan que la cuenta de servicio use ninguno de los permisos en las funciones requeridas. Si hay una política de denegación que bloquea el acceso, agrega la cuenta de servicio como principal de excepción en la política de denegación.

Obtén información sobre los elementos admitidos y la configuración de análisis de este tipo de resultados.

¿Qué sigue?

Obtén más información sobre los errores de Security Command Center.