heygrc
ISO 27001 A.8.9 en código

La línea base que nadie actualizó.

ISO 27001:2022 A.8.9 (gestión de la configuración) exige que las configuraciones de seguridad para hardware, software, servicios y redes se establezcan, documenten, implementen, supervisen y revisen, y que lo que realmente se ejecuta coincida con esa línea base. En la práctica, la línea base suele existir como código: un manifiesto, módulo o plantilla compartida de la que cada servicio o recurso debe partir. El control se debilita cuando la configuración implementada se desvía de esa línea base sin autorización, documentación o supervisión, no cuando se realiza una excepción revisada de manera intencional.

How it shows up in a diff

The shapes the same control failure takes.

A.8.9 se debilita cuando la configuración en ejecución y la línea base documentada divergen. Las formas recurrentes:

  • Un valor de endurecimiento predeterminado se anula en el lugar

    El manifiesto de un servicio establece una configuración relevante para la seguridad en contra de la línea base compartida para desbloquear algo específico, en lugar de corregir la necesidad subyacente o actualizar la línea base.

  • Una plantilla copiada diverge en silencio

    Un nuevo servicio parte de la plantilla de configuración compartida, se personaliza de manera ad hoc y ambos divergen sin que nada registre que ya no coinciden.

  • Una excepción se implementa sin fecha de caducidad

    Una anulación puntual (una configuración relajada, una bandera de depuración activada) está pensada para ser temporal, pero no tiene fecha de revisión, por lo que simplemente permanece.

  • Un recurso en vivo se modifica manualmente

    Alguien edita un recurso en ejecución directamente (un clic en la consola, un comando CLI ad hoc) en lugar de hacerlo a través de la configuración versionada que debe ser la fuente de verdad, por lo que ambos ya no coinciden.

  • Un nuevo tipo de recurso se implementa sin línea base

    Se introduce un nuevo tipo de recurso (una cola, un motor de base de datos) sin nada que defina su configuración segura, por lo que cada instancia se configura de manera ad hoc.

Worked example

Un valor de endurecimiento predeterminado anulado para desbloquear una implementación.

El manifiesto base de Kubernetes compartido de la organización ejecuta todos los servicios como no root con un sistema de archivos raíz de solo lectura, la línea base documentada. Un nuevo worker necesita escribir un archivo temporal al inicio, y ejecutarlo como root es la forma más rápida de desbloquear la implementación, por lo que su manifiesto anula la línea base directamente en lugar de montar un volumen escribible o actualizar la base compartida. El servicio ahora se ejecuta con más privilegios de los que permite la línea base documentada, y nada en la línea base en sí cambió, por lo que nadie que la revise vería la divergencia.

k8s/worker/deployment.yaml+1 -1
  containers:  - name: worker-    securityContext:-      runAsNonRoot: true+    securityContext:+      runAsNonRoot: false # needs to write a temp file at startup
heygrcISO 27001:2022 A.8.9

Esto excluye un servicio de la línea base compartida de endurecimiento (`runAsNonRoot: true`) directamente en su propio manifiesto, en lugar de hacerlo a través de la línea base revisada. A.8.9 espera que la configuración implementada coincida con lo establecido y documentado, y esto diverge de ello sin que nadie modifique la línea base en sí. Corrija la ruta de escritura real (monte un volumen escribible para el archivo temporal) o documente y apruebe una excepción con límite de tiempo a través del proceso de gestión de la configuración, en lugar de excluir un servicio en el lugar.

What an auditor does with this

La configuración se verifica frente a lo que realmente se ejecuta, no solo frente al documento.

Un auditor verifica si su configuración en ejecución coincide con su línea base segura documentada, no solo si el documento de la línea base existe. Un servicio que silenciosamente se excluye de un valor de endurecimiento predeterminado, un recurso editado manualmente que diverge de su configuración rastreada o un nuevo tipo de recurso sin línea base alguna son el tipo de discrepancias que se convierten en hallazgos. Normalmente se remontan a un cambio que tomó un atajo local en lugar de actualizar o exceptuar la línea base.

What this is, and is not

Una revisión, no su línea base de configuración.

heygrc marca los cambios que afectan a A.8.9 y cita el control para que la corrección ocurra en la solicitud de extracción. No define su línea base ni gestiona su infraestructura. Detecta el momento en que un cambio diverge silenciosamente de la configuración documentada, en el diff.