Signature Authenticode
Installation du rôle ADDS | Sécuriser son environnement Active Directory | Windows LAPS | gMSA
Archives : Contrôleur de domaine Windows Server 2003 | Intégration Client Ubuntu sur AD Windows Server 2003 | Windows Server 2008
Présentation
La signature Authenticode permet d'apposer une signature sur un fichier ou un script. Dans un contexte d'exécution de scripts PowerShell, on peut restreindre l'exécution uniquement à du code signé.
Ce la permet de garantir l'intégrité du code et d'éviter toutes manipulations tierces à des fins d'élévation de privilèges par exemple.
Signer un script
Signer un script PowerShell
- L'exemple suivant permet de signer le script PowerShell nommé MonScriptPowerShell.ps1 :
$cert = Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert Set-AuthenticodeSignature -FilePath MonScriptPowerShell.ps1 -Certificate $cert
Signer plusieurs scripts PowerShell
- L'exemple suivant permet de signer l'ensemble des scripts PowerShell contenu dans le répertoire C:\MES_SCRIPTS :
$PathScriptToSign = "C:\MES_SCRIPTS\"
$CertCodeSigning = Get-ChildItem Cert:\CurrentUser\My\ -CodeSigningCert
$ListScripts = Get-ChildItem -Path $PathScriptToSign -Name -Include *.ps1
foreach ($line in $ListScripts)
{
Set-AuthenticodeSignature "$PathScriptToSign$line" -Certificate $CertCodeSigning
}
Stratégie d'approbation d'exécution du code signé
Présentation
Par défaut, la stratégie Microsoft autorise l'exécution des scripts qu'ils soient signés ou pas. La GPO présentée ici à deux fonctions :
- Forcer les systèmes appliquant la GPO à exécuter uniquement du code signé.
- Forcer les systèmes appliquant la GPO à exécuter du code signé uniquement pour les signatures autorisées.
Mise en place de la stratégie
|
|
Dans cet exemple, cette stratégie s'applique uniquement aux contrôleurs de domaine. |
- Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
- Faire un clic droit sur l'objet Domain Controllers puis Créer un objet GPO dans ce domaine, et le lier ici... .
- Nommer la GPO O_WINDOWS_ALLSIGNScripts puis cliquer sur le bouton OK.

- Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèles d'administration / Composants Windows / Windows PowerShell puis accéder aux propriétés de la stratégie Activer l'exécution des scripts.

- Depuis la boîte de dialogue des Propriétés :
- Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies de clé publique / Editeurs approuvés.
- Depuis la liste des certificats des éditeurs approuvés, faire un clic droit puis Importer... . L'Assistant Importation du certificat s'affiche.
