Hardening, GPO versus GPP

Une discussion, 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. La GPO est apparue depuis Windows 2000 Active Directory et s’apparente à une BDR (Base de Registre) pour faire simple. La GPP est arrivée avec la sortie de Microsoft Windows Server 2008. 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 :

  • 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 que dans les GPO de domaine.
  • Une GPP ne peut être appliquée qu’une seule fois, lors de son chargement. Les GPO sont toujours mises à jour 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, si elle est par la suite supprimée, les paramètres d’origine de l’objet sont restaurés.

Une GPO remplace donc les paramètres de configuration correspondants dans l’interface d’ordre standard. Quand elle s’applique, les paramètres de registre d’origine sur l’objet sont écrasés et la suppression de la GPO ne restaure pas les paramètres d’origine. Une GPP se contente de modifier les paramètres de configuration standards correspondants ou des paramètres rajoutés. 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, tant que l’extension de préférence appropriée se charge. Dans 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. Le redémarrage de poste en Windows 10 et la désactivation de la GPO n’ont pas suffi pour retrouver les paramètres initiaux.