« Signature Authenticode » : différence entre les versions
Aller à la navigation
Aller à la recherche
Installation du rôle ADCS | Gestion des certificats | Authentification par cartes à puce
(Page créée avec « = 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é. = 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-... ») |
|||
| (10 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
{{Rôles_Active_Directory}} | |||
= Présentation = | = Présentation = | ||
La '''signature Authenticode''' permet d'apposer une signature sur un fichier ou un script. | == Avantages du déploiement == | ||
La '''signature Authenticode''' permet d'accroître la sécurité de l'environnement d'exécution du code sous l'environnement '''Microsoft Windows''' : | |||
* Elle permet d'apposer '''une signature''' sur un fichier ou un script. | |||
* Il est possible de '''restreindre''' l'exécution du code uniquement si ce dernier a été signé. | |||
* Il permet de garantir l''''intégrité''' du code et d'éviter toutes manipulations tierces à des fins d''''élévation de privilèges'''. | |||
* Il est possible de '''gérer''' les '''signatures de confiance''' sur un environnement Active Directory. | |||
== Scénario de déploiement == | |||
Le scénario s'appuie sur '''deux approches''' : | |||
* '''Signer''' l'ensemble des scripts qui ont été produit à l'aide d'un '''certificat personnel''' délivré par l''''Autorité de Certification''' privée de l'Etablissement. | |||
* '''Restreindre''' l'exécution des scripts et n'autoriser que les scripts signés avec des certificats déterminés. | |||
= Signer un script = | = Signer un script = | ||
| Ligne 14 : | Ligne 28 : | ||
== Signer plusieurs scripts PowerShell == | == Signer plusieurs scripts PowerShell == | ||
* L'exemple suivant permet de signer l'ensemble des '''scripts PowerShell''' | * L'exemple suivant permet de signer l'ensemble des '''scripts PowerShell''' contenus dans le répertoire '''C:\MES_SCRIPTS''' : | ||
$PathScriptToSign = "C:\MES_SCRIPTS\" | $PathScriptToSign = "C:\MES_SCRIPTS\" | ||
| Ligne 25 : | Ligne 39 : | ||
Set-AuthenticodeSignature "$PathScriptToSign$line" -Certificate $CertCodeSigning | 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 == | |||
{{ Box Information | objet=Dans cet exemple, cette stratégie s'applique uniquement aux contrôleurs de domaine. }} | |||
=== Autoriser uniquement les scripts signés === | |||
# 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 {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ALLSIGNScripts.png]] | |||
# 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'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ALLSIGNScripts_EDIT_ALLOW_SCRIPTS.png]] | |||
# Depuis la boîte de dialogue des '''Propriétés''' : | |||
## Sélectionner l'option '''Activer'''{{Exp|1}}. | |||
## À la section '''Stratégie d'exécution''', depuis le menu de sélection sélectionner la valeur '''Autoriser uniquement les scripts signés'''{{Exp|2}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ALLSIGNScripts_EDIT_ALLOW_SCRIPTS_SETTINGS.png]] | |||
=== Gérer la liste des certificats approuvés === | |||
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''. | |||
# Modifier la GPO '''O_WINDOWS_ALLSIGNScripts''' puis 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. | |||
=== Application de la stratégie === | |||
# Ouvrir un terminal de commande '''PowerShell''' ou '''CMD''' puis exécuter la commande suivante : | |||
{{ Box Console | objet=gpupdate /force }} | |||
[[Category:Microsoft Active Directory]] | |||
[[Category:Rôle ADCS]] | |||
[[Category:Cryptographie]] | |||
Dernière version du 1 septembre 2025 à 23:03
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
Avantages du déploiement
La signature Authenticode permet d'accroître la sécurité de l'environnement d'exécution du code sous l'environnement Microsoft Windows :
- Elle permet d'apposer une signature sur un fichier ou un script.
- Il est possible de restreindre l'exécution du code uniquement si ce dernier a été signé.
- Il permet de garantir l'intégrité du code et d'éviter toutes manipulations tierces à des fins d'élévation de privilèges.
- Il est possible de gérer les signatures de confiance sur un environnement Active Directory.
Scénario de déploiement
Le scénario s'appuie sur deux approches :
- Signer l'ensemble des scripts qui ont été produit à l'aide d'un certificat personnel délivré par l'Autorité de Certification privée de l'Etablissement.
- Restreindre l'exécution des scripts et n'autoriser que les scripts signés avec des certificats déterminés.
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 contenus 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. |
Autoriser uniquement les scripts signés
- 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 :
Gérer la liste des certificats approuvés
- Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
- Modifier la GPO O_WINDOWS_ALLSIGNScripts puis 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.
Application de la stratégie
- Ouvrir un terminal de commande PowerShell ou CMD puis exécuter la commande suivante :
|
|
|
