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

13

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

Avio
источник

Ответы:

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
P1ersson
источник
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
источник
Как указывает Кристиан М., это не правильный ответ.
Симен
Согласовано. Так что лучше, если я перепроверю свою конфигурацию самбы ...
Avio
1

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

### 
минимальный протокол сервера = SMB2_10
минимальный протокол клиента = SMB2
максимальный протокол клиента = SMB3
Bad Bad Pants
источник