Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows
- Статья
- Чтение занимает 9 мин
Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Windows 8.1 Windows 8
В этой статье описывается, как включить и отключить SMB версии 1 (SMBv1), SMB версии 2 (SMBv2) и SMB версии 3 (SMBv3) в клиентских и серверных компонентах SMB.
Хотя отключение или удаление SMBv1 может вызвать некоторые проблемы совместимости со старыми компьютерами или программным обеспечением, SMBv1 имеет значительные уязвимости системы безопасности, и мы настоятельно рекомендуем вам не использовать его.
Отключение SMBv2 или SMBv3 для устранения неполадок
Мы рекомендуем оставить SMBv2 и SMBv3 включенными, но может оказаться полезным временно отключить один из них для устранения неполадок. Дополнительные сведения см. в статье Определение состояния, включение и отключение протоколов SMB на сервере SMB.
В Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012 отключение SMBv3 позволяет отключить следующие функции:
- Прозрачная отработка отказа — клиенты повторно подключались без прерывания работы с узлами кластера во время обслуживания или отработки отказа
- Scale Out — одновременный доступ к общим данным на всех узлах файлового кластера
- Multichannel — агрегирование пропускной способности сети и отказоустойчивости, если между клиентом и сервером доступно несколько путей.
- SMB Direct — добавляет поддержку сети RDMA для обеспечения высокой производительности с низкой задержкой и низкой загрузкой ЦП.
- Шифрование — обеспечивает сквозное шифрование и защищает от перехвата в ненадежных сетях.
- Аренда каталогов — увеличение времени отклика приложений в филиалах за счет кэширования
- Оптимизация производительности — оптимизация для небольших случайных операций чтения и записи
В Windows 7 и Windows Server 2008 R2 отключение SMBv2 приводит к отключению следующих функций:
- Составное управление запросами — позволяет отправлять несколько запросов SMBv2 в виде одного сетевого запроса.
- Более крупные операции чтения и записи — более эффективное использование более быстрых сетей
- Кэширование свойств папок и файлов — клиенты сохраняют локальные копии папок и файлов.
- Устойчивые дескрипторы — позволяют прозрачно повторно подключаться к серверу при временном отключении.
- Улучшенное подписывание сообщений — HMAC SHA-256 заменяет MD5 в качестве алгоритма хэширования.
- Улучшенная масштабируемость общего доступа к файлам — количество пользователей, общих папок и открытых файлов на сервер значительно увеличилось
- Поддержка символьных ссылок
- Модель аренды клиента oplock — ограничивает передачу данных между клиентом и сервером, повышая производительность в сетях с высокой задержкой и увеличивая масштабируемость сервера SMB.
- Поддержка больших MTU — для полного использования 10 Gigabit Ethernet (GbE)
- Улучшенная энергоэффективность — клиенты с открытыми файлами на сервере могут переходить в спящий режим
Протокол SMBv2 появился в Windows Vista и Windows Server 2008, а протокол SMBv3 появился в Windows 8 и Windows Server 2012. Дополнительные сведения о возможностях SMBv2 и SMBv3 см. в следующих статьях:
- Общие сведения о протоколе SMB
- Новые возможности SMB
Удаление SMBv1 с помощью PowerShell
Ниже приведены инструкции по обнаружению, отключению и включению клиента и сервера SMBv1 с помощью команд PowerShell с повышенными правами.
Примечание
Компьютер перезагрузится после выполнения команд PowerShell, чтобы отключить или включить SMBv1.
Обнаружить:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Отключите:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Включите параметр
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Совет
Вы можете определить состояние SMBv1 без повышения прав, выполнив: Get-SmbServerConfiguration | Format-List EnableSMB1Protocol
.
Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: метод диспетчер сервера
Чтобы удалить SMBv1 из Windows Server, выполните приведенные далее действия.
- На панели мониторинга диспетчер сервера сервера, на котором требуется удалить SMBv1, в разделе Настройка этого локального сервера выберите Добавить роли и компоненты.
- На странице Перед началом работы выберите Запустить мастер удаления ролей и компонентов, а затем на следующей странице нажмите кнопку Далее.
- На странице Выбор целевого сервера в разделе Пул серверов убедитесь, что выбран сервер, с которого требуется удалить компонент, и нажмите кнопку Далее.
- На странице Удаление ролей сервера нажмите кнопку Далее.
- На странице Удаление компонентов снимите флажок для поддержки общего доступа к файлам SMB 1. 0/CIFS и нажмите кнопку Далее.
- На странице Подтверждение выбора удаления убедитесь, что функция указана в списке, а затем нажмите кнопку Удалить.
Windows 8.1, Windows 10 и Windows 11: метод добавления и удаления программ
Чтобы отключить SMBv1 для упомянутых операционных систем, выполните следующие действия.
- Откройте Панель управления, выберите раздел Программы и компоненты.
- В разделе панель управления Главная выберите Включить или выключить компоненты Windows, чтобы открыть поле Компоненты Windows.
- В окне Компоненты Windows прокрутите список вниз, снимите флажок для SMB 1.0/CIFS Поддержка общего доступа к файлам и нажмите кнопку ОК.
- После того как Windows применит изменение, на странице подтверждения выберите Перезапустить сейчас.
Примечание
При включении или отключении SMBv2 в Windows 8 или Windows Server 2012 smBv3 также включается или отключается. Это происходит потому, что эти протоколы используют один и тот же стек.
- Server
- Клиент
Windows 8 и Windows Server 2012 появился новый командлет Set-SMBServerConfiguration Windows PowerShell. Командлет позволяет включить или отключить протоколы SMBv1, SMBv2 и SMBv3 в серверном компоненте.
После выполнения командлета Set-SMBServerConfiguration не нужно перезагружать компьютер.
SMBv1;
Обнаружить:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
Отключите:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Включите параметр
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Дополнительные сведения см. в разделе Хранилище сервера на Майкрософт.
SMB версии 2 или 3
Обнаружить:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Отключите:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Включите параметр
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Для Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008
Чтобы включить или отключить протоколы SMB на сервере SMB под управлением Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, используйте Windows PowerShell или редактор реестра.
Дополнительные методы PowerShell
Примечание
Для этого метода требуется PowerShell 2.0 или более поздней версии.
SMBv1 на сервере SMB
Обнаружить:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Конфигурация по умолчанию = Включено (не создается именованное значение реестра), поэтому значение SMB1 не будет возвращено.
Отключите:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
Включите параметр
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
Примечание После внесения этих изменений компьютер необходимо перезагрузить. Дополнительные сведения см. в разделе Хранилище сервера на Майкрософт.
SMBv2/v3 на сервере SMB
Обнаружить:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Отключите:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
Включите параметр
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
Примечание
После внесения этих изменений компьютер необходимо перезагрузить.
Редактор реестра
Важно!
Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Перед внесением изменений создайте резервную копию реестра для его восстановления в случае возникновения проблем.
Чтобы включить или отключить SMBv1 на сервере SMB, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB1 REG_DWORD: 0 = Disabled REG_DWORD: 1 = Enabled Default: 1 = Enabled (No registry key is created)
Чтобы включить или отключить SMBv2 на сервере SMB, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB2 REG_DWORD: 0 = Disabled REG_DWORD: 1 = Enabled Default: 1 = Enabled (No registry key is created)
Примечание
После внесения этих изменений компьютер необходимо перезагрузить.
Отключение SMBv1 с помощью групповая политика
В этом разделе описывается, как использовать групповая политика для отключения SMBv1. Этот метод можно использовать в разных версиях Windows.
- Server
- Клиент
SMBv1;
Эта процедура настраивает следующий новый элемент в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Запись реестра: SMB1
- REG_DWORD: 0 = отключено
Чтобы использовать групповая политика для настройки, выполните следующие действия.
Откройте Консоль управления групповыми политиками. Щелкните правой кнопкой мыши объект групповой политики (GPO), который должен содержать новый элемент настройки, а затем щелкните Изменить.
В дереве консоли в разделе Конфигурация компьютера разверните папку Параметры , а затем — папку Параметры Windows .
Щелкните правой кнопкой мыши узел Реестр , наведите указатель мыши на пункт Создать и выберите Элемент реестра.
В диалоговом окне Новые свойства реестра выберите следующее:
- Действие: Создать
- Hive: HKEY_LOCAL_MACHINE
- Путь к ключу: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Имя значения: SMB1
- Тип значения: REG_DWORD
- Данные значения: 0
Эта процедура отключает компоненты сервера SMBv1. Эта групповая политика должна применяться ко всем необходимым рабочим станциям, серверам и контроллерам домена в домене.
Примечание
Фильтры WMI также можно настроить для исключения неподдерживаемых операционных систем или выбранных исключений, таких как Windows XP.
Важно!
Будьте внимательны при внесении этих изменений на контроллерах домена, на которых устаревшим системам Windows XP или более старым версиям Linux и сторонним системам (которые не поддерживают SMBv2 или SMBv3) требуется доступ к SYSVOL или другим файловым ресурсам, в которых отключается SMB версии 1.
Аудит использования SMBv1
Чтобы определить, какие клиенты пытаются подключиться к серверу SMB с помощью SMBv1, можно включить аудит в Windows Server 2016, Windows 10 и Windows Server 2019. Вы также можете выполнять аудит в Windows 7 и Windows Server 2008 R2, если установлено ежемесячное обновление за май 2018 г., а также на Windows 8.1 и Windows Server 2012 R2, если установлено ежемесячное обновление за июль 2017 г.
Включите параметр
Set-SmbServerConfiguration -AuditSmb1Access $true
Отключите:
Set-SmbServerConfiguration -AuditSmb1Access $false
Обнаружить:
Get-SmbServerConfiguration | Select AuditSmb1Access
Если аудит SMBv1 включен, в журнале событий Майкрософт-Windows-SMBServer\Audit отображается событие 3000, определяющее каждый клиент, который пытается подключиться к SMBv1.
Сводка
Если все параметры находятся в одном объекте групповой политики, групповая политика Management отображает следующие параметры.
Тестирование и проверка
После выполнения действий по настройке, описанных в этой статье, разрешите политике реплицировать и обновлять их. При необходимости для тестирования выполните команду gpupdate /force в командной строке, а затем проверьте целевые компьютеры, чтобы убедиться, что параметры реестра применены правильно. Убедитесь, что SMBv2 и SMBv3 работают для всех других систем в среде.
Примечание
Не забудьте перезапустить целевые системы.
Сервер символов файлового ресурса (SMB) — Windows drivers
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Чтобы запустить сервер символов SMB, создайте общую папку и назначьте разрешения, чтобы предоставить пользователям или группам доступ к общей папке.
Создание хранилища символов общей папки SMB
Используйте проводник или управление компьютером, чтобы создать общую папку и назначить разрешения.
В следующих разделах предполагается, что символы находятся в папке D:\SymStore\Symbols.
Проводник
Чтобы назначить разрешения на общую папку с помощью проводник:
Откройте проводник.
Выберите и удерживайте (или щелкните правой кнопкой мыши) папку D:\SymStore\Symbols и выберите Свойства.
Перейдите на вкладку Общий доступ .
Выберите Расширенный общий доступ.
В разделе Расширенный общий доступ установите флажок Общий доступ к этой папке , а затем выберите Разрешения.
В разделе Разрешения для общего доступа выберите Все, а затем нажмите кнопку Удалить.
Выберите Добавить и введите пользователей или группы, к которым вы хотите получить доступ к общей папке.
Для каждого добавляемого пользователя или группы выберите Разрешить , чтобы назначить разрешения на полный доступ, изменение или чтение.
Нажмите кнопку Apply (Применить), а затем нажмите кнопку ОК.
Нажмите кнопку ОК, а затем — Закрыть.
Управление компьютерами
Чтобы назначить разрешения на общую папку с помощью управления компьютером, выполните следующие действия.
Выберите и удерживайте (или щелкните правой кнопкой мыши) Пуск и выберите Управление компьютером.
В дереве консоли выберите Общиепапки>системных инструментов>.
Выберите и удерживайте (или щелкните правой кнопкой мыши) и выберите Создать общий>ресурс.
В мастере создания общей папки нажмите кнопку Далее.
В поле Путь к папке введите D:\SymStore\Symbols и нажмите кнопку Далее.
Выберите Далее.
В разделе Разрешения для общей папки выберите Настроить разрешения, а затем — Пользовательский.
В разделе Разрешения для общего доступа выберите Все, а затем нажмите кнопку Удалить.
Выберите Добавить и введите пользователей или группы, к которым вы хотите получить доступ к общей папке.
Для каждого добавляемого пользователя или группы выберите Разрешить , чтобы назначить разрешения на полный доступ, изменение или чтение.
Нажмите кнопку Apply (Применить), а затем нажмите кнопку ОК.
Дважды нажмите кнопку Готово .
Тестирование общей папки SMB
Настройте отладчик для использования этого пути к символам:
srv*C:\Symbols*\\MachineName\Symbols
Чтобы просмотреть расположение PDB, на которые ссылается отладчик, используйте lm
команду (список модулей). Все пути к PDB должны начинаться с C:\Symbols
.
Чтобы просмотреть журналы загрузки символов и изображений с файлового сервера \\MachineName\Symbols на C:\Symbols, выполните !sym noisy
команду и .reload /f
.
Установка пути к символу общей папки
Чтобы настроить путь к символам отладчика (.sympath
) для использования общей папки, можно выбрать несколько вариантов. Синтаксис пути к символам определяет, кэшируется ли файл символов локально и где он кэшируется.
Прямое использование общей папки (без локального кэширования):
srv*\\MachineName\Symbols
Локальное кэширование файлов общей папки в определенной локальной папке (например, в C:\Symbols):
srv*C:\Symbols*\\MachineName\Symbols
Локальное кэширование файлов общей папки в папке %DBGHELP_HOMEDIR%\Sym:
srv**\\MachineName\Symbols
Второй «*» в этом примере представляет кэш локального сервера по умолчанию. Дополнительные сведения о настройке пути к символам и использовании локального кэша см. в разделе Путь к символам для отладчиков Windows.
DBGHELP\_HOMEDIR
Если переменная не задана, DBGHELP\_HOMEDIR
по умолчанию используется папка исполняемого файла отладчика (например, C:\Program Files\Windows Kits\10.0\Debuggers\x86), а кэширование выполняется в папке C:\Program Files\Windows Kits\10.0\Debuggers\x86\Sym.
См. также раздел
Дерево папок хранилища символов
Microsoft отключит гостевой доступ по протоколу SMB
Microsoft Windows SMB Insider Preview MITM NAS
Microsoft отключит гостевой доступ по протоколу SMB
Alexander Antipov
Microsoft Windows SMB Insider Preview MITM NAS
Только пароли, только хардкор.
Microsoft хочет усилить безопасность Windows в редакциях Pro за счёт отключения гостевого доступа по протоколу SMB. Изменение замечено в сборке Windows 11 Insider Preview Build 25276, выпущенной в этом месяце.
Несколько лет назад Microsoft принудительно отключила в свежих версиях Windows протокол SMB1, что доставило неудобств многим пользователям. Теперь изменения касаются уже протоколов SMB2 и SMB3. Они продолжат работать, но гостевой доступ для них будет по умолчанию отключен, а значит авторизоваться можно будет только по паролю. При этом опцию гостевого доступа не убрали из системы совсем, её можно включить при необходимости. Однако сама Microsoft не рекомендует этого делать.
«Ключевая проблема заключается в том, что гостевой доступ в систему не требует паролей и не поддерживает базовые функции безопасности», — написал в своем блоге Нед Пайл, главный программный менеджер Microsoft.
«Гостевой доступ делает пользователя уязвимым для сценариев «человек посередине» (Man-in-the-Middle, MITM) или сценариев вредоносного сервера, когда фишинговая атака обманом заставляет пользователя открыть вредоносный файл на удаленном общем ресурсе», — добавил Пайл.
Если удаленному устройству хранения (NAS) требуется гостевой доступ к системе, пользователь увидит одну из следующих ошибок при подключении через SMB:
- Вы не можете получить доступ к этой общей папке, так как политики безопасности вашей организации блокируют гостевой доступ без проверки подлинности. Эти политики помогают защитить ваш компьютер от небезопасных или вредоносных устройств в сети.
- Код ошибки: 0x80070035
- Сетевой путь не найден.
По рекомендациям Microsoft, любой, кто увидит подобные сообщения, должен настроить парольный доступ для этого сетевого устройства. А если устройство невозможно настроить в соответствии с новыми требованиями или гостевой доступ ему требуется временно, официальную инструкцию по включению гостевого доступа в SMB2 и SMB3 можно найти здесь .
Нед Пайл также написал, что пользователям не следует активировать SMB1, чтобы обойти новые ограничения. Ведь у этого устаревшего протокола проблем с безопасностью ещё больше.
Никогда не поздно готовиться к цифровому апокалипсису — подписывайтесь на наш канал и узнавайте, как выжить в киберхаосе!
Поделиться новостью:
Новости по теме
Российские компании получили запрет на использование иностранных мессенджеров
Встречайте BlackLotus – первый UEFI-буткит, который обходит Secure Boot в Windows 11
Опасные уязвимости в библиотеке TPM 2.0 могут затронуть миллиарды IoT и корпоративных устройств
Microsoft выпустила обновления безопасности Windows, устраняющие уязвимости процессоров Intel
Microsoft представила универсальную нейросеть Kosmos-1, которая может решать тесты на IQ и математические уравнения
Parallax RAT атакует криптовалютные компании с помощью сложных методов внедрения вредоносного ПО
Троян PlugX маскируется под легитимный отладчик Windows в новой кампании
Хакеры Iron Tiger распространяют Linux-версию своей вредоносной программы SysUpdate
Китай станет новой технологической сверхдержавой
Подпишитесь на email рассылку
Подпишитесь на получение последних материалов по безопасности от SecurityLab. ru — новости, статьи, обзоры уязвимостей и мнения аналитиков.
Ежедневный выпуск от SecurityLab.Ru
Еженедельный выпуск от SecurityLab.Ru
Нажимая на кнопку, я принимаю условия соглашения.
SMB Multichannel в Windows Server 2012 / Хабр
SMB Multichannel – одна из возможностей протокола SMB 3.0, призванная повысить производительность и отказоустойчивость на уровне сетевого соединения при работе с файловыми серверами. Для использования этой возможности SMB-клиент и SMB-сервер должны поддерживать SMB 3.0, который, в свою очередь, реализован в Windows Server 2012 и Windows 8.
SMB Multichannel позволяет одновременно использовать несколько сетевых соединений с файловым сервером, тем самым обеспечивая:
- Увеличенную пропускную способность. Клиент и сервер SMB могут передавать больший объем данных, одновременно задействуя несколько сетевых соединений, установленных с помощью одного высокоскоростного сетевого адаптера, например 10GbE, или нескольких сетевых адаптеров. В случае нескольких сетевых адаптеров SMB Multichannel фактически агрегирует их полосы пропускания
- Отказоустойчивость. Выполняемые сетевые операции, например копирование файла, не прерываются в случае потери одного или нескольких соединений до тех пор, пока хотя бы одно соединение продолжает существовать. Потеря соединения может происходить как из-за проблем в сетевой среде (обрыв кабеля, поломка коммутатора и пр.), так и из-за проблем с сетевым адаптером. Таким образом, при использовании нескольких сетевых адаптеров SMB Multichannel обеспечивает отказоустойчивость на уровне физической сетевой карты. Но еще раз отмечу, только для операций по протоколу SMB
Для работы SMB Multichannel необходимо выполнение двух требований:
- SMB 3.0 на клиенте и на сервере. На текущий момент эта версия протокола реализована в Windows Server 2012 и Windows 8
- Одна из поддерживаемых конфигураций, рассматриваемых ниже
Для работы SMB Multichannel клиент и сервер должны поддерживать как минимум одну из перечисленных ниже конфигураций:
- Несколько сетевых адаптеров с одинаковой скоростью
- Один и более сетевых адаптеров с поддержкой RSS (Receive Side Scaling)
- Два и более сетевых адаптеров, объединенных в группу с помощью NIC Teaming
- Один и более сетевых адаптеров с поддержкой RDMA (Remote Direct Memory Access)
Как следствие, SMB Multichannel не будет работать, если на компьютере один сетевой адаптер, не поддерживающий RSS, либо если адаптеров несколько, но они работают с разной скоростью. В последнем случае трафик будет передаваться по наиболее быстрому адаптеру.
Некоторые пояснения касательно отдельных конфигураций.
Сетевой адаптер с поддержкой RSS
В отсутствие SMB Multichannel при обращении SMB-клиента к SMB-серверу открывается SMB-сессия, в рамках которой устанавливается одно TCP/IP-соединение. Обработка трафика по этому соединению осуществляется одним из доступных процессорных ядер. Если сетевой адаптер не поддерживает RSS, то в принципе весь сетевой трафик обрабатывается одним ядром, как правило, CPU0. Если сетевой адаптер поддерживает RSS, то обработка сетевого трафика распределяется по доступным процессорным ядрам. Однако без SMB Multichannel в рамках одной сессии устанавливается только одно соединение, и RSS ничем не может помочь этой конкретной сессии.
В случае же SMB Multichannel, если сетевой адаптер поддерживает RSS, то протокол SMB в рамках одной сессии устанавливает несколько соединений (по умолчанию 4 на RSS-интерфейс), а RSS, в свою очередь, распределяет обработку трафика через эти соединения по доступным ядрам.
Соответственно, даже при использовании одного RSS-адаптера SMB Multichannel позволяет ускорить сетевые операции и более эффективно задействовать имеющуюся полосу пропускания. И прежде всего это актуально для адаптеров 10GbE.
Что нам не может обеспечить SMB Multichannel в конфигурации с одним физическим адаптером, так это отказоустойчивость, поскольку понятно, что если единственный адаптер выходит из строя, то мы теряем все соединения.
В Windows Server 2012 и Windows 8 проще всего определить, какие адаптеры и с какими текущими параметрами поддерживают RSS, можно с помощью командлета PowerShell
Get-NetAdapterRss
Два и более адаптеров, объединенных с помощью NIC Teaming
Использование NIC Teaming не является требованием для SMB Multichannel. Если в системе, например, два гигабитных адаптера, то SMB Multichannel может использовать их безо всякого тиминга. Однако объединение адаптеров в тиминговую группу даст дополнительное преимущество с точки зрения отказоустойчивости. Без тиминга SMB Multichannel обеспечит отказоустойчивость только SMB-трафика, вместе с NIC Teaming вы получите отказоустойчивость любого сетевого трафика. При этом и с тимингом, и без оного SMB Multichannel агрегирует доступные полосы пропускания имеющихся адаптеров.
Один и более сетевых адаптеров с поддержкой RDMA (Remote Direct Memory Access)
Технология RDMA обеспечивает низкие задержки при передачи данных по сети и снижение нагрузки на процессор. SMB Multichannel устанавливает для каждой SMB-сессии два соединения на каждый RDMA-интерфейс. Если RDMA-адаптеров несколько, дополнительно обеспечивается и отказоустойчивость. Надо отметить, что если вы объединяете RDMA-интерфейсы в группу средствами NIC Teaming в Windows Server 2012, то ОС рассматривает эти интерфейсы как non-RDMA. То есть в тиминге возможности RDMA вам не доступны. По аналогии с RSS получить информацию об адаптерах с поддержкой RDMA и их конфигурации можно с помощью командлета
Get-NetAdapterRdma
Несколько сетевых адаптеров с одинаковой скоростью
Это самый простой вариант конфигурации, при котором SMB Multichannel просто работает. Если адаптеры не поддерживают RSS, то устанавливается по одному соединению на интерфейс.
И теперь самое время обсудить настройку SMB Multichannel.
Прелесть технологии в том, что она настраивается автоматически. Если ОС обнаруживает одну из поддерживаемых конфигураций (см. выше), то автоматически применяется SMB Multichannel. Тем не менее, вы можете убедиться в том, что технология включена с помощью
Get-SmbClientConfiguration
или
Get-SmbServerConfiguration
Дополнительно,
Get-SmbClientNetworkInterface
покажет вам, задействованы ли RSS и RDMA для доступных интерфейсов.
Я уже упомянул количество устанавливаемых соединений для различных типов сетевых интерфейсов (4 на RSS-адаптер, 2 на RDMA-адаптер, 1 на обычный NIC). По умолчанию SMB Multichannel использует максимум 8 соединений для каждой пары клиент/сервер. И это число может ограничивать количество соединение на один сетевой интерфейс. Например, если у вас три RSS-адаптера, то будет установлено три соединения через первый, три через второй и два через третий.
Рекомендуется использовать настройки SMB Multichannel по умолчанию. Тем не менее, эти настройки могут быть изменены. Например, максимально количество соединений на пару клиент/сервер устанавливается следующим образом:
Ну и наконец если по каким-то причинам необходимо отключить SMB Multichannel, например для тестирования или диагностики, это можно сделать следующими двумя командами на сервере и клиенте соответственно:
Set-SmbServerConfiguration -EnableMultiChannel $false Set-SmbClientConfiguration -EnableMultiChannel $false
Эти же команды со значением $true снова включат технологию.
Если в вашей системе одна из поддерживаемых конфигураций, то при открытии общей папки на сервере SMB Multichannel установит несколько соединений. Убедиться в этом можно с помощью
Get-SmbMultichannelConnection
В моей среде с двумя гигабитными карточками это выглядит так:
Далее, запустив копирование файла с сетевого ресурса, в Performance Monitor можно наблюдать, что копирование осуществляется с помощью обоих сетевых адаптеров.
Выключив один из адаптеров, вы увидите, что операция копирования не прервется, а вся нагрузка будет перекинута на оставшийся адаптер.
Посмотреть работу SMB Multichannel в динамике, а также сравнить, как ведет себя ОС при отключенной технологии, вы можете в моем веб-касте (проскроллируйте до демонстрации SMB Multichannel).
Таким образом, благодаря SMB Multichannel можно повысить эффективность и надежность сетевых операций. В сочетании же с другими технологиями Windows Server 2012, такими как SMB Scale Out, SMB Transparent Failover и ряд других (о них речь пойдет в других постах), вы можете штатными средствами ОС обеспечить высокий уровень доступности запущенных сервисов на разных уровнях: дисковая подсистема, узел кластера, сетевой интерфейс.
SMB 3.0 в файловом сервере нового поколения | Windows IT Pro/RE
Рассмотрим разницу между работой пользователя с документом в общей папке и работой корпоративного приложения, хранящего свою базу данных на файловом ресурсе общего доступа
Протокол Server message block (SMB) в той или иной форме используется в любой организации для доступа к хранилищам. Это может быть доступ к сценариям регистрации, установочным дискам с программным обеспечением, либо к пользовательским документам и коллекции музыки MP3. Где SMB не применяется, так это в протоколах доступа к файлу (здесь клиент вместо прямого доступа к блокам на диске получает доступ к файлам) при обращении корпоративных приложений к внешнему хранилищу. Что касается обмена данными с хранилищем в корпоративной рабочей среде, то в списке лидируют блочные технологии (где сервер напрямую взаимодействует с блоками на диске), такие как iSCSI и Fibre Channel (и, возможно, NFS для отличных от Windows рабочих приложений).
. Когда пользователь редактирует документ Microsoft PowerPoint, хранящийся на общем ресурсе SMB, части этого документа локально кэшируются, и время от времени пользователь нажимает кнопку «Сохранить». При возникновении проблемы на файловом сервере SMB, например связанной с перезагрузкой, либо с перемещением общей папки на другой узел кластера (если сервер является частью кластера), пользователь теряет дескриптор доступа к файлу, но без каких-либо последствий. При следующем нажатии кнопки «Сохранить» все восстанавливается, и ничего страшного не происходит. Теперь рассмотрим Hyper-V и виртуальную машину, хранящуюся на файловом ресурсе SMB общего доступа. При возникновении проблемы с хостом общий ресурс перемещается на другой узел кластера. Hyper-V ожидает наступления тайм-аута TCP, после чего констатирует ошибку первоначального соединения. Для виртуальной машины это может означать 30-секундную паузу. Однако Hyper-V уже утратил дескрипторы на виртуальном жестком диске VHD, а это более серьезная проблема. Если продолжительность работы с пользовательским документом может исчисляться несколькими часами, то корпоративные службы, виртуальные машины и базы данных требуют бесперебойной доступности файловых дескрипторов на протяжении многих месяцев.
К счастью, SMB 3.0 решает эту проблему (как и многие другие). При создании Windows Server 2012 было решено сделать SMB протоколом хранилища файлового уровня, способным обслуживать критически важные корпоративные рабочие нагрузки, такие как Microsoft Hyper-V и SQL Server. Эта перемена требовала крупных изменений в протоколе SMB.
Прозрачная отказоустойчивость
Применительно к обслуживанию корпоративных данных (например, виртуальных машин или баз данных SQL Server) SMB, как правило, используется не на отдельном файловом сервере, а на кластере, что должно обеспечить высокую доступность. При реализации службы файлов на кластере на одном из узлов обычно монтируется логический том с номером LUN, содержащий общую файловую систему и открывающий доступ клиентам SMB к ресурсу общего доступа. При отказе этого узла LUN монтируется на другом узле кластера. При этом клиент SMB теряет файловые дескрипторы.
Служба SMB Transparent Failover обеспечивает защиту от отказа узла. Перемещение общего ресурса между узлами совершается абсолютно прозрачно для клиентов SMB, что позволяет им сохранять все существующие файловые дескрипторы и иметь бесперебойное соединение SMB.
Соединение SMB поддерживается между тремя объектами: клиентом SMB, сервером SMB и диском, на котором содержатся данные. Прозрачная отказоустойчивость SMB гарантирует существование достаточных условий для передачи соединения SMB альтернативному узлу в случае отказа, что позволяет бесперебойно осуществлять процессы, зависящие от SMB.
Однако даже прозрачная отказоустойчивость SMB Transparent Failover не исключает паузы в операциях ввода/вывода, когда LUN монтируется на другом узле кластера. Группа разработчиков отказоустойчивой кластеризации проделала огромную работу по оптимизации демонтажа и монтажа LUN, сократив максимальную длительность этой процедуры до 25 секунд. Это время кажется долгим, но оно относится к наиболее неблагоприятному сценарию с участием большого числа логических устройств и десятков тысяч дескрипторов. Для наиболее распространенных сценариев эта процедура будет выполняться за пару секунд, а корпоративные службы, такие как Hyper-V и SQL Server, способны обрабатывать 25-секундную паузу в работе подсистемы ввода/вывода без ошибок.
Другая возможная причина перерыва в работе подсистемы ввода/вывода – неосведомленность клиента SMB о недоступности сервера SMB. В обычном сценарии (например, при перезагрузке узла после установки исправлений) сервер уведомляет клиентов о происходящем, и они могут принять соответствующие меры. Но при аварийном отказе хоста клиенты уведомлений не получают. В этом случае клиент ожидает наступления тайм-аута TCP, прежде чем принимает меры по восстановлению соединения, что означает бесполезную трату ресурсов. Клиент SMB может не знать о том, что узел, с которым он взаимодействует, вышел из строя, однако другие узлы в кластере узнают об этом менее чем за секунду, благодаря сообщениям синхронизации IsAlive, которыми обмениваются узлы.
Благодаря этому знанию новая служба-свидетель Witness Service в Windows Server 2012 позволяет одному из узлов кластера выступать свидетелем по отношению к клиенту SMB. Если узел, с которым общается клиент, выходит из строя, то узел-свидетель уведомляет об этом клиента SMB, что позволяет клиенту подключиться к другому узлу, а время прерывания обслуживания сокращается до пары секунд. Диалог выглядит примерно так (с использованием 1 и 0 вместо слов):
Клиент SMB – серверу A: «Я хочу установить соединение».
Сервер A: «Соединение установлено. Я являюсь частью кластера, в котором также есть серверы B, C и D».
Клиент SMB – серверу B: «Я установил соединение SMB с сервером A. Прошу наблюдать за сервером A и уведомить меня в случае его отказа».
Сервер B: «ОК. Удачного дня».
Чтобы воспользоваться преимуществами прозрачной отказоустойчивости SMB или службы-свидетеля, ничего делать не нужно. При создании нового ресурса общего доступа на отказоустойчивом кластере Windows Server 2012 функция прозрачной отказоустойчивости SMB включается автоматически. Процесс создания нового ресурса на кластере файловых серверов Windows Server 2012 направляет мастер. Вначале требуется решить, какой тип ресурса вы создаете. Ответ на этот вопрос помогает установить некоторые параметры по умолчанию для создаваемого ресурса, как показано на экране 1. Для всех типов ресурсов SMB режим Enable continuous availability включен (см. экран 2).
Экран 1. Создание общего файлового ресурса |
Экран 2. Включение режима прозрачной отказоустойчивости |
Схема SMB «активный/активный»
Ранее я уже говорил о необходимости сокращения паузы в работе подсистемы ввода-вывода при перемещении совместно используемого LUN с узла на узел. Похожая проблема возникает у Windows Server 2008 Hyper-V при перемещении виртуальных машин между узлами. Дело в том, что NTFS не является файловой системой коллективного пользования и не предусматривает возможность одновременного доступа к ней нескольких экземпляров операционной системы без риска повреждения. Эта проблема была решена за счет поддержки общего тома кластера cluster shared volume (CSV) в Windows Server 2008 R2. Благодаря CSV все узлы кластера могут одновременно получать доступ к группе логических устройств (LUN) для выполнения операций чтения и записи, что устраняет необходимость в демонтаже LUN на одних узлах и последующем монтаже на других.
Windows Server 2012 расширяет возможности применения CSV для конкретного типа файлового сервера, а именно, нового масштабируемого файлового сервера. Этот новый вариант предназначен для использования только при коллективном доступе к данным приложений, таких как базы данных SQL Server и виртуальные машины Hyper-V. Для других данных по-прежнему доступен традиционный вариант универсального файлового сервера (см. экран 3).
Экран 3. Выбор варианта файлового сервера |
Приняв решение задействовать масштабируемый файловый сервер, вы должны будете выбрать CSV в качестве хранилища ресурсов общего доступа. Поскольку общее хранилище доступно для всех узлов кластера, по отношению к нему все узлы будут выступать в роли хоста. Таким образом, соединения клиентов SMB будут распределены по всем узлам, а не сосредоточены на одном. Отказ одного из узлов не повлечет за собой перемещения LUN, что сведет перерывы в работе к минимуму. Это чрезвычайно важно для хранилищ данных приложений, на обслуживание которых и рассчитан масштабируемый файловый сервер.
Использование масштабируемых файловых серверов имеет дополнительные преимущества. При создании обычного файлового сервера необходимо дать новому файловому серверу кластера NetBIOS-имя и уникальный IP-адрес. Этот IP-адрес должен храниться на том узле кластера, который в данный момент хостирует файловый сервер. При использовании масштабируемых файловых серверов хостами являются все узлы кластера. Таким образом, никаких дополнительных IP-адресов не требуется. Точкой доступа к IP-адресам узлов кластера служит распределенное сетевое имя Distributed Network Name (DNN).
Следует отметить, что, хотя все узлы в кластере способны выполнять одни и те же серверные функции и обслуживать доступ к коллективному ресурсу, при использовании масштабируемого файлового сервера каждый клиент SMB единовременно подключается только к одному узлу. Инициируя соединение, клиент SMB получает список IP-адресов всех хостов в кластере. Из списка клиент выбирает один узел, с которым начинает сеанс связи SMB. Впоследствии клиент использует только этот узел, пока на нем не возникают проблемы. Если они возникли, клиент обращается к альтернативному узлу, за исключением случаев применения службы-свидетеля.
Защита от ошибки соединения: многоканальное подключение SMB
Прозрачная отказоустойчивость SMB и схема SMB «активный/активный» позволяют избежать перерывов в работе, возникающих из-за отказа узла. Однако существуют и другие типы отказов, например ошибка соединения. Для противодействия подобным проблемам можно применять технологию многопутевого ввода/вывода Microsoft Multipath I/O (MPIO) с поддержкой нескольких маршрутов взаимодействия между сервером и хранилищем. В SMB 3.0 реализована функция многоканального подключения SMB, позволяющая клиенту SMB во время одного сеанса устанавливать несколько соединений, что обеспечивает защиту от ошибок подключения и повышает производительность.
Подобно большинству функций SMB 3.0, многоканальное подключение SMB реализуется автоматически. После первоначального установления соединения SMB клиент SMB ищет дополнительные маршруты взаимодействия с сервером SMB. При наличии нескольких сетевых соединений используются эти альтернативные пути. Работа функции многоканального подключения SMB становится очевидной при отслеживании операции копирования файлов, так как сначала используется пропускная способность, эквивалентная одному соединению, при втором подключении полоса пропускания удваивается, при третьем – продолжает увеличиваться, и так далее. При ошибке одного из подключений другие соединения продолжают обслуживать канал соединения SMB без перебоев.
Определить, работает ли на сервере функция многоканального подключения SMB, можно с помощью команды PowerShell Get-SMBConnection, позволяющей вывести список подключений SMB к ресурсу общего доступа. На экране 4 показан результат выполнения этой команды. Как мы видим, используется только одно подключение к серверу.
Экран 4. Команда PowerShell Get-SMBConnection выводит?с писок подключений SMB |
Эта информация указывает на наличие единственного пригодного к использованию маршрута связи между клиентом SMB и сервером SMB. Если запустить команду Get-SmbMultichannelConnection с клиента, то ее выходным результатом будет список всех возможных путей, по которым можно установить соединение с сервером (см. экран 5).
Экран 5. Команда Get-SmbMultichannelConnection выводит? список всех возможных путей |
Однако этот список формируется в результате «отложенной» проверки и не означает, что данный маршрут действительно может быть установлен между IP-адресами 10.1.3.1 и 10.1.2.1 клиента и сервера.
Узнать, какой путь фактически используется между клиентом и сервером, можно по ТСР-подключениям к удаленному порту 445, используемому для SMB. В моем случае проверка подтверждает, что я использую единственный возможный путь, а именно, удаленный адрес 192.168.1.30 (см. экран 6).
Экран 6. Проверка пути между клиентом и сервером |
В отношении подключения клиента SMB к общему ресурсу SMB, хостируемому кластером по схеме «активный/активный», возникает очевидный вопрос: устанавливаются ли эти несколько вариантов соединений с разными узлами кластера? Ответ — нет. Клиент SMB получает один IP-адрес, принадлежащий одному из узлов в кластере, и все соединения устанавливаются с этим узлом. Все сеансы SMB для данного кластера, инициируемые клиентом SMB, всегда проходят с участием одного и того же узла. Это не вызывает проблем, поскольку кластер высокой отказоустойчивости, как правило, имеет сотни, если не тысячи, подключений клиентов SMB. Нагрузка распределяется равномерно по всему кластеру.
Максимальное увеличение пропускной способности: масштабирование на стороне приема и удаленный доступ к памяти
Еще один аспект SMB 3.0, на который следует обратить внимание, касается крупных магистралей сетевых соединений в современных информационных центрах. Многие информационные центры уже перешли со стандарта 1 Гбит/с на стандарт 10 Гбит/с. Однако по мере такого перехода проблему с производительностью начинает создавать процессор на сервере. Одно TCP-соединение может обрабатываться только одним ядром процессора, которое не способно справиться с 10-гигабитным потоком и таким образом ограничивает пропускную способность. Именно здесь оказывается полезной функция масштабирования на стороне приема Receive Side Scaling (RSS), с помощью которой единый сетевой интерфейс разделяется на несколько принимающих соединений, каждое из которых обслуживается отдельным процессорным ядром. Это позволяет в полной мере использовать имеющуюся пропускную способность. Большинство сетевых адаптеров современных серверов автоматически поддерживают RSS. Определить, поддерживает ли данное оборудование RSS, можно с помощью команды Get-SmbMultichannelConnection (см. экран 7).
Экран 7. Команда Get-SmbMultichannelConnection показывает доступность RSS |
Заметим, что в выходных данных команды указано число 4 в качестве значений CurrentChannels и MaxChannels. Это значение по умолчанию для Windows Server 2012 при использовании сетевых карт с поддержкой RSS.
Если теперь проверить состояние многоканального SMB-соединения с сервером (см. экран 8), можно увидеть, что для IP-адреса, используемого SMB, установлены четыре отдельных соединения, что указывает на работу функции RSS.
Экран 8. Четыре отдельных соединения указывают на работу функции RSS |
Может возникнуть вопрос: почему сетевой интерфейс с поддержкой RSS по умолчанию разделен на четыре соединения? В этом можно убедиться с помощью команды PowerShell Get-SmbClientConfiguration, позволяющей просмотреть настройки клиента SMB. В первой строке полученных в ответ данных будет указано число соединений на один сетевой интерфейс RSS. Это значение можно изменить, но оно выбрано не случайно. В Microsoft был проведен большой объем тестирования 10-гигабитных соединений, в ходе которого выяснилось, что четыре соединения дают наибольший выигрыш, тогда как при дальнейшем увеличении их числа этот выигрыш уменьшается. Тем не менее, если у вас есть соединения с пропускной способностью свыше 10 Гбит/с, то увеличение этого значения может дать положительный эффект.
Удаленный прямой доступ к памяти Remote Direct Memory Access (RDMA) – еще одна технология, позволяющая повысить пропускную способность и минимизировать нагрузку на сервер. Сетевые адаптеры с поддержкой RDMA могут обходить большую часть сетевого стека и соединяться напрямую, что позволяет снять нагрузку с хост-серверов. С помощью ранее упомянутой команды Get-SmbMultichannelConnection можно узнать, поддерживает ли сетевой адаптер RDMA. Начальная инициализация соединения SMB предусматривает проверку наличия поддержки RDMA на обоих концах соединения. Если такая поддержка есть, то соединение переключается на RDMA. В этом случае также никакой ручной настройки не требуется.
Мощное решение
SMB 3.0 используется только между операционными системами с поддержкой SMB 3.0, то есть Windows Server 2012 и Windows 8. Для других операционных систем применяется новая общая для них поддерживаемая версия SMB, определяемая в ходе взаимного согласования возможностей. Например, если система Windows 7 подключается к файловому серверу Windows Server 2012, то используется SMB 2. 1, поскольку это самая новая из поддерживаемых Windows 7 версий.
Основным побудительным мотивом для внесения большинства изменений в SMB 3.0 было стремление сделать SMB протоколом для корпоративных приложений. Именно в этой сфере реализуется наибольший положительный эффект от применения SMB. Есть также выгоды для постоянных клиентов – например, тех, кто перешел на Windows 8. SMB 3.0 недоступен для версий, предшествующих Windows 8 и Windows Server 2012. Например, новое шифрование SMB устраняет необходимость в сложных инфраструктурах открытых ключей public key infrastructure (PKI) для обеспечения безопасности. В комбинации со многими другими реализованными в Windows Server 2012 усовершенствованиями хранилищ, SMB 3.0 переводит новую операционную систему в разряд мощных решений для хранения данных и открывает перед клиентами еще более широкие возможности.
Нет доступа по SMB и FTP для Windows 7/10
Santa_alex
Dabbler
- #1
Помогите настроить!
Запустил службы SMB и FTP из под Mac OS все работает без проблем, из под Винды нет
В Винде отключил SMBv1 и включил SMBv2/3
Santa_alex
Dabbler
- #2
Самое удивительное что на Win11 так же все работает без проблем
chs
Patron
- #3
Ну а что в логах на попытку выполнить из под cmd
Code:
C:\ftp <ip FreeNAS>
?
Santa_alex
Dabbler
- #4
chs said:
Ну а что в логах на попытку выполнить из под cmd
Code:
C:\ftp <ip FreeNAS>?
Click to expand. ..
Oct 27 14:06:28 NAS-SPS proftpd[18001]: 127.0.0.1 (192.168.1.38[192.168.1.38]) — USER a: no such user found from 192.168.1.38 [192.168.1.38] to ::ffff:192.168.1.100:21
Oct 27 14:06:28 NAS-SPS proftpd[18001]: 127.0.0.1 (192.168.1.38[192.168.1.38]) — Maximum login attempts (1) exceeded, connection refused
chs
Patron
- #5
no such user found from 192.168.1.38
Click to expand. ..
Надо создать пользователя в FreeNAS и идти по его имени/паролю
Santa_alex
Dabbler
- #6
chs said:
Надо создать пользователя в FreeNAS и идти по его имени/паролю
Click to expand…
Так и делаю, пользователь user, есть подозрение что с компов которые обновились с 7/8 на 10 нет доступа, а у тех, что в чистую устанавливались, доступ нормальный по пользователю user
Обзор общего доступа к файлам с использованием протокола SMB 3 в Windows Server
- Статья
- 11 минут на чтение
Применяется к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
В этом разделе описывается функция SMB 3 в Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012 — практическое использование этой функции, наиболее важные новые или обновленные функции в этой версии по сравнению с предыдущими версиями, а также аппаратные требования. SMB также является протоколом структуры, используемым программно-определяемыми центрами обработки данных (SDDC), такими как Storage Spaces Direct, Storage Replica и другими. SMB версии 3.0 был представлен в Windows Server 2012 и постепенно улучшался в последующих выпусках.
Описание функции
Протокол Server Message Block (SMB) — это сетевой протокол обмена файлами, который позволяет приложениям на компьютере читать и записывать файлы, а также запрашивать службы у серверных программ в компьютерной сети. Протокол SMB можно использовать поверх протокола TCP/IP или других сетевых протоколов. Используя протокол SMB, приложение (или пользователь приложения) может получить доступ к файлам или другим ресурсам на удаленном сервере. Это позволяет приложениям читать, создавать и обновлять файлы на удаленном сервере. SMB также может взаимодействовать с любой серверной программой, которая настроена на получение клиентского запроса SMB. SMB — это протокол структуры, который используется вычислительными технологиями программно-определяемого центра обработки данных (SDDC), такими как Storage Spaces Direct, Storage Replica. Дополнительные сведения см. в статье Программно-определяемый центр обработки данных Windows Server.
Практические приложения
В этом разделе обсуждаются некоторые новые практические способы использования нового протокола SMB 3.0.
- Хранилище файлов для виртуализации (Hyper-V™ через SMB) . Hyper-V может хранить файлы виртуальной машины, такие как конфигурация, файлы виртуального жесткого диска (VHD) и моментальные снимки, в общих папках по протоколу SMB 3. 0. Это можно использовать как для автономных файловых серверов, так и для кластерных файловых серверов, которые используют Hyper-V вместе с общим хранилищем файлов для кластера.
- Microsoft SQL Server через SMB . SQL Server может хранить файлы базы данных пользователей в файловых ресурсах SMB. В настоящее время это поддерживается SQL Server 2008 R2 для автономных серверов SQL. В следующих версиях SQL Server будет добавлена поддержка кластерных серверов SQL и системных баз данных.
- Традиционное хранилище для данных конечного пользователя . Протокол SMB 3.0 предоставляет усовершенствования для рабочих нагрузок информационного работника (или клиента). Эти усовершенствования включают сокращение задержек приложений, с которыми сталкиваются пользователи филиалов при доступе к данным через глобальные сети (WAN), и защиту данных от атак с прослушиванием.
Примечание
Если вам нужно сэкономить место для хранения в общем файловом ресурсе SMB, рассмотрите возможность использования Azure File Sync с включенным облачным многоуровневым хранением. Это позволяет кэшировать наиболее часто используемые файлы локально и размещать наименее часто используемые файлы в облаке, экономя место в локальном хранилище при сохранении производительности. Дополнительные сведения см. в разделе Планирование развертывания службы синхронизации файлов Azure.
Новые и измененные функции
В следующих разделах описываются функции, добавленные в SMB 3 и последующих обновлениях.
Функции, добавленные в Windows Server 2019 и Windows 10 версии 1809
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Возможность требовать сквозной записи на диск для файловых ресурсов, которые не доступны постоянно | Новый | Чтобы обеспечить некоторую дополнительную гарантию того, что запись в общий файловый ресурс проходит через стек программного и аппаратного обеспечения на физический диск до того, как операция записи будет завершена, вы можете включить сквозную запись в общий файловый ресурс с помощью NET USE /WRITETHROUGH или командлет New-SMBMapping -UseWriteThrough PowerShell. Использование сквозной записи несколько снижает производительность; см. публикацию в блоге Управление сквозной записью в SMB для дальнейшего обсуждения. |
Функции, добавленные в Windows Server версии 1709 и Windows 10 версии 1709
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Гостевой доступ к файловым ресурсам отключен | Новый | Клиент SMB больше не позволяет выполнять следующие действия: доступ учетной записи гостя к удаленному серверу; Возврат к гостевой учетной записи после предоставления неверных учетных данных. Дополнительные сведения см. в разделе Гостевой доступ в SMB2 отключен по умолчанию в Windows. |
Глобальное сопоставление SMB | Новый | Сопоставляет удаленный общий ресурс SMB с буквой диска, доступной для всех пользователей на локальном узле, включая контейнеры. Это необходимо, чтобы разрешить контейнерному вводу-выводу на томе данных обход удаленной точки монтирования. Имейте в виду, что при использовании глобального сопоставления SMB для контейнеров все пользователи на узле контейнера могут получить доступ к удаленному общему ресурсу. Любое приложение, работающее на узле контейнера, также имеет доступ к сопоставленному удаленному общему ресурсу. Дополнительные сведения см. в разделе Поддержка хранилища контейнеров с общими томами кластера (CSV), прямыми дисковыми пространствами, глобальным сопоставлением SMB. |
Управление диалектом SMB | Новый | Теперь вы можете установить значения реестра для управления минимальной версией SMB (диалектом) и максимальной используемой версией SMB. Дополнительные сведения см. в разделе Управление диалектами SMB. |
Функции, добавленные в SMB 3.1.1 с Windows Server 2016 и Windows 10, версия 1607
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Шифрование SMB | Обновлено | Шифрование SMB 3. 1.1 с расширенным стандартным шифрованием, режим Галуа/счетчик (AES-GCM) быстрее, чем подписывание SMB или предыдущее шифрование SMB с использованием AES-CCM. |
Кэширование каталогов | Новый | SMB 3.1.1 включает улучшения кэширования каталогов. Клиенты Windows теперь могут кэшировать гораздо большие каталоги, примерно 500 тыс. записей. Клиенты Windows будут пытаться выполнять запросы к каталогу с буферами размером 1 МБ, чтобы уменьшить количество циклов обмена и повысить производительность. |
Целостность до аутентификации | Новый | В SMB 3.1.1 целостность перед проверкой подлинности обеспечивает улучшенную защиту от посредника, подделывающего сообщения об установлении соединения и проверке подлинности SMB. Дополнительные сведения см. в разделе Целостность до проверки подлинности SMB 3.1.1 в Windows 10. |
Улучшения шифрования SMB | Новый | SMB 3.1.1 предлагает механизм согласования алгоритма шифрования для каждого соединения с вариантами AES-128-CCM и AES-128-GCM. AES-128-GCM используется по умолчанию для новых версий Windows, в то время как более старые версии будут продолжать использовать AES-128-CCM. |
Поддержка непрерывного обновления кластера | Новый | Включает последовательное обновление кластера, позволяя SMB поддерживать различные максимальные версии SMB для кластеров в процессе обновления. Дополнительные сведения о том, как разрешить взаимодействие SMB с использованием различных версий (диалектов) протокола, см. в записи блога Управление диалектами SMB. |
Поддержка клиентов SMB Direct в Windows 10 | Новый | Windows 10 Корпоративная, Windows 10 для образовательных учреждений и Windows 10 Pro для рабочих станций теперь включают поддержку клиента SMB Direct. |
Встроенная поддержка вызовов FileNormalizedNameInformation API | Новый | Добавлена встроенная поддержка запроса нормализованного имени файла. Дополнительные сведения см. в разделе FileNormalizedNameInformation. |
Дополнительные сведения см. в записи блога Что нового в SMB 3.1.1 в Windows Server 2016 Technical Preview 2.
Функции, добавленные в SMB 3.02 с Windows Server 2012 R2 и Windows 8.1 функциональность
Дополнительные сведения о новых и измененных функциях SMB в Windows Server 2012 R2 см. в разделе Новые возможности SMB в Windows Server.
Функции, добавленные в SMB 3.0 с Windows Server 2012 и Windows 8
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Прозрачная отказоустойчивость SMB | Новый | Позволяет администраторам выполнять аппаратное или программное обслуживание узлов кластерного файлового сервера, не прерывая серверные приложения, хранящие данные в этих файловых ресурсах. Кроме того, если на узле кластера происходит аппаратный или программный сбой, клиенты SMB прозрачно переподключаются к другому узлу кластера, не прерывая работу серверных приложений, хранящих данные в этих общих файловых ресурсах. |
Горизонтальное масштабирование SMB | Новый | Поддержка нескольких экземпляров SMB на масштабируемом файловом сервере. Используя общие тома кластера (CSV) версии 2, администраторы могут создавать общие файловые ресурсы, которые обеспечивают одновременный доступ к файлам данных с прямым вводом-выводом через все узлы в кластере файловых серверов. Это обеспечивает лучшее использование полосы пропускания сети и балансировку нагрузки клиентов файлового сервера, а также оптимизирует производительность серверных приложений. |
Многоканальный SMB | Новый | Включает агрегирование пропускной способности сети и отказоустойчивости сети, если между клиентом SMB и сервером доступно несколько путей. Это позволяет серверным приложениям в полной мере использовать всю доступную полосу пропускания сети и быть устойчивыми к сбоям сети. SMB Multichannel в SMB 3 способствует существенному повышению производительности по сравнению с предыдущими версиями SMB. |
Прямой SMB | Новый | Поддерживает использование сетевых адаптеров, поддерживающих RDMA и способных работать на полной скорости с очень малой задержкой при минимальном использовании ЦП. Для таких рабочих нагрузок, как Hyper-V или Microsoft SQL Server, это позволяет удаленному файловому серверу напоминать локальное хранилище. SMB Direct в SMB 3 способствует существенному повышению производительности по сравнению с предыдущими версиями SMB. |
Счетчики производительности для серверных приложений | Новый | Новые счетчики производительности SMB предоставляют подробные сведения о пропускной способности, задержке и количестве операций ввода-вывода в секунду (IOPS) для каждого общего ресурса, что позволяет администраторам анализировать производительность общих файловых ресурсов SMB, в которых хранятся их данные. Эти счетчики специально разработаны для серверных приложений, таких как Hyper-V и SQL Server, которые хранят файлы в удаленных общих папках. |
Оптимизация производительности | Обновлено | Как клиент, так и сервер SMB оптимизированы для небольшого произвольного ввода-вывода чтения/записи, который часто встречается в серверных приложениях, таких как SQL Server OLTP. Кроме того, по умолчанию включена большая максимальная единица передачи (MTU), что значительно повышает производительность при больших последовательных передачах, таких как хранилище данных SQL Server, резервное копирование или восстановление базы данных, развертывание или копирование виртуальных жестких дисков. |
Командлеты Windows PowerShell для SMB | Новый | С помощью командлетов Windows PowerShell для SMB администратор может управлять файловыми ресурсами на файловом сервере от начала до конца из командной строки. |
Шифрование SMB | Новый | Обеспечивает сквозное шифрование данных SMB и защищает данные от прослушивания в ненадежных сетях. Не требует дополнительных затрат на развертывание, а также не требует защиты интернет-протокола (IPsec), специализированного оборудования или ускорителей глобальной сети. Он может быть настроен для каждого общего ресурса или для всего файлового сервера, а также может быть включен для различных сценариев, когда данные проходят через ненадежные сети. |
Аренда каталогов SMB | Новый | Увеличивает время отклика приложений в филиалах. Благодаря аренде каталогов количество обращений от клиента к серверу сокращается, поскольку метаданные извлекаются из кэша каталогов с более длительным сроком службы. Согласованность кэша поддерживается, поскольку клиенты уведомляются об изменении информации каталога на сервере. Аренда каталогов работает со сценариями для HomeFolder (чтение/запись без общего доступа) и Publication (только чтение с общим доступом). |
Производительность по глобальной сети | Новый | В SMB 3.0 были введены уступающие блокировки каталога (oplocks) и аренда opportunistic. Показано, что для типичных офисных/клиентских рабочих нагрузок уп-блокировки/аренды сокращают количество сетевых обращений примерно на 15 %. В SMB 3 реализация SMB для Windows была усовершенствована, чтобы улучшить поведение кэширования на клиенте, а также повысить пропускную способность. В SMB 3 улучшен API CopyFile(), а также связанные с ним инструменты, такие как Robocopy, для передачи значительно большего объема данных по сети. |
Безопасное согласование диалектов | Новый | Помогает защититься от попыток посредника понизить диалектное согласование. Идея состоит в том, чтобы предотвратить перехватчик от понижения первоначально согласованного диалекта и возможностей между клиентом и сервером. Дополнительные сведения см. в разделе Безопасное согласование диалектов SMB3. Обратите внимание, что это было заменено функцией целостности до проверки подлинности SMB 3.1.1 в Windows 10 в SMB 3.1.1. |
Требования к оборудованию
Прозрачная отказоустойчивость SMB имеет следующие требования:
- Отказоустойчивый кластер под управлением Windows Server 2012 или Windows Server 2016 с не менее чем двумя настроенными узлами. Кластер должен пройти тесты проверки кластера, включенные в мастер проверки.
- Файловые ресурсы должны создаваться со свойством Continuous Availability (CA), которое используется по умолчанию.
- Файловые ресурсы должны быть созданы на путях к томам CSV, чтобы обеспечить горизонтальное масштабирование SMB.
- Клиентские компьютеры должны работать под управлением Windows® 8 или Windows Server 2012, обе из которых включают обновленный клиент SMB, поддерживающий постоянную доступность.
Примечание
Клиенты более низкого уровня могут подключаться к общим файловым ресурсам, имеющим свойство CA, но прозрачная отработка отказа для этих клиентов не поддерживается.
SMB Multichannel имеет следующие требования:
- Требуется как минимум два компьютера под управлением Windows Server 2012. Никаких дополнительных функций устанавливать не нужно — технология включена по умолчанию.
- Сведения о рекомендуемых сетевых конфигурациях см. в разделе «См. также» в конце этой обзорной темы.
SMB Direct имеет следующие требования:
- Требуется как минимум два компьютера под управлением Windows Server 2012. Никаких дополнительных функций устанавливать не нужно — технология включена по умолчанию.
- Требуются сетевые адаптеры с поддержкой RDMA. В настоящее время эти адаптеры доступны в трех различных типах: iWARP, Infiniband или RoCE (RDMA через конвергентный Ethernet).
В следующем списке представлены дополнительные ресурсы в Интернете о SMB и связанных технологиях в Windows Server 2012 R2, Windows Server 2012 и Windows Server 2016.
- Хранилище в Windows Server
- Масштабируемый файловый сервер для данных приложений
- Повышение производительности файлового сервера с помощью SMB Direct
- Разверните Hyper-V через SMB
- Развертывание многоканального SMB
- Развертывание быстрых и эффективных файловых серверов для серверных приложений
- SMB: руководство по устранению неполадок
Сервер символов общей папки (SMB) — драйверы Windows
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
Чтобы запустить сервер символов SMB, создайте общую папку и назначьте разрешения, чтобы предоставить пользователям или группам доступ к общей папке.
Создайте хранилище символов общего файлового ресурса SMB
Используйте Проводник или Управление компьютером, чтобы создать общий файловый ресурс и назначить разрешения.
Действия в следующих разделах предполагают, что символы находятся в папке D:\SymStore\Symbols.
Проводник
Чтобы назначить права доступа к файлам с помощью проводника:
Откройте проводник.
Выберите и удерживайте (или щелкните правой кнопкой мыши) папку D:\SymStore\Symbols и выберите Свойства .
Выберите вкладку Общий доступ .
Выберите Расширенный общий доступ .
В Расширенный общий доступ установите флажок Общий доступ к этой папке , а затем выберите Разрешения .
В Разрешения общего доступа выберите Все , а затем выберите Удалить .
Выбрать Добавить и введите пользователей или группы, которым вы хотите предоставить доступ к общей папке.
Для каждого добавляемого пользователя или группы выберите Разрешить для назначения разрешений «Полный доступ», «Изменение» или «Чтение».
Выберите Применить , а затем выберите OK .
Выберите OK , а затем выберите Закрыть .
Управление компьютером
Чтобы назначить разрешения на общий доступ к файлам с помощью управления компьютером:
Выберите и удерживайте (или щелкните правой кнопкой мыши) Запустите и выберите Управление компьютером .
В дереве консоли выберите Системные инструменты > Общие папки > Общие папки .
Выберите и удерживайте (или щелкните правой кнопкой мыши) и выберите Новый > Поделиться .
В Мастере создания общей папки выберите Далее .
Для Путь к папке введите D:\SymStore\Symbols , а затем выберите Далее .
Выбрать Далее .
В Разрешения на общую папку выберите Настроить разрешения , а затем выберите Пользовательский .
В Разрешения общего доступа выберите Все , а затем выберите Удалить .
Выберите Добавьте и введите пользователей или группы, которым вы хотите предоставить доступ к общей папке.
Для каждого добавляемого пользователя или группы выберите Разрешить для назначения разрешений «Полный доступ», «Изменение» или «Чтение».
Выберите Применить , а затем выберите OK .
Дважды выберите Завершить .
Проверка общей папки SMB
Настройте отладчик для использования этого пути к символу:
srv*C:\Symbols*\\MachineName\Symbols
Чтобы просмотреть расположение PDB, на которые ссылается отладчик, используйте команду lm
(список модулей). Все пути к PDB должны начинаться с C:\Symbols
.
Чтобы просмотреть журналы загрузки символов и изображений с файлового сервера \\MachineName\Symbols в C:\Symbols, запустите !sym noisy
и .reload /f
.
Установка пути к символу общей папки
Чтобы настроить путь символа отладчика ( .sympath
) для использования общей папки, у вас есть несколько вариантов. Синтаксис пути к символу определяет, кэшируется ли файл символов локально и где он кэшируется.
Прямое использование общей папки (без локального кэширования):
srv*\\MachineName\Symbols
Локальное кэширование файлов общей папки в определенную локальную папку (например, в C:\Symbols):
srv*C:\Symbols*\\MachineName\Symbols
Локальное кэширование файлов общей папки в папку %DBGHELP_HOMEDIR%\Sym:
srv**\\MachineName\Symbols
Вторая «*» в этом примере представляет кэш локального сервера по умолчанию. Дополнительные сведения об установке пути к символу и использовании локального кэша см. в разделе Путь к символу для отладчиков Windows.
Если переменная DBGHELP\_HOMEDIR
не задана, DBGHELP\_HOMEDIR
по умолчанию использует исполняемую папку отладчика (например, C:\Program Files\Windows Kits\10.0\Debuggers\x86), а кэширование происходит в C:\Program Files\Windows Kits\10.0\Debuggers\x86\Sym.
См. также
Дерево папок хранилища символов
Обратная связь
Просмотреть все отзывы о странице
Что такое SMB? Что нужно знать лицам, принимающим решения в области ИТ
Что такое SMB?
SMB — это сетевой протокол обмена файлами и ресурсами, использующий модель клиент-сервер. Клиенты SMB, такие как ПК в сети, подключаются к серверам SMB для доступа к таким ресурсам, как файлы и каталоги, или для выполнения таких задач, как печать по сети.
Часто термин CIFS — сокращение от Common Internet File System — используется как синоним SMB. Это связано с тем, что CIFS была популярной реализацией Microsoft SMB, представленной в Windows 9.5. С тех пор неформальное использование CIFS для обозначения SMB остается обычным явлением.
Как работает SMB?
На высоком уровне связь SMB проста для понимания. Клиенты SMB подключаются к серверу SMB, используя порт SMB, для доступа к общим ресурсам SMB. Получив доступ к общим ресурсам SMB, клиенты могут выполнять такие действия, как совместная работа над файлами, не загружая их на свои компьютеры, или печатать на сетевом принтере.
Что такое клиент SMB?Клиент SMB — это устройство, которое обращается к ресурсам на сервере SMB. Например, в корпоративной сети пользовательские ПК, имеющие доступ к общему диску, являются SMB-клиентами.
Что такое сервер SMB?SMB-сервер — это сетевой сервер или кластер серверов, на котором хранятся общие ресурсы SMB. Сервер SMB предоставляет или запрещает клиентам SMB доступ к общим ресурсам (также известным как общие ресурсы SMB).
Что такое общий ресурс SMB?Общий ресурс SMB, также известный как файловый ресурс SMB, — это просто общий ресурс на сервере SMB. Часто общий ресурс SMB представляет собой каталог, но это может быть любой общий ресурс. Например, сетевые принтеры часто совместно используются с помощью SMB.
Что такое порт SMB?По умолчанию современные реализации SMB используют TCP-порт 445 в качестве порта SMB. В более старых реализациях SMB (до Windows 2000) использовался SMB-порт 139.
Версии SMB: общие сведения о SMB v1, SMB v2 и SMB v3
SMB v1 (SMB1) — исходная версия SMB. SMB1 начался в 1980-х годах и прошел несколько итераций. В Windows 95 Microsoft представила CIFS как способ реализации SMB1. В современных приложениях вам НЕ следует использовать SMB v1, потому что он небезопасен (без шифрования, использовался в таких атаках, как WannaCry и NotPetya) и неэффективен (очень «болтлив» в сетях, создавая перегрузку и снижая производительность).
SMB v2 (SMB2) — SMB2 появился в Windows Vista. Эта версия SMB значительно улучшила производительность и простоту по сравнению с SMB1. Кроме того, SMBv2 предлагает улучшения безопасности. Например, в SMB2.0.2 введена целостность до аутентификации, а SMB2 не уязвим для тех же эксплойтов WannaCry и NotPeyta, которые делают SMB1 угрозой безопасности. SMB версии 2.1 был представлен в Windows 7 и Server 2008 R2, что еще больше повысило производительность и уступающие блокировки (уступающие блокировки).
SMB v3 (SMB3) — SMB3, в котором реализовано сквозное шифрование SMB, и более поздние версии являются наиболее передовыми и безопасными реализациями SMB. Первый выпуск SMB3 (также известный как SMB v3.0) появился в Windows 8 и Server 2012. SMB v3.02 был представлен в Windows 8.1 и Server 2012 R2. SMB 3.1.1 — новейший протокол SMB — был представлен в Windows 10 и Server 2016.
Воспроизведение видео
Безопасен ли SMB?
В связи с такими атаками, как WannaCry и NotPetya, которые в последние годы стали широко освещаться в новостях, вы можете задаться вопросом, безопасен ли SMB. Конечно, как и в случае с большинством сетевых протоколов,
Безопасность SMB зависит от вашей версии и реализации. Вообще говоря, сегодня SMB — это высокозащищенный протокол. Для современных реализаций SMB вот несколько основных рекомендаций по обеспечению безопасности SMB:
НЕ используйте SMBv1. В SMB1 отсутствует шифрование, он неэффективен и активно используется для атак программ-вымогателей.
По возможности используйте SMB3 или более позднюю версию. Из трех основных версий SMB SMB3, особенно SMB 3.1.1, обеспечивает наибольшую безопасность. Например, безопасное согласование диалектов SMB3 ограничивает восприимчивость к атакам «человек посередине» (MITM), а SMB 3. 1.1 использует безопасные и эффективные алгоритмы шифрования, такие как AES-128-GCM.
Ограничить доступ SMB к доверенным сетям и клиентам. Только разрешение подключений из доверенных локальных сетей или клиентов и реализация строгих политик сетевой безопасности для доступа к SMB могут значительно уменьшить поверхность атаки.
Примечание. SMB-серверы и SMB-клиенты будут использовать последнюю версию, которую они ОБЕ поддерживают. Следовательно, при обеспечении безопасности реализаций SMB необходимо учитывать как серверное, так и клиентское программное обеспечение SMB.
Общие сведения о функциях SMB
При обсуждении набора функций SMB следует учитывать четыре ключевых момента. К ним относятся: Аутентификация — SMB реализует аутентификацию как на уровне пользователя, так и на уровне общего ресурса, чтобы ограничить доступ к ресурсам. Во-первых, клиент SMB должен пройти аутентификацию на сервере SMB, чтобы получить доступ к ресурсам (это аутентификация на уровне пользователя). Оттуда клиент может получить доступ ко всем ресурсам, не защищенным аутентификацией на уровне общих ресурсов. Если проверка подлинности на уровне общего ресурса активна для общего ресурса SMB, клиенты должны ввести другой пароль, чтобы получить доступ.
Безопасная передача данных. Подписание и шифрование сообщений обеспечивают целостность и конфиденциальность данных SMB, передаваемых по сети. Одна из причин, по которой использование SMB3 так важно, заключается в том, что он предлагает большинство преимуществ в этой области, включая современные алгоритмы шифрования.
Производительность. Пропускная способность жизненно важна для удобного взаимодействия с пользователем. Для удобства использования SMB предлагает множество функций, повышающих производительность. Например, SMB Direct и удаленный прямой доступ к памяти (RDMA) повышают скорость и эффективность в кластерных средах.
Надежность. Функции этой категории связаны с масштабируемостью, доступностью, отказоустойчивостью и отказоустойчивостью. Современные версии SMB созрели для поддержки различных сред высокой доступности (HA) с такими функциями, как прозрачная отработка отказа и SOFS (масштабируемые файловые серверы).
Хотите узнать больше? Подробное техническое описание ключевых функций SMB можно найти в книге «Самые важные функции SMB», написанной экспертом по SMB Талом Видерманом.
Поиск подходящего клиентского и серверного ПО для SMB
Выбор подходящего клиента и сервера SMB для вашего приложения зависит от вашей модели развертывания. К встраиваемым системам и устройствам IoT предъявляются другие требования, чем к центрам обработки данных или корпоративным сетям. Тем не менее, есть несколько ключевых факторов, которые следует учитывать во всех случаях. Давайте взглянем на двух популярных поставщиков программного обеспечения для малого и среднего бизнеса и посмотрим, как они соотносятся друг с другом.
Системы визуализации Samba: сравнение популярных вариантов ПО для малого и среднего бизнеса
В средах, отличных от Windows, двумя наиболее популярными вариантами клиентского и серверного программного обеспечения для SMB являются Samba с открытым исходным кодом GPL v3 и коммерческие решения от Visuality Systems.
Портативность и гибкость
Samba поддерживается в различных операционных системах *nix. В дополнение к сильной поддержке Linux и Unix Visuality Systems поддерживает широкий спектр других платформ, включая платформы Windows, iOS, Java и операционные системы реального времени (RTOS), такие как ThreadX и VxWorks. Кроме того, Visuality Systems использует ориентированный на клиента подход к разработке новых функций по запросу, что делает их решения для малого и среднего бизнеса наиболее гибкими на рынке.
Лицензирование
Samba использует лицензию «авторского лева» (GPL v3), которая может создавать лицензионные конфликты и юридические проблемы в коммерческих продуктах. Visuality Systems предлагает коммерческое лицензирование OEM и патенты Microsoft для малого и среднего бизнеса, включенные в лицензионное соглашение (не нужно связываться с Microsoft!).
Поддержка поставщика
Пользователи, которым требуется коммерческая поддержка Samba, должны заключить договор со сторонним поставщиком. Visuality Systems поддерживает свое программное обеспечение для малого и среднего бизнеса напрямую через службу онлайн-поддержки.
Что такое порт SMB + пояснения к портам 445 и 139
Inside Out Security
Блог о внутренней безопасности / Безопасность данных
Содержимое
Протокол SMB обеспечивает «межпроцессное взаимодействие», то есть протокол, который позволяет приложениям и службам на компьютерах в сети взаимодействовать друг с другом. SMB включает основной набор сетевых служб, таких как файлы, печать и совместное использование устройств.
Как работает протокол SMB?
В ранних версиях Windows SMB работал поверх сетевой архитектуры NetBIOS. Microsoft изменила SMB в Windows 2000, чтобы он работал поверх TCP и использовал выделенный IP-порт. Текущие версии Windows продолжают использовать тот же порт.
Кто тебе порты тыкает?
Странный сетевой трафик и подозрительные соединения портов в вашей сети являются признаками возможного взлома. Нужна помощь, чтобы разобраться? Спроси Варониса.
Microsoft продолжает улучшать SMB для повышения производительности и безопасности: SMB2 уменьшил общую болтливость протокола, а SMB3 включил улучшения производительности для виртуализированных сред и поддержку надежного сквозного шифрования.
Диалекты протокола SMB
Как и в случае с любым другим языком, программисты создали различные диалекты SMB для разных целей. Например, Common Internet File System (CIFS) — это конкретная реализация SMB, позволяющая обмениваться файлами. Многие ошибочно принимают CIFS за протокол, отличный от SMB, хотя на самом деле они используют одну и ту же базовую архитектуру.
Важные реализации SMB включают:
- CIFS : CIFS — это общий протокол обмена файлами, используемый серверами Windows и совместимыми устройствами NAS.
- Samba : Samba — это реализация Microsoft Active Directory с открытым исходным кодом, которая позволяет компьютерам, отличным от Windows, взаимодействовать с сетью Windows.
- NQ : NQ — это еще одна переносимая реализация SMB для обмена файлами, разработанная Visuality Systems.
- МоСМБ : MoSMB — это запатентованная реализация SMB от Ryussi Technologies.
- Tuxera SMB : Tuxera также является проприетарной реализацией SMB, которая работает либо в ядре, либо в пользовательском пространстве.
- Likewise : Likewise — это многопротокольный сетевой протокол обмена файлами с идентификацией, который был приобретен EMC в 2012 году.
Что такое порты 139 и 445?
SMB всегда был сетевым протоколом обмена файлами. Таким образом, для SMB требуются сетевые порты на компьютере или сервере, чтобы обеспечить связь с другими системами. SMB использует любой IP-порт 139или 445.
- Порт 139 : SMB изначально работал поверх NetBIOS с использованием порта 139. NetBIOS — это более старый транспортный уровень, который позволяет компьютерам Windows взаимодействовать друг с другом в одной сети.
- Порт 445: Более поздние версии SMB (после Windows 2000) начали использовать порт 445 поверх стека TCP. Использование TCP позволяет SMB работать через Интернет.
Как обеспечить безопасность этих портов
Оставлять сетевые порты открытыми для обеспечения работы приложений представляет угрозу безопасности. Так как же нам удается обеспечивать безопасность наших сетей и поддерживать функциональность и время безотказной работы приложений? Вот несколько вариантов защиты этих двух важных и хорошо известных портов.
- Включите брандмауэр или защиту конечных точек, чтобы защитить эти порты от злоумышленников. Большинство решений включают черный список для предотвращения подключений с известных IP-адресов злоумышленников.
- Установите VPN для шифрования и защиты сетевого трафика.
- Внедрите VLAN для изоляции внутреннего сетевого трафика.
- Используйте фильтрацию MAC-адресов, чтобы предотвратить доступ неизвестных систем к сети. Эта тактика требует серьезного управления для поддержания списка в рабочем состоянии.
В дополнение к описанным выше средствам защиты сети вы можете реализовать план безопасности, ориентированный на данные, для защиты вашего самого важного ресурса — данных, которые находятся в общих файловых ресурсах SMB.
Понимание того, кто имеет доступ к вашим конфиденциальным данным через общие ресурсы SMB, является монументальной задачей. Varonis сопоставляет ваши данные и права доступа и обнаруживает ваши конфиденциальные данные в общих ресурсах SMB. Мониторинг ваших данных необходим для обнаружения атак и защиты ваших данных от взлома. Varonis может показать вам, где данные в ваших общих ресурсах SMB находятся под угрозой, и отслеживать эти общие ресурсы на предмет аномального доступа и потенциальных кибератак. Получите демоверсию 1:1, чтобы узнать, как Varonis отслеживает CIFS в общих ресурсах NetApp, EMC, Windows и Samba для обеспечения безопасности ваших данных.
Что вам следует сделать сейчас
Ниже приведены три способа, которыми мы можем помочь вам начать путь к снижению риска данных в вашей компании:
- Запланируйте демонстрационный сеанс с нами, где мы можем показать вам, ответить на ваши вопросы и помочь вы увидите, подходит ли вам Варонис.
- Загрузите наш бесплатный отчет и узнайте о рисках, связанных с раскрытием данных SaaS.
- Поделитесь этой записью в блоге с теми, кого вы знаете, кому будет интересно ее прочитать. Поделитесь им с ними по электронной почте, LinkedIn, Twitter, Reddit или Facebook.
Майкл Бакби
Майкл работал системным администратором и разработчиком программного обеспечения в стартапах Силиконовой долины, ВМС США и во всем, что между ними.
Получите бесплатную оценку рисков
Вы не можете защитить то, что, как вы не знаете, уязвимо.
Дайте нам 90 минут вашего времени, и мы создадим бесплатную оценку рисков, которая откроет вам глаза на ваши неизвестные слабые места — быстро и без дополнительной работы.
Начните оценку рисковПродолжайте читать
Server Message Block (SMB) — это клиент-серверный протокол, обеспечивающий доступ к таким ресурсам, как файлы, принтеры и последовательные интерфейсы, а также облегчающий обмен данными между сетевыми процессами. Клиенты SMB могут взаимодействовать с любым программным обеспечением, которое настроено на получение запросов SMB через TCP/IP или NetBIOS.
С помощью SMB вы можете смонтировать общую папку с файлами непосредственно на локальном компьютере с Windows или MacOS или на облачной виртуальной машине. Современные версии SMB предоставляют функции безопасности, такие как шифрование данных на основе AES.
SMB ранее был известен как CIFS (Common Internet File System) — это старая версия протокола SMB, которая была выведена из эксплуатации из-за неэффективности и серьезных недостатков безопасности.
Это часть нашей серии статей о Azure NetApp Files, службе обмена файлами в облаке Microsoft Azure и связанных технологиях.
Из этой статьи вы узнаете:
- Как работает протокол SMB?
- Прямой SMB
- Угрозы безопасности малого и среднего бизнеса
- Вечный синий
- WannaCry
- Нитья
- Другие угрозы
- Функции безопасности малого и среднего бизнеса
- Шифрование SMB
- Безопасное согласование диалекта
- Новый алгоритм подписи
- Общий доступ к файлам SMB в облаке с помощью Azure NetApp Files
Как работает протокол SMB?
Протокол SMB позволяет приложениям или пользователям получать доступ к файлам и другим ресурсам на удаленном сервере. Эти ресурсы могут включать папки с файлами, принтеры, почтовые ящики и т. д. Это позволяет клиентским приложениям открывать, читать, передавать и обновлять файлы на удаленном сервере. Он также позволяет обмениваться данными между клиентом и любой серверной программой, настроенной на запросы SMB.
Протокол SMB работает в режиме «запрос-ответ» — между клиентом и сервером отправляется несколько сообщений для установления соединения.
Основные версии SMB:
- Common Internet File System (CIFS) / SMB1 — протокол, который был чрезвычайно болтливым и замедлял глобальные сети из-за создаваемой им дополнительной нагрузки. Он также страдал от серьезных уязвимостей безопасности.
- SMB 2.0 — улучшено CIFS и уменьшена болтливость за счет уменьшения количества команд протокола с сотен до менее 20, а также добавлена поддержка символических ссылок. Также решены критические проблемы безопасности.
- SMB 3.0 — улучшенная версия протокола, предоставляющая такие функции, как SMB Direct, SMB Transparent Failover, а также важные функции безопасности, включая шифрование AES.
В более ранних версиях SMB использовались устаревшие протоколы, такие как IPE или NetBEUI. Современное программное обеспечение и устройства SMB обычно взаимодействуют напрямую через TCP/IP или, если это не поддерживается, через NetBIOS через TCP/IP. Клиенты и серверы могут реализовывать разные версии SMB и согласовывать версии и возможности перед подключением.
К операционным системам, поддерживающим SMB, относятся:
- Microsoft Windows — все версии, начиная с Windows 95
- Ядро Linux
- MacOS — начиная с MacOS X Lion
Бесплатные реализации SMB с открытым исходным кодом включают:
- FreeBSD — на основе реализации клиента SMB под названием smbfs
- Samba — сервер, реализующий протокол SMB и расширения Microsoft
Связанное содержимое: NFS и SMB — простая среда файловой службы в Azure (RDMA) сетевые адаптеры. Сетевые карты, совместимые с RDMA, обеспечивают высокую производительность с очень низкой задержкой и низким использованием ресурсов ЦП.
Для использования SMB Direct должны быть выполнены следующие условия:
- Соединение между двумя или более компьютерами под управлением Windows Server 2012 R2, Windows Server 2012 или более поздней версии
- Один или несколько компьютеров оснащены RDMA-совместимыми сетевыми адаптерами
Что следует учитывать при использовании SMB Direct
- При использовании SMB Direct в сценарии отработки отказа убедитесь, что сеть кластера обеспечивает достаточную производительность для SMB Direct и что все узлы кластера имеют масштабирование на стороне приема (RSS) и сеть RDMA адаптеры.
- SMB Multichannel проверяет возможности сетевых адаптеров партнеров по подключению. Вы должны включить SMB Multichannel, чтобы использовать SMB Direct.
Угрозы безопасности SMB
Некоторые из самых разрушительных программ-вымогателей и троянских программ в истории были основаны на уязвимостях протокола SMB, что позволило им распространиться в корпоративных сетях и по всему миру. Ниже приведены несколько примечательных примеров.
EternalBlue
В 2017 году в SMB версии 1 (SMBv1) была обнаружена серьезная уязвимость под названием EternalBlue. Уязвимость позволяла злоумышленнику установить вредоносное ПО на любой компьютер с запущенным протоколом SMB1 без каких-либо действий со стороны пользователя. Microsoft выпустила экстренный патч (MS17-010) для этой уязвимости, который защитил все поддерживаемые версии Windows.
WannaCry
WannaCry — это атака с использованием уязвимости EternalBlue. Он распространялся очень быстро, уничтожая скомпрометированные системы. Если в системе включен SMB1, WannaCry может использовать его без вмешательства пользователя, устанавливать полезную нагрузку программы-вымогателя, а затем сканировать и заражать другие совместимые с SMB1 системы, подключенные к зараженной системе.
WannaCry нанесла значительный ущерб правительствам, учреждениям и компаниям из медицинской, автомобильной, коммуникационной, транспортной и других отраслей. Microsoft предприняла беспрецедентные действия и предоставила исправления для версий Windows с истекшим сроком службы, включая Windows XP.
Nyetya
Nyetya изначально задумывалась как атака на цепочку поставок, а также распространялась через EternalBlue. Он также воспользовался другой уязвимостью SMB под названием EternalRomance, которая была очень эффективна в старых версиях Windows. Nyetya выглядела как программа-вымогатель, но на самом деле это была программа для удаления данных. Он отображал сообщение Ransomware, но пользователи не могли платить, и все данные о зараженных системах были потеряны.
Другие угрозы
Существуют дополнительные сценарии, в которых злоумышленники используют протокол SMB, даже не полагаясь на уязвимость. Такие угрозы, как Bad Rabbit, Olympic Destroyer и SamSam, использовали различные методы для получения доступа к сети, а оказавшись внутри, использовали SMB для получения доступа к конфиденциальным системам. В других случаях злоумышленники проводили брутфорс-атаки на общие ресурсы SMB, перебирая большое количество паролей, пока не получили доступ к конфиденциальным данным.
Функции безопасности SMB
В ответ на уязвимости безопасности SMB и широко распространенные атаки Microsoft представила несколько важных функций безопасности.
Шифрование SMB
Обеспечивает сквозное шифрование всех данных, передаваемых по SMB, предотвращая перехват сообщений в незащищенных сетях. Для работы шифрования SMB не требуется ускорение IPsec или WAN. Его можно настроить для определенного файлового ресурса или полного файлового сервера. Шифрование SMB — важная мера для защиты конфиденциальных данных и предотвращения атаки «человек посередине».
Безопасное согласование диалекта
SMB 3.0 может обнаруживать атаки, пытающиеся понизить версию протокола с 3.0 до 2.0 или удалить основные функции безопасности. Когда клиент или сервер обнаруживает такую атаку, соединение разрывается, а событие безопасности записывается в журнал событий.
Однако безопасное согласование языка не может обнаружить или предотвратить переход на SMB 1.0. Вот почему важно отключить сервер SMB 1.0, который имеет критические недостатки безопасности, на любой устаревшей системе, которая все еще поддерживает его (в частности, на старых версиях Windows).
Новый алгоритм подписи
SMB 3.0 использует современные криптографические алгоритмы для подписи, в частности AES-CMAC и AES-CCM. Эти современные алгоритмы могут значительно ускорить шифрование на современных процессорах. SMB 2.0 также поддерживает шифрование, но с использованием более старого алгоритма HMAC-SHA256.
Общий доступ к файлам SMB в облаке с помощью Azure NetApp Files
Azure NetApp Files — это технология обмена файлами от Microsoft Azure, основанная на технологии NetApp, предоставляющая вам возможности обмена файлами на предприятии с полной поддержкой протокола SMB.
Получите управление данными и хранилище корпоративного уровня в Azure, чтобы вы могли легко управлять своими рабочими нагрузками и приложениями и перемещать все свои файловые приложения в облако.
Azure NetApp Files решает проблемы с доступностью и производительностью для предприятий, которые хотят перенести в облако критически важные приложения, включая такие рабочие нагрузки, как HPC, SAP, Linux, Oracle и SQL Server, виртуальный рабочий стол Windows и многое другое.
Хотите начать? Узнайте сами о Azure NetApp Files, воспользовавшись бесплатной демонстрацией.
Все, что вам нужно знать — 4sysops
Протокол SMB — это протокол связи клиент-сервер, который с самого начала использовался Windows для совместного использования файлов, принтеров, именованных каналов и других сетевых ресурсов. SMB означает «блок сообщений сервера». Помимо обычного совместного использования ресурсов, SMB также полезен для межпроцессного взаимодействия (IPC), например, в почтовых ящиках.
Содержание
- Диалекты протокола SMB
- Понимание служб протокола SMB
- Служба сервера Lanman
- Безопасно ли отключать службу сервера Lanman?
- Служба рабочей станции Lanman
- Безопасно ли отключать службу рабочей станции Lanman?
- Важное примечание для сетевых компьютеров
- Различные реализации протокола SMB
- Вопросы безопасности для протокола SMB
- Отключение SMB 1.0
- Ограничение трафика SMB доверенной сети
- Включение функций безопасности в SMB3.0004
- Заключение
- Автор
- Последние сообщения
Сурендер Кумар
Сурендер Кумар имеет более чем двенадцатилетний опыт администрирования серверов и сетей. В сферу его интересов входят серверы Windows, Active Directory, PowerShell, веб-серверы, сети, Linux, виртуализация и тестирование на проникновение. Он любит писать для своего блога.
Последние сообщения Сурендера Кумара (посмотреть все)
Диалекты протокола SMB
Протокол SMB со временем развивался, и его различные версии обычно называют диалектами . Microsoft продолжает усердно работать над улучшением SMB с каждой новой версией Windows. The following table shows the SMB dialects used in various Windows versions:
SMB Dialect | Year | Operating System | Key Points |
SMB 1.0 | 1984 | Windows XP, 2003 и ранее | Expuralty, без шифрования, Insecure |
CIFS | 1996 | Windows 95, Windows NT 4.0 | Поддержка LIGHT LIGHT TRAIFE TRAPERS. и жесткие ссылки |
SMB 2.0 | 2006 | Windows Vista, Server 2008 | Сниженная болтливость протокола, поддержка механизма конвейерной обработки |
9 SMB 2.00066 | 2010 | Windows 7, Server 2008 R2 | Незначительные улучшения производительности, оппортунистическая блокировка, значительная поддержка MTU |
SMB 3. 0 | 2012 | Windows 8, Server 2012 | End-To-end Encryptent, SMB. аварийное переключение, прямой SMB, многоканальный SMB, горизонтальное масштабирование SMB |
SMB 3.02 | 2014 | Windows 8.1, Server 2012 R2 | Повышение производительности, возможность отключения CIFS/SMB 1.0 для повышения безопасности |
SMB 3.1.1 | 2015 | Windows 10, Server 2016, Server 2019 | Поддерживает шифрование AES-128-GCM и AES-128-CCM, поддерживает кэширование целостности каталогов с помощью mMIT, поддерживает проверку целостности до MMIT attacks |
SMB 3.1.1* | 2021 | Windows 11, Server 2022 | Supports AES-256-GCM and AES-256-CCM encryption, SMB direct with encryption, Supports SMB over QUIC |
Как видно из таблицы, Windows 11 и Windows Server 2022 по-прежнему используют диалект SMB 3.1.1, в котором мало новых функций и улучшений безопасности.
Общие сведения о службах протокола SMB
В качестве протокола клиент-сервер для SMB требуются серверная служба ( LanmanServer ) и клиентская служба ( LanmanWorkstation ). Каждый компьютер Windows, независимо от того, работает ли он под управлением серверной ОС (например, Server 2016 или Server 2019) или клиентской ОС (например, Windows 10 или Windows 11), имеет службы LanmanServer и LanmanWorkstation . Вы можете проверить статус обеих служб с помощью Get-Service Lanman* Команда PowerShell.
Просмотр состояния служб Сервера и Рабочей станции с помощью PowerShell
После печально известных атак WannaCry, Petya или подобных им было приказано отключить эти службы. Давайте сначала разберемся с этими услугами.
Служба сервера Lanman
Помните, что даже если на вашем компьютере установлена клиентская ОС, служба LanmanServer гарантирует, что ваш компьютер может действовать как сервер для размещения общих ресурсов SMB. Даже если вы не предоставляете общий доступ к каким-либо папкам самостоятельно, существуют общие ресурсы по умолчанию (такие как admin$, C$, IPC$ и т. д.), которые важны для административных целей. Все эти акции зависят от Служба LanmanServer . Вы можете использовать команду Get-SmbShare PowerShell для просмотра всех общих ресурсов на вашем компьютере.
Просмотр всех общих ресурсов на вашем компьютере с помощью PowerShell
Информация о службе LanmanServer хранится в следующем разделе реестра:
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer
Безопасно ли отключать Служба серверов Lanman?
Как обсуждалось выше, служба LanmanServer важна для того, чтобы ваш компьютер мог размещать общие ресурсы SMB. Если вы остановите эту службу, весь общий доступ перестанет работать, и другие компьютеры не смогут получить доступ к ресурсам, к которым вы предоставляете общий доступ на вашем компьютере (включая папки, принтеры и общие административные ресурсы по умолчанию). Это должно дать вам представление о том, насколько на самом деле важна служба LanmanServer, особенно для файлового сервера или контроллера домена в Active Directory (из-за sysvol и netlogon акций).
Для домашних пользователей, если вы не используете какие-либо службы общего доступа к файлам или принтерам, эту службу можно безопасно отключить. Прежде чем отключить его, используйте следующую команду, чтобы проверить, есть ли какие-либо службы, зависящие от него:
Get-Service LanmanServer -DependentServices
Просмотр зависимых служб на LanmanServer с помощью PowerShell
Вы можете увидеть мой компьютер рабочий стол докера служба зависит на сервисе LanmanServer. Если я отключу LanmanServer, служба Docker не сможет запуститься. Если вы не видите какой-либо важной зависимой службы на своем компьютере, вы можете безопасно отключить службу LanmanServer с помощью следующей команды PowerShell:
Set-Service LanmanServer -StartupType Disabled -PassThru | Stop-Service -Force
Отключение и остановка службы LanmanServer с помощью PowerShell
Перезагрузите компьютер после выполнения этой команды, и вы заметите, что порт 445 больше не прослушивается. Отключение этой службы не повлияет на вашу возможность пользоваться Интернетом.
Служба рабочей станции Lanman
Аналогичным образом служба LanmanWorkstation на вашем компьютере гарантирует, что она может использовать общие ресурсы SMB и общие принтеры с удаленных компьютеров или серверов. Информация об этой службе хранится в следующем разделе реестра:
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
Безопасно ли отключать службу рабочей станции Lanman?
Останов службы LanmanWorkstation означает, что вы, по сути, лишаете компьютер возможности использовать удаленные общие ресурсы SMB. Если вы запустите команду Get-Service LanmanWorkstation -DependentServices , вы заметите две службы (Netlogon и Remote Desktop Configuration), которые зависят от службы LanmanWorkstation. Как следует из названия, netlogon — важная служба для входа в сеть и аутентификации. Если вы отключите его, ваш компьютер не сможет правильно взаимодействовать с другими сетевыми устройствами.
Просмотр зависимых служб на LanmanWorkstation с помощью PowerShell
Опять же, домашние пользователи, которые не используют какие-либо сетевые службы, могут отключить эту службу. Его отключение не повлияет на вашу возможность использовать Интернет, локальный принтер (подключенный через USB) или даже сетевой принтер (имеющий встроенную поддержку TCP/IP). Помните, что ваш компьютер не сможет получить доступ к общим ресурсам на удаленных компьютерах, а другие компьютеры не смогут получить доступ к вашему компьютеру. Для обычного домашнего компьютера отключение этой службы может быть полезным с точки зрения безопасности. Чтобы отключить службу LanmanWorkstation, используйте следующую команду:
Set-Service LanmanWorkstation -StartupType Disabled -PassThru | Stop-Service -Force
Отключение и остановка службы LanmanWorkstation с помощью PowerShell
Когда служба LanmanWorkstation остановлена на компьютере, любой, кто попытается получить доступ к этому компьютеру из сети, увидит Указанное сетевое имя больше недоступно ошибка, как показано на следующем снимке экрана:
Указанное сетевое имя больше недоступно
Если вы получаете эту ошибку в среде своего домена или рабочей группы, убедитесь, что служба LanmanWorkstation запущена на удаленном компьютере, к которому вы пытаетесь подключиться. После запуска этой службы не забудьте также запустить зависимую службу netlogon ; в противном случае вы можете получить следующую ошибку:
Попытка входа в систему, но служба входа в сеть не запущена
Важное примечание для сетевых компьютеров
Если ваш компьютер является частью рабочей группы или доменной сети, я бы настоятельно рекомендуем оставить оба Службы LanmanServer и LanmanWorkstation включены. Отключение их не принесет никакой пользы, а скорее доставит вам как администратору много головной боли. Вместо того, чтобы отключать их, достаточной мерой безопасности будет надлежащее ограничение доступа к соответствующим портам (TCP 139 и 445) доверенной сети.
Различные реализации протокола SMB
Протокол SMB является одним из самых популярных протоколов для обмена файлами и ресурсами по сети. И не только в Windows — он также широко применяется в других операционных системах, таких как Linux/Unix и macOS. Ниже приведены некоторые из наиболее популярных реализаций протокола SMB:
- CIFS. Общая файловая система Интернета (CIFS) представляет собой реализацию Microsoft протокола SMB.
- Samba — реализация SMB с открытым исходным кодом, очень популярная в Linux/Unix и macOS.
- NQ (хранилище YNQ, jNQ, NQ) — это еще одна реализация SMB, разработанная Visuality Systems.
- Fusion File Share — ранее известная как Tuxera SMB, это собственная реализация Samba, разработанная Tuxera Inc.
Обратите внимание, что протокол SMB предназначен не только для Windows. Чтобы дать вам приблизительное представление о популярности SMB, существует множество других реализаций SMB на различных языках программирования — JFileServer (на основе Java), pySMB и impacket (на основе Python), MoSMB (на основе mojo) и так далее.
Вопросы безопасности для протокола SMB
Помните печально известные атаки WannaCry и Petya и эксплойт EternalBlue? Все они так или иначе ведут к уязвимости SMB 1.0. Поэтому очень важно охватить некоторые функции SMB, которые можно использовать для защиты связи SMB в вашей сети.
Мы рассмотрим следующие рекомендации по обеспечению безопасности SMB-коммуникаций:
- Явно отключите устаревшие диалекты SMB (в частности, SMB 1.0) и NBT в вашей сети.
- Ограничить доступ портов SMB доверенными сетями и клиентами.
- По возможности всегда используйте последний диалект SMB (SMB 3.1.1) и включайте функции безопасности.
Отключение SMB 1.0
Как мы уже говорили, SMB 1.0 больше не считается безопасным. Он неэффективен, не поддерживает шифрование и использовался в прошлом. Рекомендуется явно отключить его в вашей сети. Есть несколько способов сделать это, и рассмотрение всех возможных способов выходит за рамки этой статьи.
Помните, что если в вашей сети по-прежнему много устаревших клиентов (таких как старые принтеры, компьютеры с Windows XP или другие устройства с действительно старой прошивкой), не отключайте сразу поддержку SMB 1.0, так как это может вызвать проблемы. и потенциальная потеря производительности. Сначала необходимо включить ведение журнала аудита, а затем отслеживать журналы, чтобы определить устройства, которые все еще используют SMB 1.0. Определив количество таких старых клиентов, вы сможете оценить общее влияние отключения поддержки SMB 1.0 в вашей сети. Чтобы включить ведение журнала аудита, выполните следующую команду PowerShell на файловом сервере, где размещены все общие ресурсы SMB:
Set-SmbServerConfiguration -AuditSmb1Access $True -Force
После выполнения этой команды подождите несколько дней, а затем проверьте журналы доступа в средстве просмотра событий. Расположение файла журнала:
Журналы приложений и служб > Microsoft > Windows > SMBServer > Audit
На следующем снимке экрана показано, как выглядит журнал событий доступа SMB 1.5 9016: Проверка журналов аудита доступа SMB 1.0 в средстве просмотра событий
Такие события будут регистрироваться с кодом Идентификатор события: 3000 и Источник: SMBServer . Вы можете записать IP-адрес клиента и идентифицировать такие устройства или использовать следующую команду PowerShell для просмотра этих событий:
Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit | Out-GridView
После выявления таких устройств их можно обновить или принять определенные меры, чтобы должным образом изолировать их от остальной сети, чтобы снизить угрозу безопасности.
Когда вы будете готовы отключить поддержку SMB 1.0, выполните следующие действия:
Чтобы определить, включен ли SMB 1.0, используйте следующую команду:
Get-SmbServerConfiguration | выберите EnableSMB1Protocol
Проверка того, включен ли протокол SMB 1.0 с помощью PowerShell
Если вы видите True в столбце EnableSMB1Protocol , это означает, что ваш сервер все еще поддерживает SMB 1.0.
Чтобы отключить поддержку SMB 1.0 на вашем сервере, выполните следующую команду:
Set-SmbServerConfiguration -EnableSMB1Protocol $False -Force
Отключение поддержки SMB 1. 0 с помощью PowerShell
Если в вашей сети полностью работают новейшие устройства и нет устаревшего клиента, вы можете отключить поддержку SMB 2.0 и заставить каждое устройство использовать Диалект SMB 3.0, более безопасный. Чтобы отключить SMB 2.0, используйте следующую команду:
Set-SmbServerConfiguration -EnableSMB2Protocol $False -Force
Чтобы узнать, какой диалект SMB используется большинством клиентских компьютеров в вашей сети с точки зрения файлового сервера, вы можете использовать следующую команду на файловый сервер:
Get-SmbSession | select ClientComputerName, ClientUserName, NumOpens, Dialect
Здесь команда Get-SmbSession показывает диалект SMB, используемый различными клиентами для связи с общими ресурсами SMB, размещенными службой LanmanServer на файловом сервере.
Просмотр сеансов SMB для отображения диалекта SMB, используемого клиентами на файловом сервере
На приведенном выше снимке экрана показано, что большинство клиентских устройств в моей сети используют SMB 3. 1.1, за исключением одного клиента, который все еще использует SMB 3.0. .2 (отмечено оранжевым цветом). Это связано с тем, что это устройство Windows Server 2012 R2, и нам все еще нужно обновить его до Server 2019..
Аналогично, вы можете использовать следующую команду на клиентском компьютере, чтобы узнать, какой диалект SMB используется для доступа к общим ресурсам SMB:
Get-SmbConnection
Просмотр подключений SMB для отображения диалекта SMB, используемого конкретным клиентом
Здесь команда Get-SmbConnection показывает диалект SMB, используемый для доступа к удаленным общим ресурсам SMB с использованием службы LanmanWorkstation на локальном компьютере.
Ограничение трафика SMB доверенной сетью
Чтобы ограничить трафик SMB только доверенной сетью, вы можете использовать различные методы, такие как реализация VLAN, использование политики IPsec или просто создание ограничительных правил брандмауэра.
Вы можете настроить брандмауэр Защитника Windows в каждой системе, чтобы включить Общий доступ к файлам и принтерам только для профилей Private или Domain . Для этого используйте следующую команду в PowerShell:
Set-NetFirewallRule -DisplayGroup «Общий доступ к файлам и принтерам» -Enabled True -Profile Private
Никогда не включайте это правило для профиля Public . Чтобы сделать это с помощью пользовательского интерфейса, откройте брандмауэр Защитника Windows и щелкните ссылку Разрешить приложение или функцию через брандмауэр Защитника Windows в левом углу. Теперь установите флажок для Общий доступ к файлам и принтерам только в домене или Общедоступный . Не устанавливайте флажок под Public . Для справки см. следующий снимок экрана:
Разрешение общего доступа к файлам и принтерам через брандмауэр Защитника Windows
Конечно, вы также можете использовать брандмауэр Защитника Windows в режиме повышенной безопасности , чтобы определить более строгие и детализированные правила для файлов f и файлов p rinter s .
Еще одна вещь, которую я хочу подчеркнуть, это явное отключение портов TCP 445 и 139 в брандмауэре периметра, чтобы быть абсолютно уверенным, что трафик SMB никогда не покидает вашу сеть. Оставлять эти порты открытыми для Интернета представляет большую угрозу безопасности.
Включение функций безопасности в SMB 3.x
Корпорация Майкрософт внесла несколько серьезных изменений в SMB 3.0 для повышения безопасности и производительности. Настоятельно рекомендуется всегда использовать последний диалект SMB (SMB 3.1.1 является последним на момент написания статьи), когда это возможно. SMB 3.x предлагает следующие функции безопасности, о которых стоит упомянуть:
- Шифрование SMB
- Подписание SMB
- Целостность перед аутентификацией SMB
- Ограничитель скорости аутентификации SMB (только в следующей версии сервера)
Шифрование SMB
Сквозное шифрование можно включить для каждого общего ресурса SMB отдельно или для всего файлового сервера. Шифрование SMB контролируется свойством EncryptData обоих серверов SMB. Чтобы включить шифрование для определенного общего ресурса (например, для проектов), используйте следующую команду PowerShell:
Set-SmbShare -Name Projects$ -EncryptData $True -Force
Чтобы включить шифрование на всем файловом сервере, используйте следующую команду PowerShell. :
Set-SmbServerConfiguration –EncryptData $True -Force
После включения шифрования для общего ресурса SMB клиенты, не поддерживающие шифрование, не смогут получить к нему доступ.
Включение шифрования SMB на всем файловом сервере с помощью PowerShell
Теперь могут возникнуть ситуации (например, в переходный период при обновлении старых клиентов), когда вам нужно включить шифрование на общих ресурсах SMB, но вы все равно хотите разрешить старые клиенты которые еще не поддерживают шифрование. В этой ситуации вы можете запустить следующую команду PowerShell:
Set-SmbServerConfiguration -RejectUnencryptedAccess $False -Force
Это не рекомендуется, так как в первую очередь противоречит цели включения шифрования, но полезно для разрешения устаревшим клиентам до тех пор, пока они не будут полностью обновлены.
Подписание протокола SMB
Подписание SMB или подпись безопасности — это функция безопасности протокола SMB, которая предотвращает любое изменение данных во время связи SMB. Это достигается путем добавления хэша всего сообщения в поле подписи заголовка SMB. Если кто-то изменит данные при передаче, хэш не будет совпадать, и SMB узнает, что данные были подделаны. Хотя подписывание SMB существует с SMB 1.0, оно со временем эволюционировало, чтобы соответствовать современным требованиям безопасности. SMB 1.0 поддерживает подписывание сообщений на основе MD5, а SMB 3.1.1 поддерживает подписывание на основе AES CMAC.
Обратите внимание, что подпись — это не то же самое, что шифрование. В то время как шифрование затрудняет считывание данных перехватчиком, подпись отвечает за проверку целостности данных. Подпись SMB контролируется свойством RequireSecuritySignature как сервера SMB, так и клиента. Чтобы включить подписывание SMB на сервере, используйте следующую команду:
Set-SmbServerConfiguration -RequireSecuritySignature $True -Force
Существует еще одно свойство с именем EnableSecuritySignature, , который используется только с SMB 1. 0. В SMB 2.0 или более поздней версии этот параметр игнорируется и не оказывает никакого влияния. Вы также можете управлять подписыванием SMB в среде своего домена с помощью групповой политики как для сервера SMB, так и для клиентов.
Включение подписи SMB с помощью объекта групповой политики
В следующей таблице показано, когда будет происходить и когда не будет подписываться во время связи SMB:
Сервер SMB RequireSecuritySignature = 0 | SMB Server RequireSecuritySignature = 1 | |
SMB Client RequireSecuritySignature = 0 | Not signed | Signed |
SMB Client RequireSecuritySignature = 1 | Signed | Подписано |
Вы можете видеть, что подписание SMB не произойдет, только когда оба клиента SMB и Сервер SMB имеет EnableSecuritySignature , установленный на False . Во всех остальных случаях произойдет подписание.
Целостность до проверки подлинности SMB
Целостность до проверки подлинности была введена в дополнение к подписи SMB. Проблема с подписью SMB заключалась в том, что она могла защитить целостность данных после установки сеанса SMB. Однако, если кто-то становится посредником на начальном этапе переговоров SMB, он все равно может подделать данные. Целостность перед аутентификацией решила эту проблему. Это обязательная функция безопасности, представленная в SMB 3.1.1 с использованием хэша SHA-512 для улучшения проверки целостности данных даже на начальном этапе установления соединения. Он защищает от атак с понижением версии протокола, когда злоумышленник может понизить зашифрованное соединение SMB 3.1.1 до протокола SMB 2.x, чтобы получить незашифрованное соединение. В качестве обязательной функции она включена по умолчанию в SMB 3.1.1.
Все рассмотренные выше функции безопасности сервера SMB можно просмотреть с помощью следующей команды PowerShell:
Get-SmbServerConfiguration | select EnableSMB1Protocol, EncryptData, RejectUnencryptedAccess, EnableSecuritySignature, RequireSecuritySignature
Просмотр выбранных функций безопасности конфигурации сервера SMB
Все эти функции принимают логическое значение. Итак, чтобы включить или отключить любую функцию, вам просто нужно указать имя параметра вместе с 9Командлет 0987 Set-SmbServerConfiguration , а затем введите $true или $false , чтобы переключить параметр функции. Следующая команда PowerShell отключает SMB 1.0 и одновременно включает все политики безопасности SMB на файловом сервере:
Set-SmbServerConfiguration -EnableSMB1Protocol $false -EncryptData $true -EnableSecuritySignature $true -RequireSecuritySignature $true -Force
Отключение SMB 1.0 и включение шифрования SMB, подписывание с помощью одной команды PowerShell
Ограничитель скорости аутентификации SMB (доступен только в предварительной версии Server vNext)
Атаки Rainbow table или атаки методом подбора не редкость в Интернете. Плохая идея открывать порты SMB в Интернете, поскольку SMB не имеет встроенных функций для замедления таких атак. С современными вычислительными мощностями обычный ПК сегодня может перебирать тысячи паролей в секунду.
В предстоящей версии Windows Server vNext, , которая все еще находится на стадии предварительной версии, Microsoft представила новую функцию SMB для замедления таких атак грубой силы. Эта функция известна как ограничитель скорости аутентификации SMB (или сокращенно ограничитель скорости SMB), и ею можно управлять с помощью -InvalidAuthenticationDelayTimeInMs параметр командлета Set-SmbServerConfiguration . Чтобы просмотреть текущий параметр, используйте следующую команду:
Get-SmbServerConfiguration | select InvalidAuthenticationDelayTimeInMs
Время задержки недействительной проверки подлинности по умолчанию составляет 2 секунды (2000 миллисекунд), но вы можете установить его до 10 000 миллисекунд (10 секунд). Представьте, насколько задержка в 10 секунд может повлиять на замедление атак грубой силы. Чтобы установить ограничитель скорости с помощью PowerShell, используйте следующую команду:
Set-SmbServerConfiguration -InvalidAuthenticationDelayTimeInMs 10000 -Force
Установка времени задержки недопустимой проверки подлинности в Server vNext с помощью PowerShell
Эта команда устанавливает задержку недопустимой проверки подлинности на 10 секунд, что является максимальной поддерживаемой задержкой.