Erreur RDP « No Response From Server » sur Windows Server 2022 : cause SecurEnvoy et résolution pas à pas

Sur Windows Server 2022, l’erreur RDP « No Response From Server » peut survenir juste après l’écran de connexion. Voici une analyse terrain et une méthode éprouvée pour diagnostiquer et corriger, avec un cas réel lié à un agent SecurEnvoy mal configuré.

Sommaire

Erreur RDP « No Response From Server » sur Windows Server 2022

Vue d’ensemble du problème

Sur un serveur physique Windows Server 2022 — et deux machines virtuelles Hyper‑V hébergées dessus — la connexion Bureau à distance (RDP) atteint l’écran de logon puis échoue au bout d’environ 10–15 secondes, en affichant « No Response From Server ». Les vérifications réseau basiques (Ping, résolutions DNS, accès aux partages SMB) et la prise en main via un autre outil fonctionnent. La désactivation temporaire du pare‑feu Windows n’a pas d’effet. Le paramètre NLA (Network Level Authentication) activé ou désactivé ne change rien. Les autorisations RDP sont conformes.

Dans Observateur d’événements > Applications and Services Logs > Microsoft > Windows > TerminalServices‑LocalSessionManager > Operational, on retrouve notamment :

  • RDP_SEC: error transitioning from FStatePassthrough ... (0x8007139F)
  • « Network characteristics detection function disabled (Reason Code 2: Server Configuration) »

Le phénomène touche les trois machines on‑premises, alors que des VM similaires en cloud ne présentent pas l’anomalie.

SymptômeConstatInterprétation rapide
Écran de logon RDP visible puis échecMessage « No Response From Server » après ~10–15 sTransport OK, échec probable lors de l’authentification interactive
Réseau de base OKPing/SMB/outil tiers fonctionnentLa pile TCP/TLS est saine ; problème au-dessus (CredSSP/CP)
NLA on/off sans effetLe comportement reste identiqueSuspicion d’un module qui intercepte quelle que soit la config NLA
Cloud VS on‑premisesSeuls les serveurs on‑premises sont touchésDifférence locale : agent, pilote, GPO ou sécurité spécifique

Réponse et solution validées

Cause racine identifiée : présence d’un Windows Logon Agent SecurEnvoy (fournisseur MFA/2FA) installé sur les serveurs on‑premises mais jamais configuré correctement. Ce Credential Provider intercepte l’authentification RDP ; faute de configuration valide, il bloque la phase de logon et conduit à l’échec « No Response From Server » visible côté client.

Action corrective : désinstallation de l’agent SecurEnvoy puis redémarrage du service RDP (TermService) : la connexion RDP redevient immédiatement fonctionnelle.


Comprendre où ça casse : déroulé d’une session RDP

PhaseCe qui se passeSymptômes en cas d’échecIndices utiles
TransportNégociation TCP 3389, TLS, CredSSPConnexion impossible avant l’écran de logonFirewall/ACL, certificats, versions TLS
AuthentificationNLA/CredSSP + Credential Providers (CP)Écran de logon visible, puis bascule en erreurModules MFA/SSO, événements LSM/RDP‑CoreTS
Ouverture de sessionChargement du profil, shell, GPO utilisateurÉcran « Welcome »/« Applying » interminableEvent logs User Profile Service, GPSVC

Dans le cas étudié, tout indique un blocage à l’étape Authentification, précisément lors de l’intervention d’un Credential Provider tiers (SecurEnvoy) qui se greffe à la chaîne de logon pour appliquer le MFA.

Étapes de diagnostic utiles

Vérifier la présence d’agents de logon ou MFA tiers

Les produits comme SecurEnvoy, Duo, Okta, etc. installent des Credential Providers et/ou des Credential Provider Filters. Ils s’insèrent avant la remise du jeton de session et sont une source fréquente d’échec après l’écran de logon.

# Lister les Credential Providers installés
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers' |
  Select-Object PSChildName
# Rechercher des produits susceptibles d'intercepter le logon
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' |
  Where-Object { $_.DisplayName -match 'SecurEnvoy|Duo|Okta|Auth|MFA|Identity' } |
  Select-Object DisplayName, DisplayVersion

Corréler les symptômes

  • Échec après logon visible : la session graphique s’affiche, signe que le transport RDP est OK ; l’échec survient pendant la remise des informations d’identification.
  • Événements LSM/RDP‑CoreTS : les messages du type RDP_SEC ... (0x8007139F) et notices « Network characteristics detection function disabled » appuient la piste d’un composant de sécurité qui refuse l’état courant.
  • Uniquement on‑premises : la différence d’inventaire logiciel oriente vers un agent local (ici, SecurEnvoy) absent sur les VM cloud.

Isoler rapidement

  1. Ouvrir une session console (iDRAC/iLO, console Hyper‑V/VMware) ou via l’outil de contrôle à distance qui fonctionne.
  2. Désinstaller ou désactiver temporairement l’agent de logon tiers identifié.
  3. Redémarrer le service RDP :
    Restart-Service TermService -Force
  4. Re‑tester RDP avec NLA activé (plus sûr). Ne désactiver NLA que pour un test ciblé et bref.

Si l’agent doit être conservé

  • Mettre à jour vers une version compatible Server 2022.
  • Effectuer la configuration complète (URL/serveurs SecurEnvoy, certificats, méthode OTP, groupes ciblés).
  • Prévoir un compte d’administration de secours exclu du MFA durant les tests.
  • Vérifier la synchronisation horaire (serveur ↔ DC ↔ serveur SecurEnvoy) et la connectivité vers l’infrastructure MFA.

Procédure de dépannage détaillée

Accès console et filet de sécurité

  • Confirmer un accès hors RDP (console physique, BMC, hyperviseur). Ne jamais modifier la chaîne d’authentification sans voie de retour.
  • Créer/valider un compte local « break‑glass » membre d’Administrateurs, protégé et journalisé.

Inventorier ce qui peut intercepter l’authentification

Au‑delà des agents MFA, pensez aux suites EDR/AV avec modules d’identités, aux greffons SSO/Kerberos alternatifs, aux solutions PAM/Password‑Vault injectant des contrôles à l’ouverture de session.

# Vérifier les deux registres clés (Providers et Filters)
'Credential Providers','Credential Provider Filters' | ForEach-Object {
  $k = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\$_"
  Write-Host "`n-- $k --"
  Get-ChildItem $k | Select-Object PSChildName
}

Observer les journaux pertinents

JournalÉvénements utilesLecture
TerminalServices‑LocalSessionManager / OperationalTransitions d’état de session, erreurs CP, codes HRESULTBloquage entre logon et remise de jeton = piste CP/MFA
RemoteDesktopServices‑RdpCoreTS / OperationalNégociation protocolaire, détection de latence, TLSTransport OK si l’écran apparaît ; surveiller erreurs RDP_SEC
SécuritéÉvénements d’ouverture/échec de session (4624/4625), Kerberos/NTLMÉchec sans 4625 côté serveur peut pointer un blocage avant validation
SystèmeService TermService, dépendances, erreurs de démarrageConfirmer l’état stable du service RDP
# Extraire rapidement les 20 derniers événements RDP-CoreTS
wevtutil qe Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational /c:20 /rd:true /f:text

# LSM

wevtutil qe Microsoft-Windows-TerminalServices-LocalSessionManager/Operational /c:20 /rd\:true /f\:text 

Contrôler la configuration RDP de base

# Lire NLA & SecurityLayer
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' |
  Select-Object SecurityLayer, UserAuthentication

# Sanity‑check du service et des sessions

sc.exe query TermService
quser
qwinsta 

Rappel : UserAuthentication = 1 = NLA activé. SecurityLayer (0/1/2) contrôle le mode de sécurité RDP/TLS.

Tester proprement

  • Avec NLA activé, tester avec un compte distinct, puis en /admin (connexion console) depuis mstsc.exe /admin.
  • Essayer la résolution via nom FQDN et via IP pour écarter un souci DNS/certificat côté client.
  • Vérifier qu’aucune stratégie « Deny log on through Remote Desktop Services » ne cible le compte testé.

Isoler l’agent fautif

Si un agent MFA est présent, deux approches :

  1. Désinstaller l’agent par la méthode standard (recommandé) puis redémarrer TermService.
  2. Désactiver temporairement ses composants selon la documentation de l’éditeur (service propre, paramètre de bypass). Éviter les manipulations de GUID dans le registre si vous n’êtes pas certain de l’impact.

Après correction

Restart-Service TermService -Force
mstsc.exe /v:NomDuServeur

La session doit désormais s’ouvrir normalement. Conservez la configuration NLA activée pour la sécurité et revenez à des ACL/pare‑feu stricts si vous les avez assouplis pour tester.


Quand conserver SecurEnvoy ou un autre MFA

  • Mettre à jour l’agent vers une version certifiée pour Windows Server 2022.
  • Renseigner les paramètres obligatoires : URL/ports des serveurs SecurEnvoy, certificats racines/intermédiaires, méthodes OTP autorisées, groupes et comptes ciblés.
  • Tester d’abord en mode audit/utilisateurs pilotes, avec un compte d’admin de secours exclu de la politique.
  • Surveiller l’horloge et le NTPSync ; un décalage de temps casse souvent le flux d’authentification.
  • Valider la connectivité sortante du serveur vers l’infrastructure MFA (proxy, TLS inspection, SNI).

Bonnes pratiques pour éviter la récidive

  • Documenter l’inventaire des Credential Providers par rôle et par environnement (on‑prem/cloud).
  • Automatiser une vérification post‑patch des services critiques (TermService, EDR, agents d’identité).
  • Maintenir un plan de secours : accès console, mots de passe « break‑glass » scellés, procédure de rollback.
  • Mettre en place une alerte sur des schémas d’événements RDP inhabituels (ex. pics d’échec après logon).

Comparaison des environnements

EnvironnementAgent MFA installéÉtat RDPConclusion
On‑premises (physique + VM Hyper‑V)SecurEnvoy présent, non configuréÉchec « No Response From Server »Corrélation forte avec l’agent local
Cloud (VM similaires)Pas d’agent SecurEnvoyRDP OKÉlimine un problème d’image/OS générique

Commandes utiles prêtes à l’emploi

# Lister les Credential Providers installés
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers' |
  Select-Object PSChildName
# Rechercher des produits susceptibles d'intercepter le logon
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' |
  Where-Object { $_.DisplayName -match 'SecurEnvoy|Duo|Okta|Auth|MFA|Identity' } |
  Select-Object DisplayName, DisplayVersion
# Après correction, redémarrer le service RDP
Restart-Service TermService -Force
# Vérifier NLA et SecurityLayer
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' |
  Select-Object SecurityLayer, UserAuthentication
# Collecte rapide des événements récents RDP
wevtutil qe Microsoft-Windows-TerminalServices-LocalSessionManager/Operational /c:30 /rd:true /f:text
wevtutil qe Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational /c:30 /rd:true /f:text
# Trace réseau ciblée (à désactiver après)
netsh trace start scenario=rdp capture=yes
# ... reproduire le problème ...
netsh trace stop

Points d’attention sécurité

  • NLA doit rester activé en production. Ne l’abaissez que le temps d’un test très court.
  • Ne laissez pas d’agent MFA partiellement configuré : c’est une source de panne et d’ambiguïté opérationnelle.
  • Conservez des journaux exportés avant et après correction pour alimenter un post‑mortem.

État final

Le problème RDP a été résolu en désinstallant le SecurEnvoy Windows Logon Agent mal configuré sur les serveurs on‑premises. RDP fonctionne à nouveau normalement. Si vous devez conserver SecurEnvoy, procédez à une configuration complète, mettez à jour l’agent et validez le scénario avec accès console et compte de secours avant tout déploiement large.

FAQ rapide

Pourquoi Ping/SMB fonctionnent alors que RDP échoue ?
Parce que l’échec ne se situe pas au niveau du transport réseau ; il apparaît durant l’authentification interactive, typiquement interceptée par un Credential Provider.

Désactiver NLA suffit‑il à corriger ?
Non. Dans ce cas, l’agent tiers intercepte de toute façon le logon, avec ou sans NLA. NLA doit rester activé après résolution.

Peut‑on « désactiver » un Credential Provider par le Registre ?
Techniquement oui selon l’implémentation de l’éditeur, mais le plus sûr reste la désinstallation ou l’option de bypass proposée officiellement. Si vous touchez au Registre, effectuez‑le uniquement depuis une console d’administration avec un plan de retour.


Résumé exécutable en une page

  1. Accéder à la console et s’assurer d’un compte break‑glass.
  2. Inventorier les Credential Providers et produits MFA/SSO.
  3. Identifier SecurEnvoy (présent sur on‑prem, absent sur cloud).
  4. Désinstaller l’agent SecurEnvoy non configuré.
  5. Redémarrer TermService, tester RDP avec NLA activé.
  6. Si l’agent doit rester : mise à jour, configuration complète, comptes exclus de secours, vérifications NTP/connectivité/certificats.
Sommaire