Какой инструмент позволяет применять smb-шифрование на файловом сервере

Обновлено: 21.11.2024

Подписание SMB помогает защитить обмен данными и данные в сетях. Доступна функция, которая подписывает цифровыми подписями SMB-сообщения между устройствами на пакетном уровне. Когда вы включаете эту функцию, получатель SMB-сообщения аутентифицирует себя и подтверждает подлинность данных. Это помогает защититься от таких атак, как атаки «человек посередине» (MITM).

Блок сообщений сервера (SMB) — это файловый протокол, используемый в Windows, Linux и других устройствах хранения. SMB позволяет устройствам легко обмениваться файлами и хранить их, а также позволяет устройствам и/или людям получать доступ к этим файлам. SMB существует уже очень много лет, и Microsoft пытается гарантировать, что первая версия SMB больше не будет использоваться из-за неотъемлемых угроз безопасности, а также доступны более новые версии, которые делают гораздо больше.

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

Включение подписи SMB

Подписание в SMBv1 отличается от более поздних версий, поэтому в этой статье блога мы не будем обсуждать, как включить подписывание в SMBv1, поскольку мы хотим отойти от этого. Однако для настройки подписи SMB для SMBv2 и выше необходимо сделать следующее:

Для начала откройте средство управления групповыми политиками. Это можно сделать либо через Диспетчер серверов > Инструменты > Управление групповыми политиками, либо запустив gpmc.msc в PowerShell или командной строке. Затем, в зависимости от ваших предпочтений, либо создайте новую групповую политику, либо отредактируйте существующую.

После того, как ваша групповая политика перейдет в режим редактирования, перейдите в раздел Конфигурация компьютера > Политики > Параметры Windows > Параметры безопасности > Локальные политики > Параметры безопасности.

Есть 4 элемента политики, на которые вам нужно обратить внимание, все эти элементы политики можно включить или отключить.

Подписание пакетов сервера SMB

Следующие два элемента политики применяются к SMB-серверу, на котором размещены файлы, или говорят о том, что это системы Windows, которые обслуживают любые файлы или принтеры для обмена данными по SMB с клиентами в сети.

Сетевой сервер Microsoft: Подписывать сообщения цифровой подписью (всегда)
Этот параметр политики определяет, требуются ли серверу пакеты. Он проверяет, нужно ли согласовывать подписание пакетов SMB, прежде чем будет разрешена дальнейшая связь с клиентом SMB.

По умолчанию это включено для контроллеров домена, но отключено для других рядовых серверов в домене.

Сетевой сервер Microsoft: Подписывать сообщения цифровой подписью (с согласия клиента)
Этот параметр политики определяет, будет ли сервер согласовывать подписание пакетов SMB с клиентами, которые его запрашивают. Если этот параметр включен, сервер будет согласовывать подписание пакетов SMB в соответствии с запросом клиента. Если на клиенте включено подписывание пакетов SMB, оно будет согласовано с сервером.

Подписание пакетов клиента SMB

Следующие политики применяются к клиентам SMB, то есть к любому устройству Windows, которое устанавливает соединение с сервером SMB.

Сетевой клиент Microsoft: использовать цифровую подпись для сообщений (всегда)
Эта политика гарантирует, что клиент SMB всегда будет требовать подписи пакетов SMB, если он включен. Если сервер не согласен поддерживать подписание пакетов SMB с клиентом, клиент не будет связываться с сервером.

Сетевой клиент Microsoft: использовать цифровую подпись для обмена данными (с согласия сервера)
Эта политика включена по умолчанию и определяет, пытается ли клиент SMB согласовать подписание пакетов SMB с сервером.

Начиная с Windows Server 2012 и Windows 8, у нас есть версия 3.0 протокола SMB. Эта версия включает в себя несколько улучшений безопасности SMB, одним из которых является шифрование. Внедрение этого усовершенствования позволяет нам шифровать данные, передаваемые по сети между файловым сервером SMB и клиентом.

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

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

Обходной путь PowerShell

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

Затем мы должны проверить версию протокола, используемую клиентами, которые подключаются к файловому серверу. Чтобы получить версию протокола SMB, используемого клиентами. Вы должны использовать командлет Get-SmbConnection со следующим синтаксисом.

Если вы хотите принудительно шифровать все сеансы SMB на файловом сервере, вы должны использовать Set-SmbServerConfiguration со следующим синтаксисом.

Если вместо этого вы хотите включить шифрование SMB только для определенного общего файлового ресурса, необходимо использовать командлет Set-SmbShare со следующим синтаксисом.

Вы также можете включить шифрование SMB при определении общей папки. Для этого вы должны использовать New-SmbShare со следующим синтаксисом.

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

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

Важно:

Обратите внимание, что при любой сквозной защите с шифрованием операционные затраты заметно снижаются по сравнению с незашифрованной защитой.

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

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

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

<р>3. Чтобы создать новую общую папку SMB с включенным шифрованием SMB, введите следующий сценарий:

Server Message Block (SMB) — это протокол, который долгое время использовался компьютерами Windows для обмена файлами, принтерами и другими ресурсами между компьютерами в сети. Блоки сообщений сервера — это запросы, которые клиент SMB отправляет на сервер, и ответы, которые сервер отправляет обратно клиенту.

За прошедшие годы Microsoft улучшила протокол SMB. В 2006 году они выпустили новую версию SMB 2.0 в сочетании с Vista и SMB 2.1 в Windows 7. Версия 2 была основной версией со значительными изменениями, включая совершенно другой формат пакетов. В Windows 8 представлена ​​еще одна новая версия — SMB 3.0. Если вы хотите углубиться в технические особенности протоколов, различия между ними и то, как они работают на уровне протокола, вы можете загрузить этот 394-страничный документ в формате PDF с веб-сайта Microsoft, посвященный спецификации протокола SMB версий 2 и 3.

Каждое воплощение включало улучшения производительности и безопасности, но были обнаружены уязвимости SMB, которые подвергают системы потенциальным атакам.Например, в 2010 году Microsoft выпустила критический бюллетень по безопасности MS10-020 для устранения уязвимости в SMB, которая делает возможным удаленное выполнение кода в различных версиях Windows, от Windows 2000 SP4 до Windows 7 и Server 2008 R2 (включая установку Server Core). ).

Подписание SMB

Одним из механизмов безопасности, который использовался в Windows SMB со времен Windows 98/NT, является подписывание SMB. Подписание SMB поддерживается во всех текущих версиях Windows; лучший способ настроить его — через групповую политику, хотя вы также можете сделать это, отредактировав реестр. По умолчанию на контроллерах домена требуется подписывание SMB. Он включен по умолчанию, но не требуется для клиентов SMB 1 и отключен на серверах SMB 1.

Параметры настройки были упрощены в SMB 2. Параметры «включено» и «отключено» убраны, и вы только указываете, требуется или не требуется подпись SMB. Опять же, настройка по умолчанию для контроллеров домена «требуется». Для других серверов и клиентов SMB 2 значение по умолчанию «не требуется».

Давайте рассмотрим параметры групповой политики для настройки подписи SMB в Windows 8 (аналогично предыдущим версиям ОС). Сначала откройте редактор локальной групповой политики. Вы не найдете его, набрав редактор групповой политики или gpedit.msc на стартовом экране Metro; вы просто получите сообщение "Нет приложений, соответствующих вашему запросу", как показано на рис. 1.


Рисунок 1

Чтобы открыть консоль редактора групповой политики в Windows 8, сначала откройте окно «Выполнить» (его можно найти, введя его имя на начальном экране), а затем введите там gpedit.msc. Теперь перейдите в дереве левой панели к Computer Configuration | Параметры Windows | Настройки безопасности | Местные политики | Параметры безопасности.

На правой панели прокрутите вниз, чтобы найти раздел политик, начинающийся с «Сетевой клиент Microsoft». Здесь вы найдете следующие правила:


  • Подписывать сообщения цифровой подписью (всегда)
  • Подписывать сообщения цифровой подписью (с согласия сервера)
  • Отправлять незашифрованный пароль на сторонние SMB-серверы

Вы также найдете похожие политики, которые начинаются с «сетевого сервера Microsoft», как показано на рис. 2.


Рисунок 2

Операционные системы Windows включают как серверный компонент SMB, так и клиентский компонент SMB, и они настраиваются отдельно. Таким образом, компьютер может быть настроен на требование подписи пакетов при работе в качестве сервера SMB, но не при работе в качестве клиента SMB, или наоборот.

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

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

Если вы предпочитаете вносить изменения через реестр, в редакторе реестра перейдите к следующим разделам:

Для клиента SMB:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkStation\
Параметры

Для сервера SMB:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\
Параметры

Создайте параметр DWORD с именем RequireSecuritySignature, как показано на рис. 3, и установите для него значение 1.


Рис. 3

Шифрование SMB в Windows 8 и Server 2012

Майкрософт внесла ряд улучшений безопасности в SMB 3.0, которые будут представлены в клиенте Windows 8 и Windows Server 2012. Для подписи SMB используется новый алгоритм. SMB 2.x использует HMAC-SHA256. SMB 3.0 использует AES-CMAC. CMAC основан на симметричном блочном шифре (AES), тогда как HMAC основан на хеш-функции (SHA). AES (Advanced Encryption Standard) – это спецификация, принятая правительством США в 2002 году и одобренная Агентством национальной безопасности (АНБ) для шифрования совершенно секретной информации.

МСП 3.0 в Windows 8 и Server 2012 позволяет шифровать данные SMB во время их передачи с гораздо меньшими затратами, чем развертывание других решений для шифрования при передаче, таких как IPsec. Шифрование при передаче защищает сообщения от перехвата, если они перехватываются при прохождении через сеть.

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


Рисунок 4

Вы также можете включить шифрование для существующего общего ресурса. Вот как:


  1. Откройте Диспетчер серверов и на левой панели выберите Файловые службы и службы хранения.
  2. Нажмите «Общие ресурсы» на левой панели.
  3. На средней панели щелкните правой кнопкой мыши общий ресурс, для которого вы хотите включить шифрование.
  4. Нажмите «Свойства» в контекстном меню, как показано на рис. 5.


Рисунок 5


  1. В диалоговом окне "Свойства общего доступа" выберите "Настройки" и установите флажок "Шифровать доступ к данным".
  2. Нажмите "ОК".

Еще один способ включить шифрование SMB для общего ресурса — использовать PowerShell. Введите следующее:

Set-SmbShare -Name -EncryptData $true

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

Set-SmbServerConfiguration-EncryptData $true

Если вы настроите шифрование для всего сервера, как описано выше, флажок "Шифровать доступ к данным" для отдельных общих ресурсов будет отмечен как установленный, а также затенен, чтобы их нельзя было изменить по отдельности.

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

Set-SmbServerConfiguration -RejectUnencryptedAccess $false

Диалектные переговоры

Существует несколько различных «диалектов», на которых говорят протоколы SMB в зависимости от версии SMB. Когда устанавливается SMB-соединение, клиент и сервер договариваются, чтобы определить диалект самого высокого уровня, который могут поддерживать обе машины. Это делается путем отправки клиентом сообщения negprot на сервер со списком поддерживаемых им диалектов. В ответ сервер сообщает клиенту, какой из диалектов он будет использовать.

Это важно при подключении SMB к другому компьютеру, использующему другой формат пакета протокола. Улучшение безопасности в Windows 8/Server 2012 обнаруживает попытки манипулировать этим согласованием, чтобы заставить системы использовать диалект более низкого уровня. Если такая попытка обнаружена, Windows отключает соединение SMB и записывает событие в журнал.

Отключить SMB 1.0

Для большей безопасности вы можете отключить SMB 1.0. Делайте это только в том случае, если в вашей сети нет компьютеров с Windows XP (или ниже), которым необходимо подключиться к серверу SMB, и у вас нет сторонних устройств, которым необходимо обмениваться данными через SMB 1.0. Используйте PowerShell для отключения SMB 1.0 следующим образом:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Обзор

Протокол Server Message Block был впервые разработан для оригинального IBM PC, затем Microsoft переняла его для Windows и продолжала улучшать на протяжении многих лет. SMB 3.0, который войдет в состав Windows 8 и Windows Server 2012, имеет несколько улучшений безопасности, которые помогут сделать SMB-соединения в вашей сети более безопасными и защитить от атак типа «злоумышленник посередине» и перехвата, связанных с SMB-коммуникациями. В этой статье мы обсудили основы безопасности SMB и показали, как включить и настроить некоторые из этих новых функций безопасности SMB.

Читайте также: