Mejoras de seguridad SMB
En este artículo se explican las mejoras de seguridad de SMB en Windows Server y Windows.
El cifrado SMB proporciona el cifrado de un extremo a otro de datos SMB y protege los datos de las ocurrencias de interceptación en redes que no son de confianza. El cifrado SMB se puede implementar con un mínimo de esfuerzo, pero podrían requerirse otros costos para el hardware o software especializados. No tiene ningún requisito para el protocolo de seguridad de Internet (IPsec) o los aceleradores WAN. El cifrado SMB se puede configurar en recurso compartido a recurso compartido, en todo el servidor de archivos, o al asignar unidades.
Nota
El cifrado SMB no cubre la seguridad en reposo, que normalmente se controla mediante el Cifrado de unidad BitLocker.
El cifrado SMB se puede usar en cualquier escenario en el que se deba proteger la información confidencial contra ataques de interceptación. Los posibles escenarios incluyen:
- Para mover los datos confidenciales de cualquier trabajo de información se usa el protocolo SMB. El cifrado SMB ofrece garantía de integridad y privacidad de un extremo a otro entre el servidor de archivos y el cliente. Proporciona esta seguridad, independientemente de las redes que atraviesan, como las conexiones de red de área extensa (WAN) mantenidas por proveedores que no son de Microsoft.
- SMB 3.0 permite que los servidores de archivos proporcionen almacenamiento disponible continuamente para las aplicaciones de servidor, como SQL Server o Hyper-V. Al habilitar el cifrado SMB, tienes la oportunidad de proteger esa información de ataques de "snooping". El cifrado SMB es más fácil de usar que las soluciones de hardware dedicadas que se requieren para la mayoría de las redes de área de almacenamiento (SAN).
Windows Server 2022 y Windows 11 presentan los conjuntos de aplicaciones criptográficos AES-256-GCM y AES-256-CCM para el cifrado SMB 3.1.1. Windows negocia automáticamente este método de cifrado, que es más avanzado, al conectarse a otro equipo que lo admita. Este método también se puede exigir a través de directiva de grupo. Windows sigue admitiendo AES-128-GCM y AES-128-CCM. De forma predeterminada, AES-128-GCM se negocia con SMB 3.1.1, lo que aporta el mejor equilibrio de seguridad y rendimiento.
Windows Server 2022 y Windows 11 SMB directo ahora admiten el cifrado. Anteriormente, al habilitar el cifrado SMB se deshabilitaba la colocación directa de datos, lo que hacía que el rendimiento de RDMA fuera igual de lento que TCP. Ahora los datos se cifran antes de la selección de ubicación, lo que provoca una degradación del rendimiento relativamente menor al agregar la privacidad de paquetes protegidos AES-128 y AES-256. Puede habilitar el cifrado mediante Windows Admin Center, Set-SmbServerConfiguration o la directiva de grupo de protección de UNC.
Además, los clústeres de conmutación por error de Windows Server ahora admiten un control pormenorizado del cifrado de las comunicaciones de almacenamiento dentro del nodo para volúmenes compartidos de clúster (CSV) y la capa de bus de almacenamiento (SBL). Esta compatibilidad significa que, al usar Espacios de almacenamiento directo y SMB directo, puede cifrar las comunicaciones horizontales de derecha a izquierda dentro del propio clúster para obtener una mayor seguridad.
Important
Cualquier protección de cifrado de un extremo a otro tiene un costo operativo de rendimiento importante en comparación con la protección sin cifrado.
Puedes habilitar el cifrado SMB para todo el servidor de archivos o solo para recursos compartidos de archivos específicos. Use uno de los siguientes procedimientos para habilitar el cifrado SMB.
- Descargue e instale Windows Admin Center.
- Conéctese al servidor de archivos.
- Seleccione Archivos y uso compartido de archivos.
- Seleccione la pestaña Recursos compartidos de archivos.
- Para requerir el cifrado en un recurso compartido, seleccione el nombre del recurso compartido y elija Habilitar el cifrado SMB.
- Para requerir cifrado en el servidor, seleccione Configuración del servidor de archivos.
- En Cifrado SMB 3, seleccione Requerido en todos los clientes (se rechazan otros) y, después, elija Guardar.
La protección UNC permite configurar clientes SMB que requieran cifrado independientemente de la configuración de cifrado del servidor. Esta característica ayuda a evitar ataques de interceptación. Para configurar la protección UNC, consulte MS15-011: una vulnerabilidad en la directiva de grupo podría permitir la ejecución remota de código. Para más información sobre las defensas contra ataques de interceptación, consulte Defensa a usuarios de ataques de interceptación mediante la defensa de clientes SMB.
Inicie sesión en el servidor y ejecute PowerShell en el equipo en una sesión con privilegios elevados.
Para habilitar el cifrado SMB en un recurso compartido de archivos individual, ejecute el siguiente comando.
Set-SmbShare –Name <sharename> -EncryptData $true
Para habilitar el cifrado SMB en todo el servidor de archivos, ejecute el siguiente comando.
Set-SmbServerConfiguration –EncryptData $true
Para crear un recurso compartido de archivos de SMB con el cifrado SMB habilitado, ejecute el siguiente comando.
New-SmbShare –Name <sharename> -Path <pathname> –EncryptData $true
Para habilitar el cifrado SMB al asignar una unidad mediante PowerShell, ejecute el siguiente comando.
New-SMBMapping -LocalPath <drive letter> -RemotePath <UNC path> -RequirePrivacy $TRUE
Para habilitar el cifrado SMB al asignar una unidad mediante CMD, ejecute el siguiente comando.
NET USE <drive letter> <UNC path> /REQUIREPRIVACY
De forma predeterminada, cuando se habilita el cifrado SMB para un servidor o recurso compartido de archivos, solo los clientes SMB 3.0, 3.02 y 3.1.1 tienen permitido acceder a los recursos compartidos de los archivos especificados. Este límite refuerza la intención del administrador de proteger los datos de todos los clientes que tienen acceso a los recursos compartidos.
Sin embargo, en algunas circunstancias, un administrador puede permitir el acceso sin cifrar para los clientes que no admiten SMB 3.x. Esta situación podría producirse durante un período de transición cuando se usan versiones mixtas del sistema operativo cliente. Para permitir el acceso sin cifrar a los clientes que no admiten SMB 3.x, escriba el siguiente script en Windows PowerShell:
Set-SmbServerConfiguration –RejectUnencryptedAccess $false
Nota
No se recomienda permitir el acceso sin cifrar cuando se ha implementado el cifrado. Actualice los clientes para que admitan el cifrado en su lugar.
La funcionalidad de integridad de la autenticación previa que se describe en la sección siguiente evita que un ataque de interceptación cambie una conexión de SMB 3.1.1 a SMB 2.x (que usaría acceso sin cifrar). Sin embargo, no impide el cambio a SMB 1.0, lo que también daría lugar a un acceso sin cifrar.
Para garantizar que los clientes SMB 3.1.1 usen siempre el cifrado SMB para acceder a los recursos compartidos cifrados, debes deshabilitar el servidor SMB 1.0. Para obtener instrucciones, conéctese al servidor con Windows Admin Center y abra la extensión Archivos y uso compartido de archivos y luego seleccione la pestaña Recursos compartidos de archivos para que se le solicite la desinstalación. Para más información, consulte el artículo Detección, habilitación y deshabilitación de SMBv1, SMBv2 y SMBv3 en Windows.
Si la opción de configuración –RejectUnencryptedAccess se deja en su valor predeterminado $true, los clientes SMB 3.x compatibles con el cifrado son los únicos que pueden acceder a los recursos compartidos de archivos (también se rechazan los clientes SMB 1.0).
Tenga en cuenta los siguientes problemas al implementar el cifrado SMB:
- El cifrado SMB usa el algoritmo Estándar de cifrado avanzado (AES)-GCM y CCM para cifrar y descifrar los datos. AES-CMAC y AES-GMAC también proporcionan validación de integridad de datos (firma) para los recursos compartidos de archivos cifrados, independientemente de la configuración de firma de SMB. Si desea habilitar la firma SMB sin cifrado, puedes hacerlo ahora. Para obtener más información, vea Configuración de la firma SMB con confianza.
- Si en su organización se usan dispositivos de aceleración de red de área extensa (WAN), pueden aparecer problemas al intentar de acceder al recurso compartido de archivos o al servidor.
- Con una configuración predeterminada (donde no se permite el acceso sin cifrar a los recursos compartidos de archivos cifrados), si los clientes que no admiten SMB 3.x intentan acceder a un recurso compartido de archivos cifrado, el identificador de evento 1003 se registra en el registro de eventos Microsoft-Windows-SmbServer/Operational y el cliente recibe el mensaje de error Acceso denegado.
- El cifrado SMB y la tecnología Sistema de cifrado de archivos (EFS) del sistema de archivos NTFS no están relacionados. Además, el primero no requiere ni depende del uso del segundo.
- El cifrado SMB y la característica de seguridad Cifrado de unidad BitLocker no están relacionados. Además, el primero no requiere ni depende del uso del segundo.
SMB 3.1.1 puede detectar ataques de interceptación que intentan cambiar a una versión del protocolo o degradar las funcionalidades que negocian el cliente y el servidor mediante el uso de la integridad de la autenticación previa. La integridad de la autenticación previa es una característica obligatoria en SMB 3.1.1. Protege contra cualquier manipulación de los mensajes de configuración de la sesión y negociación mediante el uso del hash criptográfico. El hash resultante se usa como entrada para derivar las claves criptográficas de la sesión, incluida su clave de firma. Este proceso permite que el cliente y el servidor confíen mutuamente en las propiedades de conexión y sesión. Cuando el cliente o el servidor detectan este tipo de ataque, la conexión se desconecta y se registra el identificador de evento 1005 en el registro de eventos Microsoft-Windows-SmbServer/Operational.
Dada esta protección y para aprovechar todas las funcionalidades del cifrado SMB, se recomienda deshabilitar el servidor SMB 1.0. Para obtener instrucciones, conéctese al servidor con Windows Admin Center y abra la extensión Archivos y uso compartido de archivos y luego seleccione la pestaña Recursos compartidos de archivos para que se le solicite la desinstalación. Para más información, consulte el artículo Detección, habilitación y deshabilitación de SMBv1, SMBv2 y SMBv3 en Windows.
SMB 3.0 y 3.02 usan un algoritmo de cifrado más reciente para la firma: el código de autenticación de mensajes basado en cifrado (CMAC) con Estándar de cifrado avanzado (AES). SMB 2.0 usaba el algoritmo de cifrado HMAC-SHA256 anterior. AES-CMAC y AES-CCM pueden acelerar significativamente el cifrado de datos en la mayoría de las CPU modernas que son compatibles con las instrucciones AES.
Windows Server 2022 y Windows 11 incorporan AES-128-GMAC para la firma de SMB 3.1.1. Windows negocia automáticamente este método de cifrado, que ofrece un mejor rendimiento, al conectarse a otro equipo que lo admita. Windows seguirá admitiendo AES-128-CMAC. Para obtener más información, vea Configuración de la firma SMB con confianza.
SMB 1.0 no está instalado de forma predeterminada a partir de la versión 1709 de Windows Server y la versión 1709 de Windows 10. Para obtener las instrucciones necesarias para quitar SMB 1.0, conéctese al servidor con Windows Admin Center, abra la extensión Archivos y uso compartido de archivos y luego seleccione la pestaña Recursos compartidos de archivos para que se le solicite la desinstalación. Para más información, consulte el artículo Detección, habilitación y deshabilitación de SMBv1, SMBv2 y SMBv3 en Windows.
Si todavía está instalado, SMB 1.0 se debe deshabilitar de inmediato. Para más información sobre cómo detectar y deshabilitar el uso de SMB 1.0, consulte Detener el uso de SMB 1. Para obtener un centro de activación de software que anteriormente o actualmente requiere SMB 1.0, consulte Activación del producto SMB 1.