¿Es necesario reiniciar para desactivar SSL V3 en Windows? - Explotación del caniche

¿Es necesario reiniciar para desactivar SSL V3 en Windows? - Explotación del caniche

Estamos intentando deshabilitar SSL V3 en numerosos servidores de Windows; Como parte de esto, los registros se actualizan de forma remota mediante un script. El problema es que se requieren muchos reinicios después del cambio de registro. ¿Hay alguna forma de evitarlo? ¿Se puede reiniciar el servicio en el servidor para que ya no acepte SSL V3 después del cambio de registro?

Editar: Un poco más de aclaración, se trata de desactivar el "servidor SSL V3"; en servidores Windows 2012 R2.

Respuesta1

Sí... probablemente... si estás hablando de aplicaciones que llaman a schannel.dll.

Mencionaste "Servidores" y mencionaste "SSlv3", que es un protocolo. Los cambios en esta clave de registro requieren un reinicio.

Lea este artículo de Microsoft:https://support.microsoft.com/en-us/kb/245030

Esa es básicamente la biblia de este tema.

Observe que el artículo dice "Los cambios en la clave CIPHERS o HASHES entran en vigor inmediatamente, sin reiniciar el sistema".

Sin embargo, está cambiando la clave PROTOCOLOS. Entonces, reinicia.

EDITAR:Oh, olvidé mencionar la parte más importante: los cambios en esta clave de registro solo afectan las aplicaciones que llaman a la DLL de Schannel. (Como IIS, RDP, SQL Server, etc.) NO TIENEN NINGÚN EFECTO en aplicaciones que utilizan una biblioteca de terceros como OpenSSL. En esas aplicaciones, es imposible para nosotros saber si será necesario reiniciar o no porque depende de la aplicación.

Respuesta2

Puede reiniciar el servicio HTTP usando net stop httpy net start http. Obviamente, sólo afectará a las aplicaciones que lo utilicen (como IIS).

También deberá reiniciar cualquier servicio dependiendo del servicio HTTP y cerrar cualquier otro proceso usando \Device\Http\*(de lo contrario, el servicio no se detendrá).

Aquí hay un script de PowerShell para hacer todo esto. (Usamanejar.exedehttps://live.sysinternals.com/y no considera múltiples niveles de servicios dependientes).

$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

(Probé esto sólo en Windows 7).

información relacionada