É necessária uma reinicialização para desativar o SSL V3 no Windows? - Exploração do Poodle

É necessária uma reinicialização para desativar o SSL V3 no Windows? - Exploração do Poodle

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 httpe 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.)

informação relacionada