J'espère que c'est le bon forum; J'ai d'abord posté ceci sur le superutilisateur de Stack et ai immédiatement obtenu des downvotes sans explication. Ensuite, j'ai essayé le site d'ingénierie réseau de Stack mais aucun de mes tags n'existait là ... alors maintenant j'essaye ici. Je serai heureux de passer au bon forum quand je le saurai.Désactiver TLS 1.0 sur Win2008 R2 rompt nos sites Web IIS
Nous exécutons Windows Server 2008 R2. TLS 1.0 n'a pas été conforme à la norme PCI depuis un certain temps, et le désactiver via le registre Windows est facile. Dans le passé, cependant, la désactivation de TLS 1.0 nous a causé 2 problèmes:
- Il est impossible de se connecter au serveur via Remote Desktop.
- Nos sites Internet IIS 6.1 deviennent indisponibles.
Le problème n ° 1 a été corrigé avec le correctif MS KB3080079, mais nos sites Web sont toujours déconnectés dès que TLS 1.0 est désactivé. Que dois-je faire pour que IIS soit toujours satisfait, et les sites en ligne, lors de la désactivation de TLS 1.0?
Voici le message d'erreur qui se produit uniquement lorsque TLS 1.0 est désactivé dans le Registre et après redémarrage du serveur:
Server Error in '/' Application.
The system cannot find the file specified
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ComponentModel.Win32Exception: The system cannot find the file specified
Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace: [Win32Exception (0x80004005): The system cannot find the file specified]
[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +6749670
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +815
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +6775368
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +219
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +6777754
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +6778255
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) +878
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +1162
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +72
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +6781425
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +103
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +2105
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +116
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +1089
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +6785863
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +233
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +278
System.Data.SqlClient.SqlConnection.Open() +239
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +292
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +487
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +296
FitTrack.Objects.Helper.Utilities.GetDataTableForQuery(String sql, Hashtable paramList, Boolean isStoredProc) +1002
FitTrack.Objects.Helper.Utilities.GetDataTableForQuery(String sql, Hashtable paramList) +63
FitTrack.Objects.Base.FitTrackPage.GetFitTrackPage(String pageName) +197
FitTrack.Objects.Base.FitTrackBase.Authenticate(Boolean redirect, Boolean isloginpage, Boolean checkreg, Boolean isPayrollReport) +659
FitTrack.Default.Page_PreInit(Object sender, EventArgs e) +68
System.Web.UI.Page.PerformPreInit() +49
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1844
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34280
Note: TLS 1.1 et 1.2 ont été activées manuellement dans le Registre.
Comment vous avez désactivé TLS 1.0 exactement et activé TLS 1.1/1.2 (je veux dire les entrées de registre)? Essayez ** d'activer explicitement TLS 1.1/1.2 ** comme décrit [ici] (https://support.quovadisglobal.com/kb/a433/how-to-enable-tls-1_2-on-windows-server-2008 -r2.aspx). Sur quel serveur/poste de travail utilisez-vous IIS 6.1? – Oleg
J'avais déjà fait tout ça auparavant (Windows Server 2008 R2), mais peut-être que je me suis trompé. J'ai également utilisé l'outil IISCrypto. Je vais essayer à nouveau, mais y a-t-il quelque chose que je dois faire avec IIS 6 pour que mes sites ne se plantent pas après avoir fait ce changement? Cela devrait-il fonctionner automatiquement? Et devrais-je désactiver à la fois TLS 1.0 et 1.1? – HerrimanCoder
Vous écrivez à propos de IIS 6 ou IIS 6.1 sans afficher d'informations sur le système d'exploitation (avec le Service Pack) que vous utilisez. ** Sur quel serveur/stations de travail utilisez-vous IIS 6.1/6.0? ** Si vous voulez résoudre le problème, n'utilisez aucun outil (comme IISCrypto) comme boîte noire et faites toutes les modifications manuellement. Quelles modifications avez-vous apportées dans le registre (avez-vous défini des valeurs 'DisabledByDefault' et' Enabled' dans la sous-clé 'Client' ou' Server' de la clé 'TLS 1.1' ou' TLS 1.0' de 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols')? – Oleg