
Le serveur NPS (Network Policy Server), anciennement IAS, permet de centraliser l’authentification réseau (WIFI, VPN, 802.1X). Lorsqu’il est déployé sur Windows Server Core, sa sécurité repose entièrement sur la configuration PowerShell. Voici un guide expert pour le déployer, durcir les accès et journaliser les authentifications avec granularité.
1. Installer le rôle NPS en ligne de commande
Install-WindowsFeature NPAS -IncludeManagementTools
Installe le service NPS, sans interface graphique, prêt à être configuré via netsh ou PowerShell.
2. Enregistrer NPS dans Active Directory
netsh ras add registeredserver
Autorise le serveur à lire les attributs d’authentification des utilisateurs depuis l’annuaire.
3. Créer une stratégie RADIUS pour l’accès VPN IPSec
netsh nps add policy name="VPN-Policy" type=connection requesttype=authenticate
netsh nps set condition name="VPN-Policy" condition="NAS-Port-Type=Virtual (VPN)"
netsh nps add settings name="VPN-Policy" authmethods=MS-CHAP-v2
Filtre uniquement les connexions VPN, avec une méthode d’authentification sécurisée.
4. Forcer le TLS 1.2 pour les communications RADIUS
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\...\TLS 1.0\Server" -Name Enabled -Value 0
Set-ItemProperty -Path "HKLM:\...\TLS 1.1\Server" -Name Enabled -Value 0
Set-ItemProperty -Path "HKLM:\...\TLS 1.2\Server" -Name Enabled -Value 1
Désactive TLS 1.0/1.1 pour durcir la sécurité du canal d’authentification.
5. Journaliser les événements de connexion et rejets
auditpol /set /subcategory:"Network Policy Server" /success:enable /failure:enable
Permet de suivre les connexions acceptées ou rejetées via le journal des événements.
6. Exporter les logs vers un serveur central
wecutil qc
# Puis GPO ou script NXLog pour forwarder les journaux
Utile pour détecter des attaques d’authentification ou des tentatives de brute force réseau.
7. Ajouter une alerte en cas de refus excessif
$denies = Get-WinEvent -FilterHashtable @{LogName='Security'; ID=6273} | Group-Object -Property Message
if ($denies.Count -gt 30) {
Send-MailMessage -To "[email protected]" -From "[email protected]" -Subject "Alerte : 30 refus NPS" -SmtpServer smtp.infra.local
}
Déclenche une alerte en cas d’anomalie d’authentification.
Conclusion
Un serveur NPS bien configuré peut constituer une ligne de défense efficace contre les connexions réseau non autorisées. Sur Windows Server Core, la configuration en ligne de commande permet une automatisation complète et un niveau de sécurité granulaire, essentiel pour les infrastructures sensibles ou multi-sites.