¿Cómo forzar el protocolo SMB2 en samba?


13

Por razones de seguridad, me gustaría deshabilitar el protocolo SMB1 en samba. ¿Es posible? Estoy ejecutando Ubuntu 14.04 LTS.

Respuestas:


9

Mi prueba con Nessus ha indicado que SMBv1 solo está deshabilitado cuando configuro

min protocol = SMB2

en la sección [global] de smb.conf. Core, LANMAN2 y NT1 todavía estaban marcados como vulnerables.


1
Gracias, esto ayudó. Solo una nota para otros: el archivo de configuración smb.confestá en /etc/samba/Ubuntu 12.
ConvexMartian

44
Para futuros lectores: esto funciona para servidores, ya que min protocol"es sinónimo de server min protocol" ( samba.org/samba/docs/man/manpages-3/… ). También existe client min protocol, lo que ayuda a los clientes a evitar SMB1 si los servidores aún lo admiten.
Jan D

1
No olvide reiniciar el servicio después: CentOS 7 / RHEL 7 / Fedora Linux: $ sudo systemctl restart smb.service Debian 8.x / Ubuntu 16.04 LTS Linux: $ sudo systemctl restart smbd.service
Jack Wire

Obtuve el error Ignorando el valor no válido 'SMB2' para el parámetro 'protocolo mínimo'. Estoy usando Samba 3.4.9
josircg

1
@josircg SMB2 se admitió por primera vez en 3.6.0
kbulgrien

5

Tuve que agregar esto para que funcione en mi viejo ubuntu 12-server; con cualquiera de las combinaciones mínimas / máximas, SMBv1 está habilitado pero con ambas funciona bien.

[global]
min protocol = SMB2                                                                                 
max protocol = SMB2                                                                                 
client min protocol = SMB2
client max protocol = SMB2

1
Esto funcionó con Windows "CentOS 6" ya no aparece. "No puede conectarse al recurso compartido de archivos porque no es seguro".
Neil

Esto también funcionó al intentar montar desde OSX High Sierra. Solo usando el protocolo min no me permitiría conectarme.
user545424

2

Si bien no estoy seguro de dónde encaja SMB1 (supongo que es CORE), aquí está el orden de los protocolos de "man smb.conf"

   max protocol (G)
       The value of the parameter (a string) is the highest protocol level that will be supported by the server.
       Possible values are :
       ·   CORE: Earliest version. No concept of user names.
       ·   COREPLUS: Slight improvements on CORE for efficiency.
       ·   LANMAN1: First
            modern version of the protocol. Long filename support.
       ·   LANMAN2: Updates to Lanman1 protocol.
       ·   NT1: Current up to date version of the protocol. Used by Windows NT. Known as CIFS.
       ·   SMB2: Re-implementation of the SMB protocol. Used by Windows Vista and newer.

   min protocol (G)
       The value of the parameter (a string) is the lowest SMB protocol dialect than Samba will support. Please refer to the max
       protocol parameter for a list of valid protocol names and a brief description of each. You may also wish to refer to the C
       source code in source/smbd/negprot.c for a listing of known protocol dialects supported by clients.
       If you are viewing this parameter as a security measure, you should also refer to the lanman auth parameter. Otherwise, you
       should never need to change this parameter.
       Default: min protocol = CORE
       Example: min protocol = NT1

1

Creo que logré deshabilitar el protocolo SMB1 con estas dos líneas en la [global]sección:

min protocol = LANMAN2
max protocol = SMB3

Todavía no estoy completamente seguro sobre el orden de los protocolos en Samba, pero estoy bastante seguro de que LANMAN2es después SMB1.


Como Christian M. señala, esta no es la respuesta correcta.
Simen

Convenido. Así que es mejor si vuelvo a verificar mi configuración de samba ...
Avio

1

Creo que lo que está buscando en el archivo smb.conf es:

### 
protocolo mínimo del servidor = SMB2_10
protocolo min del cliente = SMB2
protocolo max del cliente = SMB3
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.