Aller au contenu

Configuration Windows Core

Bannière CUB


Informations

  • Auteur : Louis MEDO
  • Date : 09/09/2026
  • Domaine : Administration Windows

2. Contexte

Ce document détaille la procédure de configuration post-déploiement d'un serveur Windows Core 2025 dans un environnement virtualisé. La configuration inclut l'installation des pilotes VirtIO (QEMU), le paramétrage réseau statique, la jonction DNS, ainsi que le durcissement du système (Hardening) selon les recommandations de l'ANSSI. Ces étapes garantissent que le serveur s'intègre correctement à l'infrastructure, communique sur le réseau de manière sécurisée, et prévient les vulnérabilités de configuration par défaut.

3. Préparation et Installation des Pilotes

3.1. Vérification de la configuration IP initiale. Constat de l'absence de configuration réseau due au manque de pilotes.

Configuration IP de Windows

3.2. Identifier le volume des pilotes. Recherche du lecteur contenant les outils invités (Guest Tools).

Get-Volume
  • Get-Volume : Commande sans argument listant les volumes de stockage disponibles (lettres de lecteur).

3.3. Accéder au volume et lister son contenu. Navigation dans le lecteur D.

ls D:
  • D: : Argument spécifiant la lettre du lecteur à cibler pour lister les fichiers.

3.4. Lancer l'installation des outils QEMU. Installation des pilotes VirtIO en 64 bits.

Start-Process -FilePath "D:\virtio-win-guest-tools.exe"
  • -FilePath : Spécifie le chemin d'accès absolu vers l'exécutable à lancer.

Capture d'écran vitrio win

3.5. Configurer le démarrage automatique de QEMU Guest Agent.

Set-Service -Name "QEMU-GA" -StartupType Automatic
  • -Name : Définit le nom système du service ciblé.
  • -StartupType : Définit le mode de démarrage du service (ici, Automatic pour un lancement au boot).

3.6. Démarrer le service QEMU-GA.

Start-Service QEMU-GA
  • QEMU-GA : Paramètre positionnel désignant le nom du service à démarrer.

3.7. Vérifier l'état du service. S'assurer que le statut est bien Running.

Get-Service -Name "QEMU-GA"
  • -Name : Spécifie le nom du service dont on souhaite récupérer l'état.

4. Configuration Réseau IP et DNS

4.1. Vérification de la détection de la carte réseau. Validation de l'installation des pilotes VirtIO.

Get-NetAdapter
  • Get-NetAdapter : Commande sans argument affichant les interfaces réseau physiques ou virtuelles reconnues par le système.

4.2. Configuration de l'adresse IP statique. Attribution de l'adressage au serveur.

New-NetIpAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.4.1" -PrefixLength 25 -DefaultGateway "192.168.4.126"
  • -InterfaceAlias : Cible l'interface réseau par son nom (ex: "Ethernet").
  • -IPAddress : Définit l'adresse IPv4 statique assignée à l'interface.
  • -PrefixLength : Définit le masque de sous-réseau en notation CIDR (25 = 255.255.255.128).
  • -DefaultGateway : Spécifie l'adresse de la passerelle par défaut.

4.3. Configuration des serveurs DNS. Définition des résolveurs DNS.

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("9.9.9.9", "8.8.8.8", "1.1.1.1")
  • -InterfaceAlias : Identifie la carte réseau sur laquelle appliquer la configuration DNS.
  • -ServerAddresses : Accepte un tableau contenant les adresses IP des serveurs DNS primaire et secondaires.

4.4. Vérification globale de la configuration réseau. Validation des paramètres appliqués.

ipconfig /all
  • /all : Argument ordonnant l'affichage détaillé de l'ensemble des configurations TCP/IP pour chaque carte.

5. Configuration Système

5.1. Renommer le serveur. Changement du nom d'hôte pour correspondre à la nomenclature.

Rename-Computer -NewName "ServeurAD0" -Restart
  • -NewName : Indique le nouveau nom d'hôte de la machine.
  • -Restart : Force le redémarrage immédiat de l'OS pour appliquer le nouveau nom.

6. Sécurisation

6.1. Configuration de la synchronisation temporelle (NTP). Utilisation du pool NTP français.

w32tm /config /manualpeerlist:"pool.ntp.org time.windows.com time.google.com" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync

Voici la mise à jour des explications correspondant à vos commandes :

  • /config : Indique la volonté de modifier la configuration du service de temps Windows.
  • /manualpeerlist: : Définit la liste des serveurs NTP externes à utiliser (séparés par des espaces).
  • /syncfromflags:manual : Oblige le système à utiliser uniquement la liste des serveurs définie manuellement, ignorant les autres sources comme le domaine ou le matériel.
  • /reliable:yes : Marque cet ordinateur comme une source de temps fiable (utile si cette machine doit synchroniser d'autres appareils sur le réseau).
  • /update : Applique immédiatement les nouveaux paramètres à l'instance en cours d'exécution du service.
  • net stop w32time et net start w32time : Commands natives pour arrêter puis démarrer le service de temps Windows, assurant un redémarrage propre pour prendre en compte les changements.
  • w32tm /resync : Force une synchronisation immédiate avec les serveurs configurés sans attendre le prochain cycle automatique.

6.2. Vérification de l'activation de l'UAC. L'UAC (User Account Control) doit être activé (valeur à 1).

(Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA
  • Get-ItemProperty : Lit les propriétés de la clé de registre pointant sur la configuration de l'UAC.
  • .EnableLUA : Isole la valeur exacte de la stratégie LUA (1 = Activé, 0 = Désactivé).

6.3. Vérification de l'activation du pare-feu. S'assurer que les trois profils Defender sont actifs.

Get-NetFirewallProfile | Select-Object Name, Enabled
  • | (Pipe) : Transmet la sortie de la première commande en entrée de la seconde.
  • Select-Object : Filtre les résultats.
  • Name, Enabled : Propriétés sélectionnées pour l'affichage (Nom du profil et son état).

6.4. Installation du module de gestion des mises à jour.

Install-Module PSWindowsUpdate
  • PSWindowsUpdate : Nom explicite du module PowerShell à télécharger depuis la PSGallery.

6.5. Recherche des mises à jour Windows.

Get-WindowsUpdate
  • Get-WindowsUpdate : Commande interrogeant l'API de Windows Update pour lister les correctifs manquants.

6.6. Installation des mises à jour système. Application des correctifs de sécurité.

Install-WindowsUpdate -AcceptAll -AutoReboot
  • -AcceptAll : Accepte automatiquement tous les contrats de licence (EULA) des correctifs.
  • -AutoReboot : Autorise le serveur à redémarrer de lui-même si une mise à jour l'exige.

6.7. Lister les comptes locaux et leurs SID. Repérage du compte Administrateur par défaut (SID finissant par 500).

Get-LocalUser | Select-Object Name, SID
  • Name, SID : Affiche uniquement les colonnes du nom d'utilisateur et de son identifiant de sécurité unique (SID).

6.8. Renommer le compte Administrateur intégré. Obfuscation du compte à privilèges (recommandation ANSSI).

Rename-LocalUser -Name "Administrateur" -NewName "ADM-SRV-00"
  • -Name : Cible le nom actuel du compte local.
  • -NewName : Définit le nouveau nom du compte utilisateur.

6.9. Modification du mot de passe Administrateur. Application d'un mot de passe robuste stocké dans un gestionnaire (Bitwarden).

Set-LocalUser -Name "ADM-SRV-00" -Password (ConvertTo-SecureString "MotDePasseBitwardenIci" -AsPlainText -Force)
  • -Name : Cible l'utilisateur local dont on souhaite changer le mot de passe.
  • -Password : Paramètre attendant un objet de type SecureString en entrée.
  • -AsPlainText : Indique à ConvertTo-SecureString que la chaîne fournie est en texte clair.
  • -Force : Oblige PowerShell à convertir la chaîne en clair vers un format sécurisé malgré l'avertissement de sécurité standard.