heygrc
ISO 27001 A.8.9 dans le code

La référence que personne n'a mise à jour.

ISO 27001:2022 A.8.9 (gestion de la configuration) exige que les configurations de sécurité pour le matériel, les logiciels, les services et les réseaux soient établies, documentées, mises en œuvre, surveillées et révisées, et que ce qui est effectivement exécuté corresponde à cette référence. En pratique, la référence vit généralement sous forme de code : un manifeste, un module ou un modèle partagé à partir duquel chaque service ou ressource doit démarrer. Le contrôle est affaibli lorsque la configuration déployée s'écarte de cette référence sans autorisation, documentation ou surveillance, et non lorsqu'une exception révisée est intentionnellement appliquée.

How it shows up in a diff

The shapes the same control failure takes.

A.8.9 s'affaiblit lorsque la configuration en cours d'exécution et la référence documentée divergent. Les formes récurrentes :

  • Un paramètre de durcissement par défaut est remplacé localement

    Le manifeste d'un service définit un paramètre lié à la sécurité en contradiction avec la référence partagée pour débloquer quelque chose de spécifique, au lieu de corriger le besoin sous-jacent ou de mettre à jour la référence.

  • Un modèle copié diverge silencieusement

    Un nouveau service démarre à partir du modèle de configuration partagé, est personnalisé de manière ad hoc, et les deux divergent sans qu'aucun suivi ne signale qu'ils ne correspondent plus.

  • Une exception est déployée sans date d'expiration

    Une substitution ponctuelle (un paramètre assoupli, un indicateur de débogage laissé activé) est censée être temporaire mais n'a pas de date de révision, donc elle reste en place.

  • Une ressource en cours d'exécution est modifiée manuellement

    Quelqu'un modifie directement une ressource en cours d'exécution (un clic dans la console, une commande CLI ad hoc) au lieu de passer par la configuration versionnée qui est censée être la source de vérité, donc les deux ne correspondent plus.

  • Un nouveau type de ressource est déployé sans référence

    Un nouveau type de ressource (une file d'attente, un moteur de base de données) est introduit sans rien définir pour sa configuration sécurisée, donc chaque instance est configurée de manière ad hoc.

Worked example

Un paramètre de durcissement par défaut remplacé pour débloquer un déploiement.

Le manifeste Kubernetes de base partagé par l'organisation exécute chaque service en tant que non-root avec un système de fichiers racine en lecture seule, la référence documentée. Un nouveau worker doit écrire un fichier temporaire au démarrage, et l'exécuter en tant que root est le moyen le plus rapide pour débloquer le déploiement. Son manifeste remplace donc directement la référence au lieu de monter un volume accessible en écriture ou de mettre à jour la base partagée. Le service s'exécute désormais avec plus de privilèges que ce que la référence documentée autorise, et rien dans la référence elle-même n'a changé, donc personne qui la réviserait ne verrait la divergence.

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

Cela exclut un service de la référence de durcissement partagée (`runAsNonRoot: true`) directement dans son propre manifeste, au lieu de passer par la référence révisée. A.8.9 exige que la configuration déployée corresponde à ce qui est établi et documenté, et cela diverge sans que personne ne modifie la référence elle-même. Corrigez le chemin d'écriture réel (montez un volume accessible en écriture pour le fichier temporaire), ou documentez et approuvez une exception temporaire via le processus de gestion de la configuration, plutôt que d'exclure un service localement.

What an auditor does with this

La configuration est vérifiée par rapport à ce qui est effectivement exécuté, pas seulement au document.

Un auditeur vérifie si votre configuration en cours d'exécution correspond à votre référence sécurisée documentée, et pas seulement si le document de référence existe. Un service qui s'est discrètement exclu d'un paramètre de durcissement par défaut, une ressource modifiée manuellement qui a divergé de sa configuration suivie, ou un nouveau type de ressource sans référence du tout sont des types de non-conformités qui deviennent des constats. Cela remonte généralement à un changement qui a pris un raccourci local au lieu de mettre à jour ou d'appliquer une exception à la référence.

What this is, and is not

Une révision, pas votre référence de configuration.

heygrc signale les changements qui concernent A.8.9 et cite le contrôle afin que la correction ait lieu dans la pull request. Il ne définit pas votre référence ni ne gère votre infrastructure. Il détecte le moment où un changement diverge discrètement de la configuration documentée, au niveau du diff.