Протокол Samba min SMB3, отчет nmap SMBv1

Вопрос или проблема

Я использую систему Linux с Ubuntu 18.04.5.
Файл /etc/samba/smb.conf содержит следующие правила:

client min protocol = SMB3

и

smb encrypt = required

Команда nmap -p445 -Pn -vvv --script smb-protocols на этой системе выдает (среди прочего) следующий вывод:

  Результаты скрипта host:
  | smb-protocols:
  | диалекты:
  | NT LM 0.12 (SMBv1) [опасно, но по умолчанию]
  | 2.02
  | 2.10
  | 3.00
  | 3.02
  |_ 3.11

Противоречат ли они друг другу?

В Samba установлено, что минимальный протокол SMB – 3. nmap все равно сообщает об опасном протоколе SMBv1.

Можно ли получить доступ к системе Ubuntu с помощью SMBv1?

Скрипт nmap smb-protocols проверяет, какие диалекты smb присутствуют на сервере Samba сервере.

client min protocol устанавливает минимальный диалект smb, который сервер может использовать для подключения к другому серверу, а не минимальный диалект, который клиент может использовать для подключения к этому серверу.

По умолчанию версия samba, используемая в Ubuntu 18.04, устанавливает минимальное значение сервера на NT1 (smbv1) и максимальное значение на SMBv3.

Если вы хотите ограничить доступ к этому серверу только для SMB3, вам нужно установить минимальный протокол сервера:

server min protocol = SMB3

*Примечание: есть подварианты этого диалекта:

SMB3_00: Windows 8

SMB3_02: Windows 8.1

SMB3_10: ранние версии Windows 10

SMB3_11: Windows 10

По умолчанию SMB3 в smb.conf выбирает вариант SMB3_11.*

Ответ или решение

Вопрос: Samba min protocol SMB3 и результаты nmap по SMBv1

На системе Linux с установленным Ubuntu 18.04.5 у вас настроен Samba с указанием минимального протокола клиента SMB3 в файле /etc/samba/smb.conf:

client min protocol = SMB3
smb encrypt = required

Тем не менее, вывод команды nmap -p445 -Pn -vvv --script smb-protocols показывает, что на вашем сервере все еще доступен протокол SMBv1:

  | smb-protocols:
  | dialects:
  | NT LM 0.12 (SMBv1) [dangerous, but default]
  | 2.02
  | 2.10
  | 3.00
  | 3.02
  |_ 3.11

Анализ ситуации

Понимание настроек клиента и сервера

Важно понимать, что директива client min protocol определяет минимальный протокол, который клиент может использовать для подключения к другим серверам Samba. Это не влияет на минимальный протокол, который сервер использует для взаимодействия с клиентами. На сервере, работающем под контролем Samba, по умолчанию минимальный уровень протокола установлен на NT1 (SMBv1) и максимальный — SMBv3. Это объясняет, почему nmap возвращает информацию о наличии SMBv1.

Чтобы полностью отключить поддержку SMBv1 на вашем сервере Samba, вам необходимо изменить настройку для сервера. Для этого добавьте или измените следующую строку в вашем конфигурационном файле smb.conf:

server min protocol = SMB3

После внесения изменений обязательно перезапустите службу Samba для применения новых настроек:

sudo systemctl restart smbd

Разновидности SMB3

Когда вы устанавливаете минимальный протокол на SMB3, это означает, что сервер будет принимать соединения только с клиентами, поддерживающими версии SMB3 и выше. SMB3 имеет несколько подкатегорий, начиная от SMB3_00 (Windows 8) до SMB3_11 (Windows 10):

  • SMB3_00: Windows 8
  • SMB3_02: Windows 8.1
  • SMB3_10: ранние версии Windows 10
  • SMB3_11: более новые версии Windows 10

По умолчанию при настройке server min protocol = SMB3 будет выбрана самая последняя версия SMB3_11.

Заключение

Чтобы ответить на ваш вопрос, да, действительно, между вашим файлом конфигурации Samba и отчетом nmap существует противоречие. Установка client min protocol = SMB3 сама по себе не защищает ваш сервер от использования менее безопасных протоколов, таких как SMBv1. Необходимо явно указать server min protocol = SMB3, чтобы запретить доступ к серверу с использованием устаревших и небезопасных версий протокола.

Принятие этих мер значительно улучшит безопасность вашей системы, предотвращая использование уязвимых протоколов при взаимодействии с клиентами.

Оцените материал
Добавить комментарий

Капча загружается...