Как заставить протокол SMB2 в Samba?


13

Из соображений безопасности я бы хотел отключить протокол SMB1 в samba. Является ли это возможным? Я использую Ubuntu 14.04 LTS.

Ответы:


9

Мои тесты с Nessus показали, что SMBv1 отключен только при настройке

min protocol = SMB2

в разделе [global] файла smb.conf. Core, LANMAN2 и NT1 все еще были отмечены как уязвимые.


1
Спасибо, это помогло. Просто примечание для других: файл конфигурации smb.confнаходится в /etc/samba/Ubuntu 12.
ConvexMartian

4
Для будущих читателей: Это работает для серверов, так как min protocol«является синонимом server min protocol» ( samba.org/samba/docs/man/manpages-3/… ). Существует также client min protocol, что помогает клиентам избежать SMB1, если серверы все еще поддерживают его.
Янв

1
Не забудьте перезапустить службу позже: CentOS 7 / RHEL 7 / Fedora Linux: $ sudo systemctl restart smb.service Debian 8.x / Ubuntu 16.04 LTS Linux: $ sudo systemctl перезапустите smbd.service
Jack Wire

Я получил ошибку, игнорируя недопустимое значение «SMB2» для параметра «минимальный протокол». Я использую Samba 3.4.9
josircg

1
@josircg SMB2 впервые был поддержан в 3.6.0
kbulgrien

5

Я должен был добавить это, чтобы он работал на моем старом 12-сервере Ubuntu; с любой из комбинаций min / max SMBv1 включен, но с обоими он работает нормально.

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

1
Это работало с "CentOS 6" окна больше не придумали. «Вы не можете подключиться к общей папке, потому что это небезопасно».
Нил

Это также работало при попытке монтирования из OSX High Sierra. Простое использование протокола min не позволило бы мне подключиться.
user545424

2

Хотя я не уверен, где SMB1 подходит (я предполагаю, что CORE), вот порядок протоколов из "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

Я думаю, что мне удалось отключить протокол SMB1 с помощью этих двух строк в [global]разделе:

min protocol = LANMAN2
max protocol = SMB3

Я все еще не совсем уверен в порядке протоколов в Samba, но я вполне уверен, что LANMAN2это после SMB1.


Как указывает Кристиан М., это не правильный ответ.
Симен

Согласовано. Так что лучше, если я перепроверю свою конфигурацию самбы ...
Avio

1

Я думаю, что вы ищете в файле smb.conf:

### 
минимальный протокол сервера = SMB2_10
минимальный протокол клиента = SMB2
максимальный протокол клиента = SMB3
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.