Поделиться через


Улучшения в безопасности SMB

В этой статье описываются улучшения безопасности SMB в Windows Server и Windows.

Шифрование SMB

Шифрование SMB обеспечивает сквозное шифрование данных SMB и защищает данные от перехвата в ненадежных сетях. Вы можете развернуть шифрование SMB с минимальными усилиями, но это может потребовать других затрат на специализированное оборудование или программное обеспечение. Требования в отношении ускорителей IPsec или глобальной сети (WAN) отсутствуют. Шифрование SMB можно настроить на основе общего ресурса для всего файлового сервера или при сопоставлении дисков.

Примечание.

Шифрование SMB не охватывает безопасность неактивных данных, которые обычно обрабатываются с помощью шифрования диска BitLocker.

Шифрование SMB можно рассмотреть для любого сценария, в котором конфиденциальные данные должны быть защищены от атак перехвата. Вот возможные сценарии.

  • Конфиденциальные данные рабочей роли информации перемещаются с помощью протокола SMB. Шифрование SMB обеспечивает сквозную конфиденциальность и целостность между файловым сервером и клиентом. Он обеспечивает эту безопасность независимо от сетей, пройденных, таких как подключения широкой сети (глобальной сети), поддерживаемые поставщиками, не являющихся корпорацией Майкрософт.
  • Протокол SMB 3.0 позволяет файловым серверам обеспечивать постоянное доступное хранилище для серверных приложений, таких как SQL Server или Hyper-V. Включение шифрования SMB позволяет защитить эту информацию от атак. Шифрование SMB проще использовать, чем выделяемые аппаратные решения, необходимые для большинства сетей хранения данных (SAN).

На сервере Windows Server 2022 и в ОС Windows 11 применяются пакеты средств криптографической защиты AES-256-GCM и AES-256-CCM для шифрования SMB 3.1.1. Windows автоматически согласовывает этот более сложный метод шифра при подключении к другому компьютеру, поддерживающему его. Этот метод можно также заманить с помощью групповой политики. Windows по-прежнему поддерживает AES-128-GCM и AES-128-CCM. По умолчанию AES-128-GCM согласовывается с SMB 3.1.1, что обеспечивает оптимальный баланс между безопасностью и производительностью.

Windows Server 2022 и Windows 11 SMB Direct теперь поддерживают шифрование. Раньше при включении шифрования SMB функция прямого размещения данных отключалась, что уменьшало производительность RDMA до уровня TCP. Теперь данные шифруются перед размещением, что приводит к относительно незначительному снижению производительности при добавлении конфиденциальности пакетов AES-128 и AES-256. Чтобы включить шифрование, можно использовать Windows Admin Center, Set-SmbServerConfiguration или групповую политику усиления защиты UNC.

Кроме того, отказоустойчивые кластеры Windows Server теперь поддерживают гибкий контроль над шифрованием обмена данными внутри узлов для общих томов кластера (CSV) и уровня шины хранилища (SBL). Эта поддержка означает, что при использовании Локальные дисковые пространства и SMB Direct можно шифровать обмен данными между востоком и западом в самом кластере для повышения безопасности.

Внимание

Существуют заметные операционные затраты на производительность с любой сквозной защитой шифрования по сравнению с нешифрованным.

Включение шифрования SMB

Вы можете включить шифрование SMB для всего файлового сервера или только для определенных общих папок. Используйте одну из следующих процедур, чтобы включить шифрование SMB.

Включение шифрования SMB с помощью Windows Admin Center

  1. Скачайте и установите Windows Admin Center.
  2. Подключитесь к файловому серверу.
  3. Выберите файл и общий доступ к файлам.
  4. Перейдите на вкладку "Общие папки ".
  5. Чтобы требовать шифрование в общей папке, выберите имя общей папки и нажмите кнопку "Включить шифрование SMB".
  6. Чтобы требовать шифрование на сервере, выберите параметры файлового сервера.
  7. В разделе шифрования SMB 3 выберите "Обязательный" от всех клиентов (другие отклоняются) и нажмите кнопку "Сохранить".

Включение шифрования SMB с помощью усиления защиты UNC

UNC Hardening позволяет настроить клиенты SMB для шифрования независимо от параметров шифрования сервера. Эта функция помогает предотвратить атаки перехвата. Сведения о настройке защиты UNC см. в статье MS15-011: уязвимость в групповой политике может разрешить удаленное выполнение кода. Дополнительные сведения об атаках перехвата см. в статье "Защита пользователей от атак перехвата с помощью защиты клиента SMB".

Включение шифрования SMB с помощью Windows PowerShell

  1. Войдите на сервер и запустите PowerShell на компьютере в сеансе с повышенными привилегиями.

  2. Чтобы включить шифрование SMB для отдельной общей папки, выполните следующую команду.

    Set-SmbShare –Name <sharename> -EncryptData $true
    
  3. Чтобы включить шифрование SMB для всего файлового сервера, выполните следующую команду.

    Set-SmbServerConfiguration –EncryptData $true
    
  4. Чтобы создать общую папку SMB с включенным шифрованием SMB, выполните следующую команду.

    New-SmbShare –Name <sharename> -Path <pathname> –EncryptData $true
    

Сопоставление дисков с шифрованием

  1. Чтобы включить шифрование SMB при сопоставлении диска с помощью PowerShell, выполните следующую команду.

    New-SMBMapping -LocalPath <drive letter> -RemotePath <UNC path> -RequirePrivacy $TRUE
    
  2. Чтобы включить шифрование SMB при сопоставлении диска с помощью CMD, выполните следующую команду.

    NET USE <drive letter> <UNC path> /REQUIREPRIVACY
    

Рекомендации по развертыванию шифрования SMB

По умолчанию, если для общей папки или сервера включено шифрование SMB, доступ к указанным общим папкам разрешен только клиентам SMB 3.0, 3.02 и 3.1.1. Это ограничение применяет намерение администратора защитить данные для всех клиентов, обращаюющихся к общим папкам.

Однако в некоторых случаях администратор может разрешить незашифрованный доступ для клиентов, которые не поддерживают SMB 3.x. Эта ситуация может произойти во время переходного периода, когда используются смешанные версии операционной системы клиента. Чтобы разрешить незашифрованный доступ для клиентов, не поддерживающих SMB 3.x, введите следующий сценарий в Windows PowerShell:

Set-SmbServerConfiguration –RejectUnencryptedAccess $false

Примечание.

Разрешать незашифрованный доступ при развернутом шифровании не рекомендуется. Вместо этого рекомендуется обновить клиенты, чтобы они поддерживали шифрование.

Возможность целостности предварительной проверки подлинности, описанная в следующем разделе, запрещает атаку перехвата от понижения уровня подключения с SMB 3.1.1 до SMB 2.x (который будет использовать незашифрованный доступ). Однако это не предотвращает понижение уровня до SMB 1.0, что также приведет к незашифрованным доступу.

Чтобы клиенты SMB 3.1.1 всегда использовали шифрование SMB для доступа к зашифрованным общим папкам, необходимо отключить сервер SMB 1.0. Инструкции по подключению к серверу с помощью Windows Admin Center и откройте расширение "Файлы и общий доступ к файлам", а затем перейдите на вкладку общих папок , чтобы получить запрос на удаление. Дополнительные сведения см. в статье "Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows".

Если параметр -RejectUnencryptedAccess остается в параметре по умолчанию $true, доступ к общим папкам разрешен только для клиентов SMB 3.x с поддержкой шифрования (клиенты SMB 1.0 также отклоняются).

Рассмотрите следующие проблемы при развертывании шифрования SMB:

  • Для шифрования и дешифрования данных функция шифрования SMB использует алгоритм AES-GCM и CCM. AES-CMAC и AES-GMAC также обеспечивают проверку целостности данных (подписывание) для зашифрованных общих папок, независимо от параметров подписывания SMB. Если вы хотите включить подписывание SMB без шифрования, это можно сделать. Дополнительные сведения см. в статье Надежная настройка подписывания SMB.
  • При попытке доступа к общей папке или серверу могут возникнуть проблемы, если в организации используются устройства ускорения широкой сети (WAN).
  • С конфигурацией по умолчанию (где нет незашифрованного доступа, разрешенного для зашифрованных общих папок), если клиенты, не поддерживающие SMB 3.x, пытаются получить доступ к зашифрованной общей папке, идентификатор события 1003 регистрируется в журнале событий Microsoft-Windows-SmbServer/Operations, а клиент получает сообщение об ошибке с отказом в доступе.
  • Шифрование SMB и файловая система шифрования (EFS) в файловой системе NTFS не связаны, а шифрование SMB не требует или зависит от использования EFS.
  • Шифрование SMB и шифрование диска BitLocker не связаны, а шифрование SMB не требуется или зависит от использования шифрования дисков BitLocker.

Целостность предварительной проверки подлинности.

SMB 3.1.1 может обнаруживать атаки перехвата, которые пытаются изменить протокол или возможности, которые клиент и сервер согласовывают с помощью целостности предварительной проверки подлинности. Целостность предварительной проверки подлинности является обязательной функцией в SMB 3.1.1. Он защищает от любых ошибок в сообщениях о настройке переговоров и сеансов с помощью криптографического хэширования. Результирующий хэш используется в качестве входных данных для получения криптографических ключей сеанса, включая его ключ подписывания. Этот процесс позволяет клиенту и серверу взаимно доверять свойствам подключения и сеанса. Когда клиент или сервер обнаруживает такое нападение, подключение отключено, а идентификатор события 1005 регистрируется в журнале событий Microsoft-Windows-SmbServer/Operations.

Из-за этой защиты и использования полных возможностей шифрования SMB настоятельно рекомендуется отключить сервер SMB 1.0. Инструкции по подключению к серверу с помощью Windows Admin Center и откройте расширение "Файлы и общий доступ к файлам", а затем перейдите на вкладку общих папок , чтобы получить запрос на удаление. Дополнительные сведения см. в статье "Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows".

Новый алгоритм подписывания

SMB 3.0 и 3.02 используют более новый алгоритм шифрования для подписывания: AES — код проверки подлинности сообщений на основе шифров (CMAC). В SMB 2.0 использовался старый алгоритм шифрования HMAC-SHA256. AES-CMAC и AES-CCM могут значительно ускорить шифрование данных на самых современных процессорах с поддержкой инструкций AES.

В Windows Server 2022 и Windows 11 применяется AES-128-GMAC для подписывания SMB 3.1.1. Windows автоматически согласовывает этот метод шифра при подключении к другому компьютеру, поддерживающему его. Windows по-прежнему поддерживает AES-128-CMAC. Дополнительные сведения см. в статье Надежная настройка подписывания SMB.

Отключение SMB 1.0

SMB 1.0 не устанавливается по умолчанию, начиная с Windows Server версии 1709 и Windows 10 версии 1709. Чтобы получить инструкции по удалению SMB1, подключитесь к серверу с помощью Windows Admin Center, откройте расширение "Файлы и общий доступ к файлам", а затем перейдите на вкладку общих папок для удаления. Дополнительные сведения см. в статье "Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows".

Если он по-прежнему установлен, необходимо немедленно отключить SMB1. Дополнительные сведения об обнаружении и отключении использования SMB 1.0 см. в разделе "Остановка использования SMB1". Сведения о очистке программного обеспечения, которое ранее или в настоящее время требует SMB 1.0, см. в разделе SMB1 Product Clearinghouse.