Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Configuration Manager (branche actuelle)
Il incombe à l’administrateur de valider l’utilisation proposée des paramètres PowerShell et PowerShell dans leur environnement. Voici quelques ressources utiles pour aider à éduquer les administrateurs sur la puissance de PowerShell et les risques potentiels. Ces conseils ont pour but de vous aider à atténuer les surfaces à risque potentielles et à autoriser l’utilisation de scripts sécurisés.
Sécurité des scripts PowerShell
La fonction de scripts du Configuration Manager vous permet d’examiner et d’approuver visuellement les scripts. Un autre administrateur peut demander que son script soit autorisé. Les administrateurs doivent savoir que les scripts PowerShell peuvent avoir des scripts obscurcis. Un script obscurci peut être malveillant et difficile à détecter par une inspection visuelle pendant le processus d’approbation du script. Examinez visuellement les scripts PowerShell et utilisez des outils d’inspection pour détecter les problèmes de script suspects. Ces outils ne peuvent pas toujours déterminer l’intention de l’auteur de PowerShell, de sorte qu’il peut attirer l’attention sur un script suspect. Toutefois, les outils nécessitent que l’administrateur juge s’il s’agit d’une syntaxe de script malveillante ou intentionnelle.
Recommandations
- Familiarisez-vous avec les conseils de sécurité de PowerShell à l’aide des différents liens référencés ci-dessous.
- Signez vos scripts : une autre méthode pour sécuriser les scripts consiste à les faire approuver puis signer avant de les importer pour les utiliser.
- Ne stockez pas de secrets (tels que des mots de passe) dans des scripts PowerShell et apprenez-en davantage sur la façon de gérer les secrets.
Informations générales sur la sécurité de PowerShell
Cette collection de liens a été choisie pour donner aux administrateurs de Configuration Manager un point de départ pour en savoir plus sur les recommandations de sécurité des scripts PowerShell.
Défense contre les attaques PowerShell
Protection contre l’injection de code malveillant
API pour l’interface d’analyse anti-programme malveillant
Sécurité des paramètres PowerShell
La transmission de paramètres est un moyen d’avoir de la flexibilité avec vos scripts et de différer les décisions jusqu’à l’exécution. Cela ouvre également une autre surface de risque.
La liste suivante comprend des recommandations pour empêcher l’injection de paramètres ou de scripts malveillants :
- Autoriser uniquement l’utilisation de paramètres prédéfinis.
- Utilisez la fonctionnalité expression régulière pour valider les paramètres autorisés.
- Exemple : si seule une certaine plage de valeurs est autorisée, utilisez une expression régulière pour vérifier uniquement la case activée pour les caractères ou les valeurs pouvant constituer la plage.
- La validation des paramètres peut aider à empêcher les utilisateurs d’essayer d’utiliser certains caractères qui peuvent être échappés, comme les guillemets. Il peut y avoir plusieurs types de guillemets. Par conséquent, il est souvent plus facile d’utiliser des expressions régulières pour valider les caractères que vous avez déterminés comme étant autorisés que d’essayer de définir toutes les entrées non autorisées.
- Utilisez le module PowerShell « chasseur d’injection » dans la PowerShell Gallery.
- Il peut y avoir de faux positifs. Recherchez donc l’intention lorsque quelque chose est signalé comme suspect pour déterminer s’il s’agit d’un problème réel ou non.
- Microsoft Visual Studio dispose d’un analyseur de script qui peut vous aider à vérifier la syntaxe PowerShell.
La vidéo suivante intitulée : « DEF CON 25 - Lee Holmes - Get $pwnd : Attacking Battle Hardened Windows Server » donne un aperçu des types de problèmes contre lesquels vous pouvez vous protéger (en particulier la section 12:20 à 17:50) :
Recommandations en matière d’environnement
La liste suivante contient des recommandations générales destinées aux administrateurs PowerShell :
- Déployez la dernière version de PowerShell, par exemple la version 5 ou ultérieure, intégrée à Windows 10 ou version ultérieure. Vous pouvez également déployer Windows Management Framework.
- Activez et collectez les journaux PowerShell, y compris éventuellement la journalisation des événements protégée. Intégrez ces journaux dans vos workflows de signatures, de repérage et de réponse aux incidents.
- Mettez en œuvre juste assez d’administration sur les systèmes à forte valeur ajoutée pour éliminer ou réduire l’accès administratif sans contrainte à ces systèmes.
- Déployez des stratégies de contrôle d’application Windows Defender pour permettre aux tâches d’administration préapprouvées d’utiliser toutes les fonctionnalités du langage PowerShell, tout en limitant l’utilisation interactive et non approuvée à un sous-ensemble limité du langage PowerShell.
- Déployez Windows 10 ou version ultérieure pour donner à votre fournisseur d’antivirus un accès complet à tout le contenu (y compris le contenu généré ou désobscurci au moment de l’exécution) traité par les hôtes de script Windows, y compris PowerShell.