about_Logging
Description courte
PowerShell consigne les opérations internes du moteur, des fournisseurs et des applets de commande dans le journal des événements Windows.
Description longue
PowerShell enregistre des détails sur les opérations PowerShell, telles que le démarrage et l’arrêt du moteur et des fournisseurs, et l’exécution de commandes PowerShell.
Remarque
Windows PowerShell 5.1 (et versions antérieures) incluent des applets de commande EventLog pour les journaux des événements Windows. Dans ces versions, pour afficher la liste des applets de commande EventLog :
Get-Command -Noun EventLog
. Pour plus d’informations, consultez la documentation de l’applet de commande et about_EventLogs pour votre version de Windows PowerShell.
Pour plus d’informations sur la journalisation dans PowerShell 7, consultez les articles suivants :
Affichage des entrées du journal des événements PowerShell sur Windows
Les journaux PowerShell peuvent être consultés à l’aide de l’Observateur d’événements Windows. Le journal des événements se trouve dans le groupe Journaux des applications et services et se nomme Microsoft-Windows-PowerShell. Le fournisseur GUID
ETW associé est {A0C1853B-5C40-4B15-8766-3CF1C58F985A}
.
Lorsque la journalisation des blocs de script est activée, PowerShell consigne les événements suivants dans le journal Microsoft-Windows-PowerShell/Operational :
Champ | Valeur |
---|---|
EventId | 4104 / 0x1008 |
Canal | Operational |
Level | Verbose |
Opcode | Create |
Tâche | CommandStart |
Mot clé | Runspace |
Activation de la journalisation des blocs de script
Lorsque vous activez la journalisation des blocs de script, PowerShell enregistre le contenu de tous les blocs de script qu’il traite. Une fois activée, toute nouvelle session PowerShell enregistre ces informations.
Remarque
Pour vous assurer que les données sensibles sont protégées, activez la journalisation des événements protégés lors de l’utilisation de la journalisation des blocs de script à des fins autres que les diagnostics.
La journalisation des blocs de script peut être activée via une stratégie de groupe ou un paramètre de Registre.
Utilisation de la stratégie de groupe
Pour activer la transcription automatique, activez la fonctionnalité Activer la journalisation des blocs de script PowerShell dans la stratégie de groupe via des modèles Administration istratives ->Composants Windows ->Windows PowerShell.
Utilisation du Registre
Exécutez la fonction suivante :
function Enable-PSScriptBlockLogging {
$basePath = @(
'HKLM:\Software\Policies\Microsoft\Windows'
'PowerShell\ScriptBlockLogging'
) -join '\'
if (-not (Test-Path $basePath)) {
$null = New-Item $basePath -Force
}
Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}
Journalisation des événements protégés
L’augmentation du niveau de journalisation sur un système augmente la possibilité que le contenu journalisé puisse contenir des données sensibles. Par exemple, avec la journalisation de script activée, les informations d’identification ou d’autres données sensibles utilisées par un script peuvent être écrites dans le journal des événements. Lorsqu’un ordinateur qui a enregistré des données sensibles est compromis, les journaux peuvent fournir à un attaquant des informations nécessaires pour étendre leur portée.
Pour protéger ces informations, Windows 10 introduit la journalisation des événements protégés. La journalisation des événements protégés permet aux applications participantes de chiffrer les données sensibles écrites dans le journal des événements. Plus tard, vous pouvez déchiffrer et traiter ces journaux sur un collecteur de journaux plus sécurisé et centralisé.
Le contenu du journal des événements est protégé à l’aide de la norme CMS (IETF Cryptographic Message Syntax). CMS utilise le chiffrement à clé publique. Les clés utilisées pour chiffrer le contenu et déchiffrer le contenu sont conservées séparément.
La clé publique peut être partagée largement et n’est pas des données sensibles. Tout contenu chiffré avec cette clé publique ne peut être déchiffré que par la clé privée. Pour plus d’informations sur le chiffrement à clé publique, consultez Wikipédia - Chiffrement à clé publique.
Pour activer une stratégie de journalisation des événements protégée, déployez une clé publique sur toutes les machines qui ont des données de journal des événements à protéger. La clé privée correspondante est utilisée pour post-traiter les journaux des événements à un emplacement plus sécurisé, tel qu’un collecteur de journaux d’événements central ou un agrégateur SIEM . Vous pouvez configurer SIEM dans Azure. Pour plus d’informations, consultez Intégration SIEM générique.
Activation de la journalisation des événements protégés par le biais d’une stratégie de groupe
Pour activer la journalisation des événements protégés, activez la fonctionnalité dans la Enable Protected Event Logging
stratégie de groupe via Administrative Templates -> Windows Components -> Event Logging
. Ce paramètre nécessite un certificat de chiffrement, que vous pouvez fournir dans l’un des plusieurs formulaires :
- Contenu d’un certificat X.509 codé en base 64 (par exemple, tel que proposé par l’option
Export
dans Certificate Manager). - Empreinte numérique d’un certificat qui se trouve dans le magasin de certificats ordinateur local (peut être déployée par l’infrastructure PKI).
- Chemin complet d’un certificat (peut être local ou un partage distant).
- Chemin d’accès à un répertoire contenant un certificat ou des certificats (peut être local ou un partage distant).
- Nom d’objet d’un certificat qui se trouve dans le magasin de certificats ordinateur local (peut être déployé par l’infrastructure PKI).
Le certificat résultant doit avoir Document Encryption
comme utilisation améliorée de la clé (1.3.6.1.4.1.311.80.1
) et Data Encipherment
les utilisations de clé activées Key Encipherment
.
Avertissement
La clé privée ne doit pas être déployée sur les événements de journalisation des machines. Il doit être conservé dans un emplacement sécurisé où vous déchiffrez les messages.
Déchiffrement des messages de journalisation des événements protégés
Le script suivant récupère et déchiffre les événements, en supposant que vous disposez de la clé privée :
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour