ANAVEM
Languageen
Windows security dashboard showing TLS certificate management and Schannel event monitoring
Event ID 36887ErrorSchannelWindows

ID d'événement Windows 36887 – Schannel : Erreur de connexion TLS ou échec de validation du certificat

L'ID d'événement 36887 indique des échecs de connexion TLS/SSL ou des erreurs de validation de certificat dans le fournisseur de sécurité Schannel, affectant couramment les connexions HTTPS et les communications sécurisées.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
17 mars 202612 min de lecture 0
Event ID 36887Schannel 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement 36887 représente un événement de sécurité critique généré par le fournisseur de support de sécurité Schannel lorsque des échecs de poignée de main TLS/SSL se produisent. Le fournisseur Schannel est l'implémentation native de Windows des protocoles SSL/TLS et gère toutes les communications de couche de sockets sécurisées pour le système d'exploitation et les applications.

Lorsque cet événement se déclenche, il indique qu'une tentative de connexion sécurisée a été interrompue en raison de divers problèmes liés aux certificats ou aux protocoles. L'événement inclut généralement des informations détaillées telles que le nom du serveur distant, l'empreinte numérique du certificat, les codes d'état d'erreur et l'étape spécifique de la poignée de main TLS où l'échec s'est produit.

Les scénarios courants déclenchant cet événement incluent des certificats SSL expirés sur les serveurs web, des autorités de certification non fiables dans la chaîne, des incompatibilités de nom de certificat, des suites de chiffrement non prises en charge ou des incompatibilités de version de protocole. Dans les environnements de domaine, cet événement apparaît fréquemment lorsque les contrôleurs de domaine ont des problèmes de certificat affectant les connexions LDAPS ou lorsque les serveurs Exchange rencontrent des problèmes de flux de courrier en raison d'échecs de validation de certificat.

L'impact de l'événement s'étend au-delà des simples problèmes de navigation web, affectant des services d'entreprise critiques tels que la réplication Active Directory, le routage de courrier Exchange, les connexions SQL Server et les applications tierces s'appuyant sur l'implémentation native SSL/TLS de Windows. Comprendre et résoudre l'ID d'événement 36887 est essentiel pour maintenir des communications sécurisées dans les environnements Windows.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Certificats SSL/TLS expirés ou invalides sur les serveurs cibles
  • Échecs de validation de la chaîne de certificats en raison de certificats intermédiaires manquants
  • Autorités de certification racine non approuvées absentes du magasin de certificats Windows
  • Nom de sujet du certificat ou SAN ne correspondant pas au nom d'hôte demandé
  • Versions de protocole TLS incompatibles entre le client et le serveur
  • Échecs de négociation de suite de chiffrement en raison de restrictions de politique de sécurité
  • Certificats révoqués détectés lors de la vérification OCSP ou CRL
  • Certificats auto-signés sans configuration de confiance appropriée
  • Problèmes de connectivité réseau empêchant la validation des certificats
  • Restrictions de stratégie de groupe bloquant des versions TLS ou suites de chiffrement spécifiques
Méthodes de résolution

Étapes de dépannage

01

Vérifiez le Visualiseur d'événements pour des informations d'erreur détaillées

Commencez par examiner les détails complets de l'événement pour identifier la raison spécifique de l'échec et le serveur cible.

  1. Ouvrez Observateur d'événementsJournaux WindowsSystème
  2. Filtrez pour l'ID d'événement 36887 en utilisant l'option de filtre
  3. Double-cliquez sur l'événement le plus récent pour voir les détails complets
  4. Notez le Serveur distant, l'Empreinte numérique du certificat, et le Code d'erreur
  5. Utilisez PowerShell pour obtenir des informations détaillées sur l'événement :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=36887} -MaxEvents 5 | Format-List TimeCreated, Id, LevelDisplayName, Message

Enregistrez les détails spécifiques de l'erreur pour une enquête plus approfondie. Le code d'erreur vous guidera vers la méthode de résolution appropriée.

02

Vérifier la validité et la chaîne du certificat

Vérifiez le statut du certificat du serveur cible et la chaîne de validation pour identifier les problèmes liés aux certificats.

  1. Testez le certificat en utilisant PowerShell :
# Remplacez par votre serveur cible
$serverName = "your-server.domain.com"
$port = 443

# Test de la connexion TLS
$tcpClient = New-Object System.Net.Sockets.TcpClient
$tcpClient.Connect($serverName, $port)
$sslStream = New-Object System.Net.Security.SslStream($tcpClient.GetStream())
$sslStream.AuthenticateAsClient($serverName)
$certificate = $sslStream.RemoteCertificate
Write-Output "Sujet du certificat : $($certificate.Subject)"
Write-Output "Valide à partir de : $($certificate.GetEffectiveDateString())"
Write-Output "Valide jusqu'à : $($certificate.GetExpirationDateString())"
$sslStream.Close()
$tcpClient.Close()
  1. Vérifiez le magasin de certificats pour les certificats intermédiaires manquants :
Get-ChildItem -Path Cert:\LocalMachine\CA | Where-Object {$_.Subject -like "*intermediate*"}
  1. Vérifiez les autorités de certification racines :
Get-ChildItem -Path Cert:\LocalMachine\Root | Format-Table Subject, Thumbprint, NotAfter

Si les certificats sont expirés ou manquants, contactez votre autorité de certification ou l'administrateur du serveur pour résoudre les problèmes de certificat.

03

Configurer les paramètres du protocole TLS et de la suite de chiffrement

Ajustez les paramètres TLS de Windows pour garantir la compatibilité avec les exigences de sécurité du serveur cible.

  1. Vérifiez la configuration actuelle du protocole TLS :
# Vérifiez les paramètres du registre TLS
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -ErrorAction SilentlyContinue
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -ErrorAction SilentlyContinue
  1. Activez TLS 1.2 si désactivé (nécessite un redémarrage) :
# Activez le client TLS 1.2
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 1 -Type DWORD
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 0 -Type DWORD
  1. Vérifiez la stratégie de groupe pour les restrictions TLS :
gpresult /h c:\temp\gpresult.html
  1. Testez la connexion après les modifications :
Test-NetConnection -ComputerName "your-server.domain.com" -Port 443 -InformationLevel Detailed
Avertissement : La modification des paramètres TLS nécessite un redémarrage du système et peut affecter d'autres applications. Testez d'abord dans un environnement non productif.
04

Importer les certificats manquants et configurer la confiance

Importez manuellement les certificats requis ou configurez la confiance des certificats pour résoudre les échecs de validation.

  1. Téléchargez la chaîne de certificats du serveur :
# Télécharger le certificat du serveur
$serverName = "your-server.domain.com"
$port = 443
$webRequest = [Net.WebRequest]::Create("https://$serverName")
try {
    $webRequest.GetResponse()
} catch {
    $cert = $_.Exception.InnerException.Certificate
    $cert2 = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($cert)
    Write-Output "Certificat : $($cert2.Subject)"
    Write-Output "Empreinte : $($cert2.Thumbprint)"
    Write-Output "Émetteur : $($cert2.Issuer)"
}
  1. Importez les certificats intermédiaires s'ils manquent :
# Importer le certificat dans le magasin CA intermédiaire
$certPath = "C:\temp\intermediate-cert.cer"
Import-Certificate -FilePath $certPath -CertStoreLocation Cert:\LocalMachine\CA
  1. Ajoutez le certificat racine de confiance si nécessaire :
# Importer dans le magasin de racines de confiance (à utiliser avec précaution)
$rootCertPath = "C:\temp\root-cert.cer"
Import-Certificate -FilePath $rootCertPath -CertStoreLocation Cert:\LocalMachine\Root
  1. Vérifiez l'installation du certificat :
Get-ChildItem -Path Cert:\LocalMachine\CA | Where-Object {$_.Thumbprint -eq "YOUR_CERT_THUMBPRINT"}
Astuce pro : Utilisez certlm.msc pour gérer visuellement les certificats et vérifier la chaîne complète de certificats.
05

Activer la journalisation détaillée de Schannel et le dépannage avancé

Activez la journalisation complète de Schannel pour capturer des informations détaillées sur l'établissement de la connexion TLS pour des problèmes complexes.

  1. Activez la journalisation des événements Schannel :
# Activer la journalisation Schannel (nécessite un redémarrage)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "EventLogging" -Value 7 -Type DWORD
  1. Configurez la journalisation avancée TLS :
# Activer le journal opérationnel TLS
wevtutil set-log "Microsoft-Windows-Schannel/Operational" /enabled:true /retention:false /maxsize:102400000
  1. Redémarrez le système pour appliquer les modifications de journalisation
  2. Reproduisez le problème de connexion
  3. Analysez les journaux détaillés de Schannel :
# Obtenir des événements Schannel détaillés
Get-WinEvent -LogName "Microsoft-Windows-Schannel/Operational" -MaxEvents 50 | Where-Object {$_.Id -in @(36874, 36875, 36887, 36888)} | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
  1. Utilisez la capture réseau pour l'analyse du protocole :
# Démarrer la trace réseau (Windows 10/11/Server 2019+)
netsh trace start capture=yes provider=Microsoft-Windows-Schannel tracefile=c:\temp\schannel.etl
# Reproduire le problème, puis arrêter la trace
netsh trace stop
  1. Désactivez la journalisation après le dépannage :
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "EventLogging" -Value 1 -Type DWORD
wevtutil set-log "Microsoft-Windows-Schannel/Operational" /enabled:false
Avertissement : La journalisation détaillée de Schannel génère un volume de journaux important. Désactivez-la après le dépannage pour éviter les problèmes d'espace disque.

Aperçu

L'ID d'événement 36887 se déclenche lorsque le fournisseur de sécurité Schannel rencontre des échecs de connexion TLS/SSL ou des erreurs de validation de certificat. Cet événement apparaît généralement dans le journal Système lorsque des applications ou services Windows tentent d'établir des connexions sécurisées mais rencontrent des problèmes avec les chaînes de certificats, les incompatibilités de protocole ou les négociations de suites de chiffrement.

Le fournisseur Schannel gère toutes les opérations TLS/SSL pour Windows, y compris les connexions HTTPS, LDAP sécurisé, les connexions chiffrées SQL Server et le flux de courrier Exchange. Lorsque l'ID d'événement 36887 se produit, cela indique qu'une tentative de connexion sécurisée a échoué au niveau du protocole, souvent en raison de problèmes de confiance de certificat, de certificats expirés ou de protocoles de sécurité incompatibles entre le client et le serveur.

Cet événement est particulièrement courant dans les environnements d'entreprise où les autorités de certification, les contrôleurs de domaine ou les services web rencontrent des problèmes liés aux certificats. L'événement fournit des informations de diagnostic cruciales, y compris le serveur cible, les détails du certificat et les codes d'erreur spécifiques qui aident à identifier la cause principale de l'échec de la connexion.

Questions Fréquentes

Que signifie l'ID d'événement 36887 et quand se produit-il ?+
L'ID d'événement 36887 indique que le fournisseur de sécurité Schannel a rencontré un échec de connexion TLS/SSL ou une erreur de validation de certificat. Cela se produit lorsque des applications ou services Windows tentent d'établir des connexions sécurisées mais échouent en raison de problèmes de certificat, d'incompatibilités de protocole ou de problèmes de suite de chiffrement. L'événement fournit des informations détaillées sur l'échec, y compris le serveur cible, les détails du certificat et des codes d'erreur spécifiques pour aider à diagnostiquer la cause principale.
Comment puis-je identifier quelle application ou service cause l'ID d'événement 36887 ?+
Pour identifier l'application source, examinez les détails de l'événement dans le Visualiseur d'événements pour obtenir des informations sur le processus, vérifiez le journal des applications pour les erreurs connexes au même moment, et utilisez Process Monitor (ProcMon) pour suivre l'activité réseau. Vous pouvez également utiliser PowerShell pour corréler les événements : Get-WinEvent -FilterHashtable @{LogName='System'; Id=36887} | Select-Object TimeCreated, Message et recherchez des détails spécifiques à l'application dans le champ de message. Les outils de surveillance réseau peuvent également aider à identifier quels processus tentent les connexions échouées.
L'ID d'événement 36887 peut-il affecter Active Directory et les opérations de domaine ?+
Oui, l'ID d'événement 36887 peut avoir un impact significatif sur les opérations d'Active Directory, en particulier les connexions LDAPS entre contrôleurs de domaine, l'authentification basée sur les certificats et la réplication sécurisée. Lorsque les contrôleurs de domaine rencontrent des problèmes de certificat, vous pouvez rencontrer des échecs d'authentification, des problèmes de réplication et des problèmes d'application de la stratégie de groupe. Le flux de courrier d'Exchange Server peut également être affecté si la validation du certificat échoue. Surveillez le journal du service d'annuaire ainsi que les journaux système et assurez-vous que les certificats des contrôleurs de domaine sont valides et correctement configurés.
Quelle est la différence entre l'ID d'événement 36887 et les autres événements Schannel comme 36888 ?+
L'ID d'événement 36887 indique spécifiquement des échecs de connexion TLS ou des erreurs de validation de certificat, tandis que l'ID d'événement 36888 représente généralement des connexions TLS réussies ou différents types d'opérations Schannel. Les ID d'événement 36874 et 36875 se rapportent aux étapes de la poignée de main TLS et aux négociations de suites de chiffrement. Chaque événement fournit des informations de diagnostic différentes : 36887 se concentre sur les échecs avec des codes d'erreur détaillés, tandis que d'autres peuvent indiquer des opérations réussies ou différents types d'échecs. Examinez toujours le message complet de l'événement pour comprendre le scénario spécifique.
Comment puis-je empêcher l'ID d'événement 36887 de se reproduire dans mon environnement ?+
Empêchez l'ID d'événement récurrent 36887 en mettant en œuvre une gestion proactive des certificats : surveillez les dates d'expiration des certificats à l'aide de scripts PowerShell ou d'outils de gestion des certificats, assurez-vous de l'installation correcte de la chaîne de certificats, y compris les certificats intermédiaires, configurez le renouvellement automatique des certificats lorsque cela est possible, et maintenez à jour les magasins de certificats racine. Établissez des normes de protocole TLS dans votre environnement, auditez régulièrement les magasins de certificats et mettez en place des alertes de surveillance pour les événements liés aux certificats. Envisagez d'utiliser des solutions de gestion des certificats d'entreprise pour les grands environnements afin d'automatiser la gestion du cycle de vie des certificats.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...