Estamos tentando desabilitar o SSL V3 em vários servidores Windows; como parte disso, os registros estão sendo atualizados remotamente via script. O problema é que muitas reinicializações são necessárias após a alteração do registro. Existe uma maneira de contornar isso, o serviço pode ser reiniciado no servidor para não aceitar mais o SSL V3 após a alteração do registro?
Editar: um pouco mais de esclarecimento, trata-se da desativação do "servidor SSL V3"; em servidores Windows 2012 R2.
Responder1
Sim... provavelmente... se você estiver falando sobre aplicativos que chamam schannel.dll.
Você mencionou "Servidores" e "SSlv3", que é um protocolo. As alterações nesta chave de registro requerem uma reinicialização.
Leia este artigo da Microsoft:https://support.microsoft.com/en-us/kb/245030
Essa é basicamente a Bíblia deste tópico.
Observe que o artigo diz "As alterações na chave CIPHERS ou na chave HASHES entram em vigor imediatamente, sem a reinicialização do sistema."
No entanto, você está alterando a chave PROTOCOLOS. Então, reinicie.
EDITAR:Ah, esqueci de mencionar a parte mais importante: alterações nessa chave de registro afetam apenas os aplicativos que chamam a DLL do Schannel. (Como IIS, RDP, SQL Server, etc.) Eles NÃO TÊM EFEITO em aplicativos que usam uma biblioteca de terceiros, como OpenSSL. Nesses aplicativos, é impossível sabermos se será necessário reiniciar ou não porque depende do aplicativo.
Responder2
Você pode reiniciar o serviço HTTP usando net stop http
e net start http
. Obviamente, isso afetará apenas os aplicativos que o utilizam (como o IIS).
Você também precisará reiniciar quaisquer serviços dependendo do serviço HTTP e fechar qualquer outro processo usando \Device\Http\*
(caso contrário, o serviço não irá parar).
Aqui está um script do PowerShell para fazer tudo isso. (Ele usaidentificador.exedehttps://live.sysinternals.com/e não considera vários níveis de serviços dependentes.)
$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
(Testei isso apenas no Windows 7.)