Jak wymusić protokół SMB2 w sambie?


13

Ze względów bezpieczeństwa chciałbym wyłączyć protokół SMB1 w samba. Czy to możliwe? Używam Ubuntu 14.04 LTS.

Odpowiedzi:


9

Moje testy z Nessusem wykazały, że SMBv1 jest wyłączony tylko podczas ustawiania

min protocol = SMB2

w [globalnej] sekcji smb.conf. Core, LANMAN2 i NT1 były nadal oznaczone jako podatne na atak.


1
Dzięki, pomogłem. Uwaga dla innych: plik konfiguracyjny smb.confznajduje się /etc/samba/na Ubuntu 12.
ConvexMartian

4
Dla przyszłych czytelników: Działa to na serwerach, ponieważ min protocol„jest synonimem server min protocol” ( samba.org/samba/docs/man/manpages-3/… ). Istnieje również client min protocolopcja, która pomaga klientom uniknąć SMB1, jeśli serwery nadal go obsługują.
Jan D

1
Nie zapomnij zrestartować usługi później: 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

Wystąpił błąd Ignorując niepoprawną wartość „SMB2” dla parametru „protokół min”. Używam Samby 3.4.9
josircg

1
@josircg SMB2 został po raz pierwszy obsługiwany w wersji 3.6.0
kbulgrien

5

Musiałem to dodać, aby działało na moim starym 12-serwerze Ubuntu; z jedną z kombinacji min / maks SMBv1 jest włączony, ale w obu przypadkach działa dobrze.

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

1
To działało z oknami „CentOS 6” już nie występuje. „Nie można połączyć się z udziałem plików, ponieważ nie jest bezpieczny.”
Neil

Działa to również podczas próby zamontowania z OSX High Sierra. Samo użycie protokołu min nie pozwoliłoby mi się połączyć.
user545424

2

Chociaż nie jestem pewien, gdzie mieści się SMB1 (domyślam się, że CORE), oto kolejność protokołów z „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

Myślę, że udało mi się wyłączyć protokół SMB1 za pomocą tych dwóch wierszy w [global]sekcji:

min protocol = LANMAN2
max protocol = SMB3

Nadal nie jestem całkowicie pewien kolejności protokołów w Sambie, ale jestem całkiem pewien, że LANMAN2to nastąpi SMB1.


Jak zauważa Christian M., nie jest to poprawna odpowiedź.
Simen

Zgoda. Lepiej więc, jeśli ponownie sprawdzę konfigurację samby ...
Avio

1

Myślę, że to, czego szukasz w pliku smb.conf, to:

### 
minimalny protokół serwera = SMB2_10
minimalny protokół klienta = SMB2
maksymalny protokół klienta = SMB3
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.