Hardening, GPO versus GPP

Une discussion (GPO versus GPP), limite anodine, m’a amené à rédiger cet article après une journée de reflexion. Cela, dans la mesure où il existe effectivement des différences subtiles entre les GPO (Group Policies Object) et les GPP (Group Policies Preferences).

Et hop, c’est parti pour un « go to basic » autour des stratégies de groupes dans un environnement Microsoft Windows Active Directory.

Pour faire simple, la GPO est apparue depuis Microsoft Windows 2000 Active Directory et s’apparente à une BDR (Base de Registre, assez dynamique tout de même). La GPP est arrivée avec la sortie de Microsoft Windows Server 2008.  Cette évolution est clairement une amélioration.

Pour revenir à nos moutons, les deux types de stratégies se gèrent via la console GPMC (Group Policy Management Console) et voici quelques-unes des différences entre elles (GPO versus GPP) :

  • Une GPO désactive l’élément de l’interface associée, tandis qu’une GPP ne l’active pas.
  • Une GPP est supprimée lorsque la GPP sort du champ d’application par rapport à l’objet Active Directory, c’est-à-dire lorsque l’objet n’est plus visé par ladite stratégie. Toutefois, une GPO reste configurée pour l’objet ciblé, même lorsque la stratégie n’est plus prise en compte. Une autre façon de le dire est que les GPO tatouent le registre, alors que les GPP ne tatouent pas le registre.
  • Les GPO peuvent être configurées localement, dans un domaine, au niveau d’un site ou une OU (Unité Organisationnelle). Les GPP ne peuvent être configurées qu’au niveau.
  • Une GPP ne peut être appliquée qu’une seule fois, au chargement. Les GPO sont réactualisée de façon cyclique.
  • Lorsqu’une GPP s’applique, les paramètres de registre d’origine sur l’objet ne sont pas modifiés. La stratégie est stockée dans une section spéciale du registre ; à sa suppression, les paramètres d’origine sont restaurés.

Une GPO remplace ainsi les paramètres de configuration correspondants dans l’interface. Quand elle s’applique, les paramètres d’origine écrasés. Sa suppression ne peut restaurer les paramètres initiaux.
Une GPP se contente de modifier les paramètres de configuration (standards ou rajoutés).
Aussi, en raison de cette différence, les GPO ne peuvent être efficaces que pour les caractéristiques des systèmes d’exploitation et des applications Microsoft Windows qui sont compatibles avec les stratégies de groupe ; tandis que les GPP peuvent l’être pour toutes les caractéristiques des systèmes d’exploitation et des applications Microsoft Windows ; cela, tant que l’extension de préférence appropriée se charge.

Pour terminer, parlons d’un cas concret lors d’un récent exercice de hardening (fin 2018) autour de Windows 10 mené par mes soins.
Le retour arrière après avoir chiffré toutes les transactions réseaux clients/serveur ne pouvait se faire qu’en forgeant un script PowerShell pour tatouer les registres Windows. L’idée était de repositionné les paramètres initiaux.
D’une certaine façon, le redémarrage des postes en Windows 10 et la désactivation de la GPO n’ont pas suffi pour retrouver les paramètres initiaux.