Usa módulos personalizados con las estadísticas del estado de la seguridad

En esta página, se explica cómo crear, ver, actualizar y borrar módulos personalizados para las estadísticas del estado de la seguridad con la consola de Google Cloud o Google Cloud CLI.

Para obtener más información introductoria, consulta Descripción general de los módulos personalizados para las estadísticas del estado de la seguridad.

Antes de comenzar

Antes de poder trabajar con módulos personalizados, debes cumplir con los siguientes requisitos previos:

  • Necesitas el nivel Premium de Security Command Center. Para obtener más información sobre los niveles de Security Command Center, consulta Descripción general de la activación de Security Command Center.
  • Se deben habilitar las estadísticas de estado de seguridad. Para obtener información sobre cómo habilitar Security Health Analytics, consulta Habilita o inhabilita un servicio integrado.
  • Se debe otorgar a tu cuenta de usuario uno o más roles de Identity and Access Management (IAM) que contengan los permisos necesarios. Para obtener más información, consulta Permisos de IAM necesarios.
  • Si quieres escribir tus propios módulos personalizados y subirlos a Security Command Center con los comandos gcloud, necesitas Google Cloud CLI. Para obtener información sobre cómo instalar gcloud CLI, consulta Instala la CLI de gcloud.
  • Si aún no está habilitada la API de Security Command Center, debes habilitarla antes de usar módulos personalizados para las estadísticas del estado de seguridad. Puedes habilitar la API de Security Command Center en la página Biblioteca de APIs de la consola de Google Cloud.
  • Para comprender los límites de uso de las estadísticas del estado de seguridad, consulta Cuotas de módulos personalizados.

Permisos de IAM obligatorios

Para trabajar con módulos personalizados, necesitas los siguientes permisos de Identity and Access Management (IAM):

Permiso Función
securitycenter.securityhealthanalyticscustommodules.create
securitycenter.securityhealthanalyticscustommodules.update
securitycenter.securityhealthanalyticscustommodules.delete
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.get
securitycenter.securityhealthanalyticscustommodules.list
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.test roles/securitycenter.securityHealthAnalyticsCustomModulesTester
roles/securitycenter.adminViewer
roles/securitycenter.adminEditor
roles/securitycenter.admin

Para obtener más información sobre los permisos y roles de IAM, y cómo otorgarlos, consulta Cómo otorgar un rol de IAM con la consola de Google Cloud.

Crea un módulo personalizado

En esta sección, se explica cómo crear módulos personalizados con la console de Google Cloud o gcloud CLI.

Para probar tu módulo personalizado como un paso en el proceso de creación, debes preparar definiciones de recursos de prueba en un archivo YAML. Para obtener instrucciones, consulta Crea recursos de prueba en un archivo YAML.

Para crear un módulo personalizado, selecciona el método que deseas usar en las siguientes pestañas:

Consola de Google Cloud

Para crear un módulo personalizado en la consola de Google Cloud, completa los siguientes pasos:

  1. Ve a la página Configuración de Security Command Center en la consola de Google Cloud.

    Ir a la configuración

  2. Si se te solicita, selecciona la organización, la carpeta o el proyecto en el que debes crear el módulo personalizado.

  3. En la tarjeta Security Health Analytics, haz clic en Administrar configuración.

  4. Haz clic en la pestaña Módulos.

  5. Haz clic en Crear módulo. Se abrirá la página Crear módulo para las estadísticas del estado de la seguridad.

  6. En el panel Configurar módulo, define el nombre visible, los recursos que se analizarán y la lógica de detección:

    1. En el campo Nombre del módulo, especifica un nombre para el módulo. El nombre debe tener entre 1 y 128 caracteres, comenzar con una letra minúscula y contener solo caracteres alfanuméricos o guiones bajos. Este nombre se convierte en la categoría de los resultados que genera este detector. No puedes cambiar el nombre después de crear el módulo.

    2. En Agregar tipo de recurso, especifica de uno a cinco tipos de recursos para analizar. No puedes especificar un tipo de recurso más de una vez.

      Para obtener una lista de los tipos de recursos admitidos, consulta Tipos de recursos admitidos.

    3. En el Editor de expresiones, escribe expresiones CEL para ejecutar verificaciones booleanas en una o más propiedades del recurso que especificaste en el último paso. Para activar un hallazgo, la expresión debe resolverse en TRUE. Por ejemplo, la siguiente expresión activa un hallazgo si un recurso CryptoKey tiene definido un período de rotación y este es superior a 2,592,000 segundos (30 días):

      has(resource.rotationPeriod) && (resource.rotationPeriod > duration('2592000s'))
      

      Para obtener más información, consulta lo siguiente:

    4. Haz clic en Siguiente. Se abrirá el panel Define finding details.

  7. En el panel Define los detalles de los resultados, describe el problema que detecta el módulo personalizado, incluida su gravedad, qué es, cómo solucionarlo y cualquier dato que desees incluir en los resultados como propiedades de origen personalizadas:

    1. En el campo Gravedad, especifica la gravedad del problema. Puedes especificar Low, Medium, High o Critical. Medium es la configuración predeterminada.

      Para obtener información sobre los niveles de gravedad, consulta Clasificaciones de gravedad para los resultados.

    2. En el campo Finding description, explica el problema que detecta el módulo personalizado. Esta explicación aparece en cada instancia de hallazgo para ayudar a los equipos de seguridad a comprender y abordar el problema detectado.

    3. En el campo Finding next steps, explica los pasos que puede seguir tu equipo de seguridad para solucionar el problema detectado o abordarlo de otra manera.

      Los pasos se muestran con cada instancia de hallazgo. Incluye pasos específicos que el equipo de seguridad pueda seguir para abordar el problema lo más rápido posible.

    4. Opcional: En el campo Custom finding properties, especifica hasta 10 pares nombre-valor para definir propiedades de fuente personalizadas que se mostrarán con cada instancia de hallazgo. La información se muestra como propiedades de origen en el JSON del hallazgo y se muestra en la pestaña Source properties en los detalles del hallazgo de la consola de Google Cloud. Especifica el texto o los valores de la propiedad como pares clave-valor:

      • En el campo Nombre de la propiedad, especifica un nombre para la propiedad fuente personalizada. El nombre debe cumplir con las siguientes reglas:
        • El nombre debe comenzar con una letra minúscula.
        • El nombre debe contener solo caracteres alfanuméricos o guiones bajos.
        • El nombre debe tener entre 1 y 128 caracteres.
        • Cada nombre debe ser único entre las otras propiedades de origen.
      • En el campo Valor de la propiedad, especifica uno de los siguientes valores de 1,024 caracteres o menos:
        • Es una cadena de texto encerrada entre comillas. Las comillas se incluyen en el límite de 1,024 caracteres. Por ejemplo: "This string provides additional useful information."
        • Cualquier propiedad del recurso que se analiza Por ejemplo, si verificas el recurso CryptoKey, puedes especificar resource.rotationPeriod. Se muestra el valor de la propiedad rotationPeriod.
    5. Haz clic en Siguiente. Se abrirá el panel Habilitar módulo.

  8. Opcional: Usa el menú desplegable del panel Habilitar módulo para especificar si el módulo personalizado está habilitado o inhabilitado cuando se crea. De forma predeterminada, los módulos personalizados se habilitan cuando se crean. Si especificas Inhabilitar, podrás habilitar el módulo más adelante en la pestaña Módulos de la página de configuración de Security Health Analytics.

  9. Haz clic en Siguiente. Se abrirá el panel Módulo de prueba.

  10. Opcional: Antes de crear tu módulo personalizado, te recomendamos que lo pruebes.

    Para probar un módulo personalizado, sigue estos pasos:

    1. Crea un archivo YAML que contenga definiciones de recursos de prueba para los recursos que verifica tu módulo personalizado.

      Para obtener información sobre cómo crear un archivo de datos de prueba, consulta Crea recursos de prueba en un archivo YAML.

    2. En Subir el archivo YAML, haz clic en Explorar para subir el archivo YAML que contiene las definiciones de recursos de prueba. La prueba se inicia automáticamente cuando se sube el archivo.

    3. En Vista previa de los resultados de la prueba, verifica los resultados.

      • Si hay errores de sintaxis o de otro tipo en el archivo YAML, se mostrará un mensaje de error flotante cerca de la parte inferior de la página del navegador.
      • Si la prueba se realiza correctamente, muestra la siguiente información:

        • Es el nombre visible del módulo personalizado.
        • Es el nombre arbitrario que especificaste en la propiedad resource en el archivo de datos de prueba.
        • La organización, la carpeta o el proyecto en los que se creó o se creará el módulo personalizado

    Los resultados de las pruebas no se almacenan ni se escriben en Security Command Center.

    Para obtener más información, consulta Cómo probar módulos personalizados.

  11. Haz clic en Crear. Volverás a la página Módulos y deberías ver el módulo que creaste con el estado Habilitado.

Los módulos personalizados nuevos no están disponibles de inmediato para que Security Health Analytics los use en los análisis. Para obtener más información, consulta Latencia de detección.

gcloud CLI

Para crear un módulo personalizado con comandos gcloud, primero debes codificar la definición del módulo personalizado en un archivo YAML que incluya expresiones CEL para la lógica de detección y las propiedades de salida.

Una vez que se complete la definición, la subirás a Security Command Center con los comandos de gcloud CLI.

  1. Programa una definición de módulo personalizado en un archivo YAML según las instrucciones que se indican en Cómo codificar un módulo personalizado para las estadísticas del estado de la seguridad.
  2. Guarda el archivo YAML en una ubicación a la que tu instancia de gcloud CLI pueda acceder.
  3. Sube la definición personalizada a Security Command Center:

    gcloud scc custom-modules sha create \
        PARENT_FLAG=PARENT_ID \
        --display-name="MODULE_DISPLAY_NAME" \
        --enablement-state="ENABLEMENT_STATE" \
        --custom-config-from-file=MODULE_FILE_NAME.yaml
    

    Reemplaza lo siguiente:

    • PARENT_FLAG: Es el nivel en el que creas el módulo personalizado, ya sea --organization, --folder o --project.
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que creas el módulo personalizado.
    • ENABLEMENT_STATE: enabled o disabled.
    • MODULE_DISPLAY_NAME: Es el nombre de la categoría de hallazgo que deseas mostrar cuando el módulo personalizado muestra un hallazgo. El nombre debe tener entre 1 y 128 caracteres, comenzar con una letra minúscula y contener solo caracteres alfanuméricos o guiones bajos.
    • MODULE_FILE_NAME: Es la ruta de acceso y el nombre del archivo del archivo YAML que contiene la definición del módulo personalizado.

Latencia de detección

Después de crear o actualizar la definición de un módulo personalizado, puede haber un retraso de hasta varias horas antes de que el módulo personalizado nuevo o actualizado esté disponible para usarse en análisis.

Crear o modificar un módulo personalizado no activa un análisis. Después de que un módulo personalizado está disponible para su uso, Security Health Analytics no comienza a usarlo hasta que el primer análisis por lotes o un cambio en la configuración del recurso de destino activa un análisis en tiempo real.

Para obtener más información sobre los tipos de análisis de las estadísticas del estado de la seguridad, consulta Tipos de análisis de las estadísticas del estado de la seguridad.

Actualiza un módulo personalizado

Puedes actualizar la mayoría de las propiedades de los módulos personalizados de las estadísticas del estado de la seguridad.

No se pueden cambiar las siguientes propiedades de un módulo personalizado:

  • El nombre visible.
  • Es el ID del módulo personalizado.
  • Es el nombre completo del recurso del módulo personalizado.

Cuando actualizas un módulo personalizado, los resultados que emitió previamente este no se actualizan al mismo tiempo. Si los cambios en el módulo generan cambios en los resultados emitidos, estos reflejarán los cambios solo después del próximo análisis por lotes o en tiempo real de Security Health Analytics.

Para modificar un módulo personalizado, puedes usar la consola de Google Cloud o gcloud CLI. Haz clic en una de las siguientes pestañas para obtener instrucciones.

Consola de Google Cloud

Para actualizar un módulo personalizado existente en la consola de Google Cloud, sigue estos pasos:

  1. Ve a la página Configuración de Security Command Center en la consola de Google Cloud.

    Ir a la configuración

  2. En el selector de proyectos, selecciona la organización, la carpeta o el proyecto en el que se creó originalmente el módulo personalizado. No puedes editar un módulo personalizado en ningún otro lugar.

  3. En la tarjeta Security Health Analytics, haz clic en Administrar configuración.

  4. Selecciona la pestaña Módulos. Se muestran todos los módulos de detección de Security Health Analytics.

  5. Usa el campo de filtro en la parte superior de la lista de módulos o desplázate hasta encontrar el módulo personalizado que necesitas modificar.

  6. En el lado derecho de la fila de tu módulo personalizado, haz clic en el ícono de menú de acciones, .

  7. En el menú de acciones, haz clic en el ícono Editar (). Se abrirá la página Ver módulo y se mostrará la pestaña Configurar módulo.

  8. Edita los campos de módulo personalizados de cada pestaña en la página Ver módulo según sea necesario.

  9. Opcional: Antes de guardar las actualizaciones, te recomendamos que las pruebes.

    Para probar un módulo personalizado, sigue estos pasos:

    1. Crea un archivo YAML que contenga definiciones de recursos de prueba para los recursos que verifica tu módulo personalizado.

      Para obtener información sobre cómo crear un archivo de datos de prueba, consulta Crea recursos de prueba en un archivo YAML.

    2. En Subir el archivo YAML, haz clic en Explorar para subir el archivo YAML que contiene las definiciones de recursos de prueba. La prueba se inicia automáticamente cuando se sube el archivo.

    3. En Vista previa de los resultados de la prueba, verifica los resultados.

      • Si hay errores de sintaxis o de otro tipo en el archivo YAML, se mostrará un mensaje de error flotante cerca de la parte inferior de la página del navegador.
      • Si la prueba se realiza correctamente, muestra la siguiente información:

        • Es el nombre visible del módulo personalizado.
        • Es el nombre arbitrario que especificaste en la propiedad resource en el archivo de datos de prueba.
        • La organización, la carpeta o el proyecto en los que se creó o se creará el módulo personalizado

    Los resultados de las pruebas no se almacenan ni se escriben en Security Command Center.

    Para obtener más información, consulta Cómo probar módulos personalizados.

  10. Al final de la página, haz clic en Guardar. Los cambios se aplican al módulo personalizado.

gcloud CLI

Para actualizar un módulo personalizado con gcloud CLI, primero debes editar la definición de YAML del módulo personalizado y, luego, usar los comandos gcloud para actualizarlo en las estadísticas del estado de la seguridad.

  1. Edita la definición del módulo personalizado. Para obtener información sobre cómo codificar una definición de módulo personalizado, consulta Cómo codificar un módulo personalizado para las estadísticas del estado de la seguridad.

  2. Guarda el archivo YAML editado en una ubicación a la que gcloud CLI pueda acceder.

  3. Para actualizar el módulo personalizado en las Estadísticas del estado de la seguridad, emite el siguiente comando:

    gcloud scc custom-modules sha update MODULE_ID \
       PARENT_FLAG=PARENT_ID \
       --enablement-state="ENABLED" \
       --custom-config-from-file=MODULE_FILE_NAME.yaml
    

    Reemplaza lo siguiente:

    • MODULE_ID: Es el ID o el nombre completo del recurso del módulo personalizado.
    • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.
    • MODULE_FILE_NAME: Es la ruta de acceso y el nombre del archivo del archivo YAML que contiene la definición del módulo personalizado.

Cómo ver un módulo personalizado

Selecciona una pestaña para obtener información sobre cómo ver una definición de módulo personalizado.

Consola de Google Cloud

Para ver los módulos personalizados en la consola de Google Cloud, sigue estos pasos:

  1. Ve a la página Estadísticas del estado de la seguridad en la configuración de Security Command Center.

    Ir a la configuración

  2. Haz clic en la pestaña Módulos. Se abrirá el panel Módulos.

  3. Si es necesario, usa el campo de filtro en la parte superior de la lista de módulos para encontrar el módulo personalizado que necesitas modificar.

  4. Para ver los detalles de la definición del módulo personalizado, haz clic en el ícono del menú de acciones, , a la derecha de la fila del módulo personalizado.

  5. En el menú de acciones, haz clic en el ícono Editar, . Se abre la página Ver módulo y se muestra la pestaña Configurar módulo.

  6. Haz clic en las pestañas de la página Ver módulo para ver todos los campos de la definición del módulo personalizado.

gcloud CLI

Para ver los detalles de un módulo personalizado, ingresa el siguiente comando:

gcloud scc custom-modules sha get MODULE_ID \
      PARENT_FLAG=PARENT_ID

Reemplaza lo siguiente:

  • MODULE_ID: Es el ID o el nombre completo del recurso del módulo personalizado.
  • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.

Cómo enumerar módulos personalizados

Selecciona una pestaña para obtener información sobre cómo mostrar una lista de módulos personalizados.

Consola de Google Cloud

  1. Ve a la página Security Health Analytics en la configuración de Security Command Center.

    Ir a la configuración

  2. Haz clic en la pestaña Módulos. Se abrirá el panel Módulos.

  3. Haz clic en el campo de filtro que se encuentra en la parte superior de la lista de módulos para mostrar la lista de tipos de filtros.

  4. Selecciona Tipo y, luego, ingresa Custom. Las listas de módulos se actualizan para mostrar solo los módulos personalizados.

gcloud CLI

Para ver una lista de módulos personalizados, ingresa el siguiente comando:

gcloud scc custom-modules sha list \
    PARENT_FLAG=PARENT_ID

Reemplaza lo siguiente:

  • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.

Cómo borrar un módulo personalizado

Puedes borrar un módulo personalizado de la organización, la carpeta o el proyecto en el que se creó, o de una organización o carpeta superior. No puedes borrar un módulo personalizado de una carpeta o un proyecto que lo herede.

Si quieres aprender a borrar un módulo personalizado, selecciona una de las siguientes pestañas.

Consola de Google Cloud

  1. Ve a la página Configuración de Security Command Center en la consola de Google Cloud.

    Ir a la configuración

  2. Si se te solicita, selecciona tu organización, carpeta o proyecto.

  3. En la tarjeta Security Health Analytics, haz clic en Administrar configuración.

  4. Selecciona la pestaña Módulos. Se muestran todos los módulos de detección de Security Health Analytics.

  5. Usa el campo de filtro en la parte superior de la lista de módulos o desplázate hasta encontrar el módulo personalizado que necesitas modificar.

  6. En el lado derecho de la fila de tu módulo personalizado, haz clic en el ícono de menú de acciones, .

  7. En el menú de acciones, haz clic en Borrar. Se abrirá el diálogo Borrar módulo personalizado.

  8. En el cuadro de diálogo, haz clic en Borrar.

gcloud CLI

Para borrar un módulo personalizado, ingresa el siguiente comando:

gcloud scc custom-modules sha delete MODULE_ID \
    PARENT_FLAG=PARENT_ID

Reemplaza lo siguiente:

  • MODULE_ID: Es el ID o el nombre completo del recurso del módulo personalizado.
  • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.

Security Health Analytics marca como inactivos los resultados de los módulos personalizados borrados en el siguiente análisis por lotes.

Revisa los resultados

Los resultados que generan los módulos personalizados se pueden ver en la consola de Google Cloud, la consola de Security Operations (para clientes empresariales) o la API de Security Command Center.

Console

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página Resultados de Security Command Center.

    Ir a hallazgos

  2. Selecciona tu organización o proyecto de Google Cloud.
  3. En la sección Filtros rápidos, en la subsección Nombre visible de la fuente, selecciona Security Health Analytics Custom. Los resultados de la búsqueda de hallazgos se actualizan para mostrar solo los hallazgos de esta fuente.
  4. Para ver los detalles de un resultado específico, haz clic en el nombre del resultado en la columna Categoría. Se abre el panel de detalles del hallazgo y se muestra la pestaña Resumen.
  5. En la pestaña Resumen, revisa los detalles del hallazgo, incluida la información sobre lo que se detectó, el recurso afectado y, si está disponible, los pasos que puedes seguir para solucionar el problema.
  6. Para ver la definición completa de JSON del resultado, haz clic en la pestaña JSON (opcional).

Consola de operaciones de seguridad

  1. En la consola de Security Operations, ve a la página Resultados.
    https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
    

    Reemplaza CUSTOMER_SUBDOMAIN por tu identificador específico del cliente.

  2. En la sección Agregaciones, haz clic para expandir la subsección Nombre visible de la fuente.
  3. Selecciona Security Health Analytics Custom. Los resultados de la búsqueda de hallazgos se actualizan para mostrar solo los hallazgos de esta fuente.
  4. Para ver los detalles de un resultado específico, haz clic en el nombre del resultado en la columna Categoría. Se abre el panel de detalles del hallazgo y se muestra la pestaña Resumen.
  5. En la pestaña Resumen, revisa los detalles del hallazgo, incluida la información sobre lo que se detectó, el recurso afectado y, si está disponible, los pasos que puedes seguir para solucionar el problema.
  6. Para ver la definición completa de JSON del resultado, haz clic en la pestaña JSON (opcional).

gcloud CLI

Para ver los resultados, haz lo siguiente:

  1. Abre una ventana de terminal.
  2. Para obtener el ID de la fuente de las estadísticas del estado de seguridad, ejecuta el siguiente comando:

    gcloud scc sources describe organizations/ORGANIZATION_ID \
    --source-display-name='Security Health Analytics Custom'
    

    El resultado debería mostrar un resultado como el siguiente. En el ejemplo, SOURCE_ID es un ID asignado por el servidor para las fuentes de seguridad.

    description: ...
    displayName: Security Health Analytics Custom
    name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
    
  3. Para enumerar todos los resultados generados por tus módulos personalizados, ejecuta el siguiente comando:

    gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
    
  4. Para enumerar los resultados de un módulo personalizado específico, ejecuta el siguiente comando:

    gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID --filter="category=\"MODULE_NAME\""
    

¿Qué sigue?

Puedes administrar los resultados que generan los módulos personalizados como todos los resultados de Security Command Center. Para obtener instrucciones, consulta la siguiente información: