Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Windows Server Update Services
A partir de julio de 2020, los usuarios han experimentado problemas de sincronización e importación de WSUS con los puntos de conexión de Windows Update (WU) o Microsoft Update (MU).
En este artículo se describe cómo solucionar algunos problemas comunes. También puede usar algunas de estas técnicas de solución de problemas (como las capturas de red) para muchos otros problemas.
Puntos de conexión
Actualmente, WSUS usa los siguientes puntos de conexión para sincronizar los metadatos:
https://sws.update.microsoft.com
La mayoría de los servidores WSUS deben sincronizarse con este nuevo punto de conexión. A partir de julio de 2020, este punto de conexión solo acepta conexiones de seguridad de la capa de transporte (TLS) 1.2. Y algunos cifrados estaban deshabilitados.
https://sws1.update.microsoft.com
Este punto de conexión antiguo se retirará finalmente. Para obtener más información, vea Fin de sincronización para WSUS 3.0 SP2. Este punto de conexión admite conexiones TLS 1.2, TLS 1.1 y TLS 1.0.
https://fe2.update.microsoft.com
Este punto de conexión anterior se retira como un punto de conexión de sincronización de WSUS y se producirá un error en las conexiones a él. Sin embargo, los clientes de Windows Update configurados para sincronizarse con Microsoft Update pueden seguir usando este punto de conexión.
Cuando experimente problemas de sincronización de WSUS o de importación manual, compruebe primero con qué punto de conexión se está sincronizando:
Abra una ventana del símbolo del sistema de PowerShell con privilegios elevados en el servidor WSUS.
Para buscar el punto de conexión de sincronización actual, ejecute el siguiente script de PowerShell:
$server = Get-WsusServer $config = $server.GetConfiguration() # Check current settings before you change them $config.MUUrl
Windows Server 2012 y versiones posteriores deben configurarse para usar el https://sws.update.microsoft.com
punto de conexión. Si sigue usando https://sws1.update.microsoft.com
o https://fe2.update.microsoft.com
, cambie al nuevo punto de conexión siguiendo los pasos descritos en Sincronización de WSUS se produce un error con SoapException. Si es necesario, solucione problemas de conexión con el https://sws.update.microsoft.com
punto de conexión.
Problema 1: Se produce un error en la importación manual, pero la sincronización se realiza correctamente
Muchos usuarios importan actualizaciones en WSUS manualmente y algunas actualizaciones se deben importar manualmente. Por ejemplo, las actualizaciones en versión preliminar publicadas en la tercera y cuarta semana del mes deben importarse manualmente. A partir de finales de julio de 2020, es posible que no pueda importar manualmente las actualizaciones.
Sin embargo, algunos servidores WSUS todavía pueden importar actualizaciones correctamente. Y la sincronización habitual con WU y MU continúa funcionando.
Este problema se produce en servidores WSUS que ejecutan Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 o Windows Server 2019.
Solución del problema 1
Ejecute el script de PowerShell en Puntos de conexión para determinar qué puntos de conexión usan los servidores WSUS. Es probable que encuentre que los servidores de trabajo se comunican con
https://fe2.update.microsoft.com
ohttps://sws1.update.microsoft.com
y que los servidores con errores se comunican conhttps://sws.update.microsoft.com
.Compruebe si hay errores en el
%Program Files%\Update Services\LogFiles\SoftwareDistribution.log
archivo al importar manualmente las actualizaciones. Busque errores similares al ejemplo siguiente:ProcessWebServiceProxyException found Exception was WebException. Action: Retry. Exception Details: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) -- End of inner exception stack trace --- ... at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async)
El siguiente mensaje del error indica que el servidor WSUS intentó conectarse con WU/MU mediante TLS, pero WU/MU cerró la conexión:
El host remoto forzó el cierre de la conexión existente.
En la captura de pantalla siguiente se muestra una captura de red del intento de conexión.
En la captura de red, frame 874 es el paquete Client Hello que usa TLS 1.0. Frame 877 es la respuesta del servidor. La respuesta incluye las marcas ACK (A) y RST (R). Dado que el https://sws.update.microsoft.com
punto de conexión solo admite conexiones TLS 1.2, deniega la conexión y emite una respuesta de restablecimiento.
Resolución del problema 1
Este problema se produce porque la funcionalidad de importación de WSUS no puede usar TLS 1.2.
Para resolver este problema, utilice uno de los siguientes métodos:
Configure .NET Framework para usar TLS 1.2 mediante claves del Registro.
Para establecer las claves del Registro, consulte Configuración de la criptografía segura. Reinicie el servidor después de establecer las claves del Registro.
Cree o actualice el archivo w3wp.exe.config para habilitar TLS 1.2.
Nota:
Este cambio se aplicará a todas las instancias de w3wp.exe que se crean, independientemente de si son para WSUS. W3wp.exe usa TLS 1.2 si el lado remoto admite esta versión. Si TLS 1.1 y TLS 1.0 están habilitados, W3wp.exe negocia estos protocolos si el sitio de destino no admite TLS 1.2.
Si el
%SystemRoot%\system32\inetsrv\w3wp.exe.config
archivo no existe, siga estos pasos:Cree un nuevo archivo denominado W3wp.exe.config en la
%SystemRoot%\system32\inetsrv
carpeta .Abra el archivo en un editor de texto, como el Bloc de notas.
Agregue las líneas siguientes al archivo y guarde el archivo:
<?xml version="1.0" encoding="utf-8"?> <configuration> <runtime> <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/> </runtime> </configuration>
Si el
%SystemRoot%\system32\inetsrv\w3wp.exe.config
archivo ya existe, siga estos pasos:Abra el archivo en el Bloc de notas u otro editor de texto.
Agregue las líneas siguientes inmediatamente en el <elemento de configuración> y guarde el archivo:
<runtime> <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/> </runtime>
Después de crear o actualizar el archivo W3wp.exe.config, abra una ventana del símbolo del sistema con privilegios elevados y, a continuación, ejecute
iisreset
para reiniciar todos los procesos de trabajo. Pruebe si la importación manual funciona ahora.
Problema 2: Se produce un error en la importación manual después de deshabilitar TLS 1.1 o TLS 1.0
TLS 1.1 y TLS 1.0 se están eliminando gradualmente porque se consideran inseguros. Después de deshabilitar estos protocolos, ya no puede importar actualizaciones. Sin embargo, la sincronización sigue funcionando.
Este problema se produce en servidores WSUS que ejecutan Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 o Windows Server 2019.
Solución del problema 2
WSUS registra qué versiones ssl/TLS están habilitadas cuando se inicia. Para determinar las versiones de SSL/TLS, siga estos pasos:
Reinicie el servicio WSUS.
Ejecute
iisreset
en un símbolo del sistema con privilegios elevados para forzar que WSUS pase por la secuencia de inicio.Abra la consola WSUS y conéctese al servidor.
Abra
%Program Files%\Update Services\LogFiles\SoftwareDistribution.log
, busque las entradas que comienzan en el protocolo SCHANNEL. Debería ver entradas similares al ejemplo siguiente:SCHANNEL Protocol 'TLS 1.0' disabled SCHANNEL Protocol 'TLS 1.1' disabled SCHANNEL Protocols subkey for 'TLS 1.2' not found. Protocol is enabled
Estas entradas muestran que TLS 1.1 y TLS 1.0 están deshabilitados y QUE TLS 1.2 está habilitado.
Si se produce un error en el proceso de importación, SoftwareDistribution.log registra la siguiente entrada de error:
ProcessWebServiceProxyException found Exception was WebException. Action: Retry. Exception Details: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
En la captura de pantalla siguiente se muestra una captura de red del intento de conexión.
En la captura de red, los fotogramas 1518-1520 muestran el protocolo de enlace triple (SYN, SYN ACK, ACK) entre el cliente y el servidor. Frame 1536 es un paquete ACK FIN del servidor WSUS.
WSUS cierra la conexión, ya que todos los protocolos que sabe usar para la importación (SSL3, TLS 1.0, TLS 1.1) están deshabilitados y no pueden usar TLS 1.2.
Resolución del problema 2
Este problema es similar al problema 1, en el que la importación de WSUS no puede usar TLS 1.2. Para corregir este problema, use resolución para el problema 1.
Problema 3: Se produce un error de sincronización en servidores WSUS de Windows Server 2012 y Windows Server 2012 R2 que solo aplican actualizaciones de solo seguridad
El mantenimiento de Windows Server 2012 y Windows Server 2012 R2 contienen las siguientes pistas de actualización:
- Una actualización solo de seguridad, que no es acumulativa. Solo contiene correcciones de seguridad. Por ejemplo, el 9 de junio de 2020, KB4561673 (actualización solo de seguridad).
- Un paquete acumulativo mensual, que es acumulativo. Contiene todas las correcciones de seguridad de la actualización solo de seguridad y también contiene correcciones que no son de seguridad. Por ejemplo, el 9 de junio de 2020, KB4561666 (paquete acumulativo mensual).
WSUS en Windows Server 2012 y Windows Server 2012 R2 no pueden usar TLS 1.2 para la sincronización a menos que se instale uno de los siguientes paquetes acumulativos mensuales o un paquete acumulativo mensual posterior:
- 27 de junio de 2017: KB4022721 (versión preliminar del paquete acumulativo mensual) para Windows Server 2012
- 27 de junio de 2017: KB4022720 (versión preliminar del paquete acumulativo mensual) para Windows Server 2012 R2
El cambio que permite que WSUS use TLS 1.2 es una corrección que no es de seguridad, solo se incluye en los paquetes acumulativos mensuales.
Algunos usuarios optan por instalar solo las actualizaciones de solo seguridad y nunca instalar los paquetes acumulativos mensuales. Por lo tanto, sus servidores WSUS no tienen instalada la actualización que habilita TLS 1.2. Después de cambiar el https://sws.update.microsoft.com
punto de conexión para aceptar solo conexiones TLS 1.2, estos servidores WSUS ya no se pueden sincronizar con el punto de conexión. Este problema también se produce en un servidor WSUS recién instalado windows Server 2012 o Windows Server 2012 R2 WSUS que no haya instalado paquetes acumulativos mensuales.
Solución del problema 3
Si el servidor WSUS tiene instaladas las actualizaciones correctas, WSUS registrará qué versiones ssl/TLS están habilitadas cuando se inicie. Siga estos pasos en el servidor WSUS:
Reinicie el servicio WSUS.
Ejecute
iisreset
desde un símbolo del sistema con privilegios elevados para forzar que WSUS pase por la secuencia de inicio.Abra la consola WSUS y conéctese al servidor.
Abra
%Program Files%\Update Services\LogFiles\SoftwareDistribution.log
, busque entradas que comiencen con el protocolo SCHANNEL. Debería ver entradas similares al ejemplo siguiente:SCHANNEL Protocol 'TLS 1.0' disabled SCHANNEL Protocol 'TLS 1.1' disabled SCHANNEL Protocols subkey for 'TLS 1.2' not found. Protocol is enabled
Si no encuentra estas entradas, significa que la actualización que habilita TLS 1.2 no está instalada.
Cuando se produce un error en la sincronización, SoftwareDistribution.log registra el siguiente mensaje de error:
WebServiceCommunicationHelper.ProcessWebServiceProxyException ProcessWebServiceProxyException found Exception was WebException. Action: Retry. Exception Details: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
En la captura de pantalla siguiente se muestra una captura de red del intento de conexión.
En la captura de red, frame 95 es el paquete Client Hello que usa TLS 1.0. Frame 96 es el paquete RST de https://sws.update.microsoft.com
. Dado que el punto de conexión solo admite conexiones TLS 1.2, deniega la conexión y, a continuación, emite una respuesta de restablecimiento. El servidor WSUS intentará varias veces antes de renunciar. Por lo tanto, esta secuencia se repite.
Resolución del problema 3
Para corregir este problema, instale el paquete acumulativo mensual más reciente para Windows Server 2012 o Windows Server 2012 R2. Aplique también la resolución del problema 1 para evitar el error de importación manual.
Problema 4: Se produce un error de sincronización después de julio de 2020 si WSUS está integrado con Configuration Manager
Muchas instalaciones de WSUS se integran con los puntos de actualización de software (SUP) de Microsoft Endpoint Configuration Manager. Después de julio de 2020, puedes experimentar errores de sincronización si Configuration Manager está configurado para sincronizar controladores surface.
Este problema se produce en servidores WSUS que ejecutan Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 o Windows Server 2019.
Solución del problema 4
Cuando se produce este problema, las entradas similares al ejemplo siguiente se registran en Wsyncmgr.log:
Calling ImportUpdateFromCatalogSite for driver update GUIDs
Generic exception : ImportUpdateFromCatalogSite failed. Arg = 001d4517-c586-4bb1-9e66-ed6ff8e8d34f. Error =The underlying connection was closed: An unexpected error occurred on a receive.
Generic exception : ImportUpdateFromCatalogSite failed. Arg = 0037641d-bb9b-4530-9568-11e413223106. Error =The underlying connection was closed: An unexpected error occurred on a receive.
Además, el %Program Files\Update Services\LogFiles\SoftwareDistribution.log
archivo registra los errores siguientes:
ProcessWebServiceProxyException found Exception was WebException. Action: Retry. Exception Details: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
Estos errores indican que se cerró la conexión. Este problema se produce porque Configuration Manager usa la funcionalidad de importación de WSUS. Por lo tanto, tiene las mismas limitaciones.
Resolución del problema 4
Para corregir este problema, use resolución para el problema 1.
Problema 5: Se produce un error de sincronización después de julio de 2020 debido a cifrados limitados
Puede deshabilitar varios cifrados para proteger las conexiones TLS. A partir de julio de 2020, los servidores WSUS ya no se pueden sincronizar con WU/MU. Además, cuando https://sws.update.microsoft.com
se cambia para aceptar solo conexiones TLS 1.2, se quitan algunos cifrados.
Este problema se produce en servidores WSUS que ejecutan Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 o Windows Server 2019.
Solución del problema 5
El %Program Files\Update Services\LogFiles\SoftwareDistribution.log
archivo registra los siguientes errores al sincronizar:
ProcessWebServiceProxyException found Exception was WebException. Action: Retry. Exception Details: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
Sin embargo, estas entradas no son útiles para determinar si tiene un problema de cifrado.
En esta situación, use una captura de red o compruebe los objetos de directiva de grupo (GPO) aplicados. Para comprobar los GPO aplicados, ejecute el siguiente comando en un símbolo del sistema con privilegios elevados:
gpresult /scope computer /h GPReport.html
Abra GPReport.html en un explorador.
Busque el orden del conjunto de cifrado SSL y el valor conjuntos de cifrado SSL. Normalmente, esta configuración no está configurada. Si está configurado, puede producirse el problema porque no hay ningún cifrado común con WU/MU.
A partir de agosto de 2020, https://sws.update.microsoft.com
admite los siguientes cifrados:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Nota:
Esta lista cambiará con el tiempo porque los cifrados aumentarán gradualmente a medida que mejora la tecnología.
Si se aplica el GPO y no especifica uno de estos cifrados, se produce un error en la comunicación con WU/MU.
En la captura de pantalla siguiente se muestra una captura de red.
En la captura de red, frame 400 es el paquete Client Hello que usa TLS 1.2. En el detalle del marco se muestran los cifrados enviados por el cliente. Frame 404 es el paquete RST de https://sws.update.microsoft.com
. Dado que no hay ningún cifrado común, se produce un error en la sincronización.
Resolución del problema 5
Siga estos pasos para solucionar este problema:
Use la salida de
gpresult
para determinar el GPO que especifica el orden del conjunto de cifrado SSL y, a continuación, quite el GPO. O cámbielo para incluir cifrados admitidos porhttps://sws.update.microsoft.com
.Para Windows Server 2016 y Windows Server 2019, incluya uno de los siguientes cifrados:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Para Windows Server 2012 y 2012 R2, incluya uno de los siguientes cifrados:
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384
Si el GPO no establece los cifrados, busque la siguiente subclave del Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002
Agregue uno de los cifrados necesarios al valor Functions de la clave del Registro.
Reinicie el servidor WSUS.
Para evitar errores de importación manual, aplique también resolución para el problema 1.
Una conexión correcta
Las capturas de pantalla siguientes muestran una conexión correcta cuando un servidor WSUS de Windows Server 2016 sincroniza las actualizaciones.
En la captura de red, frame 191 es el paquete Client Hello que usa TLS 1.2. En el detalle del marco se muestran los cifrados enviados por el cliente. Frame 195 es el paquete Server Hello del punto de conexión. TlsCipherSuite elegido por WU es TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384. El certificado de servidor también se envía en el paquete Server Hello.
La configuración de conexión adicional se produce en fotogramas 196-203. La transferencia de datos por la aplicación (WSUS) y el https://sws.update.microsoft.com
punto de conexión comienzan en el marco 207.
Una nota sobre los servidores proxy
Si usa un servidor proxy, la captura de red tendrá un aspecto diferente. El servidor WSUS se conecta al proxy y puede ver una solicitud CONNECT con el destino https://sws.update.microsoft.com
, https://sws1.update.microsoft.com
o https://fe2.update.microsoft.com
. WSUS emitirá un paquete Hello de cliente con los cifrados que admite. Si la conexión no se realiza correctamente debido a una versión incorrecta de TLS o si no hay ningún cifrado común, es posible que vea o no un paquete RST. Los servidores proxy tienden a devolver un FIN al cliente para indicar el final de la conexión. Pero esto podría no ser cierto para cada servidor proxy. Algunos servidores proxy envían un paquete RST o algo más.
Cuando se usa un proxy, debe conocer la dirección IP de la interfaz interna del servidor proxy, ya que WSUS no se comunica directamente con los puntos de conexión de WU. Si no puede obtener la dirección IP del servidor proxy, busque la captura de red para las solicitudes CONNECT y busque la dirección URL del punto de conexión de Windows Update.