web-dev-qa-db-fra.com

Un redémarrage requis pour SSL V3 désactivez-vous sur Windows? - Poodle Exploit

Nous essayons de désactiver SSL V3 sur de nombreux serveurs Windows; Dans le cadre de cela, les registres sont mis à jour à distance via un script. Le problème est que beaucoup de redémarrages sont obligatoires de changement post-enregistrement. Y a-t-il un moyen autour de cela, peut-on le service être redémarré sur le serveur pour ne pas accepter le changement de registre SSL V3 POST?

Edit: peu plus de clarification, il s'agit de "SSL V3 Server" Désactiver; Sous Windows 2012 R2 Servers.

7
Darktux

Oui ... probablement ... si vous parlez d'applications qui appellent Schannel.dll.

Vous avez mentionné des "serveurs" et vous avez mentionné "SSLV3" qui est un protocole. Les modifications apportées à cette clé de registre nécessitent un redémarrage.

Lisez cet article Microsoft: https://support.microsoft.com/en-us/kb/2450

C'est fondamentalement la Bible de ce sujet.

Notez que l'article indique "les modifications apportées à la clé de chiffres ou à la touche HASHES prennent effet immédiatement, sans redémarrage du système".

Cependant, vous modifiez la clé de protocoles. Alors, redémarrez.

Edit: Oh, j'ai oublié de mentionner la partie la plus importante - modifications de cette clé de registre, ils n'affectent que les applications qui appellent dans la DLL Schannel. (Tels que IIS, RDP, SQL Server, etc.), ils n'ont aucun effet sur les applications utilisant une bibliothèque tierce, telle que OpenSSL. Dans ces applications, il est impossible pour nous de savoir si cela nécessitera un redémarrage ou non parce que cela dépend de l'application.

11
Ryan Ries

Vous pouvez redémarrer le service HTTP à l'aide de net stop http et net start http. Il n'aura évidemment aucune incidence sur les applications qui l'utilisent (comme IIS).

Vous devrez également redémarrer tous les services en fonction du service HTTP et de fermer tout autre processus à l'aide de \Device\Http\* (sinon le service ne s'arrête pas).

Voici un script PowerShell pour faire tout cela. (Il utilise gérer.exe de - https://live.sysinternals.com/ et ne considère pas plusieurs niveaux de services dépendants.)

$depencies = Get-Service HTTP -DependentServices |? Status -eq Running
Stop-Service $depencies
.\handle.exe -nobanner -a \Device\Http\ |? { $_ -match '\s+pid:\s*(?<pid>\d+)\s+' } |% { $matches.pid } | gu |% { Stop-Process -Id $_ -Confirm }
Restart-Service HTTP
Start-Service $depencies

(J'ai testé cela uniquement sur Windows 7.)

2
Tereza Tomcova