Compartilhar via


Mitigação: protocolos TLS

A partir do .NET Framework 4.6, as classes System.Net.ServicePointManager e System.Net.Security.SslStream têm permissão para usar um dos três protocolos a seguir: Tls 1.0, Tls 1.1 ou Tls 1.2. Não há suporte para o protocolo SSL 3.0 e a criptografia RC4.

Impacto

Essa alteração afeta:

  • Qualquer aplicativo que use ssl para falar com um servidor HTTPS ou um servidor de soquete usando qualquer um dos seguintes tipos: HttpClient, , HttpWebRequest, FtpWebRequeste SmtpClientSslStream.

  • Qualquer aplicativo do lado do servidor que não possa ser atualizado para dar suporte a Tls1.0, Tls1.1 ou Tls 1.2..

Atenuação

A mitigação recomendada é atualizar o aplicativo do lado sever para Tls1.0, Tls1.1 ou Tls 1.2. Se não for viável ou se os aplicativos cliente estiverem desfeitos, a classe AppContext poderá ser usada para recusar esse recurso de duas maneiras:

  • Programaticamente, usando um snippet de código como o seguinte:

    const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";
    const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
    
    Const DisableCachingName As String = "TestSwitch.LocalAppContext.DisableCaching"
    Const DontEnableSchUseStrongCryptoName As String = "Switch.System.Net.DontEnableSchUseStrongCrypto"
    AppContext.SetSwitch(DisableCachingName, True)
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, True)
    

    Como o ServicePointManager objeto é inicializado apenas uma vez, definir essas configurações de compatibilidade deve ser a primeira coisa que o aplicativo faz.

  • Ao adicionar a seguinte linha à seção <runtime> do arquivo app.config:

    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/>  
    

No entanto, observe que não é recomendável recusar o comportamento padrão, pois torna o aplicativo menos seguro.

Consulte também