Общие сведения о подписывание блока сообщений сервера

В этой статье описывается подписывание SMB 2.x и 3.x, а также определение необходимости подписывания SMB.

Введение

Подписывание SMB (также известное как сигнатуры безопасности) — это механизм безопасности в протоколе SMB. Подписывание SMB означает, что каждое сообщение SMB содержит сигнатуру, созданную с помощью ключа сеанса. Клиент помещает хэш всего сообщения в поле сигнатуры заголовка SMB.

Подписывание SMB впервые появилось в Microsoft Windows 2000, Microsoft Windows NT 4.0 и Microsoft Windows 98. Алгоритмы подписывания со временем развивались. Подписывание SMB 2.02 было улучшено благодаря внедрению кода проверки подлинности сообщений на основе хэша (HMAC) SHA-256, заменив старый метод MD5 конца 1990-х годов, который использовался в SMB1. В SMB 3.0 добавлены алгоритмы AES-CMAC. В Windows Server 2022 и Windows 11 мы добавили ускорение подписывания AES-128-GMAC. Если требуется оптимальное сочетание производительности и защиты, рассмотрите возможность обновления до последних версий Windows.

Как подписывание SMB защищает подключение

Если кто-то изменяет сообщение во время передачи, хэш не будет совпадать, и SMB будет знать, что кто-то подделал данные. Подпись также подтверждает удостоверения отправителя и получателя. Это предотвращает атаки ретранслятора. В идеале вы используете Kerberos вместо NTLMv2, чтобы ключ сеанса запускал сильный. Не подключайтесь к общим папкам с помощью IP-адресов и не используйте записи CNAME, иначе вместо Kerberos будет использоваться NTLM. Вместо этого используйте Kerberos. Дополнительные сведения см. в статье Использование псевдонимов имен компьютеров вместо записей CNAME DNS .

Расположения политик для подписывания SMB

Политики для подписывания SMB находятся в разделе Конфигурация> компьютераПараметры>windows Параметры> безопасностиЛокальные политики>Параметры безопасности.

  • Сетевой клиент Майкрософт: обмен данными с цифровой подписью (всегда)
    Раздел реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    Значение реестра: RequireSecuritySignature
    Тип данных: REG_DWORD
    Данные: 0 (отключить), 1 (включить)
  • Сетевой клиент Майкрософт: цифровая подпись сообщений (если сервер согласен)
    Раздел реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    Значение реестра: EnableSecuritySignature
    Тип данных: REG_DWORD
    Данные: 0 (отключить), 1 (включить)
  • Сетевой сервер Майкрософт: обмен данными с цифровой подписью (всегда)
    Раздел реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    Значение реестра: RequireSecuritySignature
    Тип данных: REG_DWORD
    Данные: 0 (отключить), 1 (включить)
  • Сетевой сервер Майкрософт: цифровая подпись сообщений (если клиент соглашается)
    Раздел реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    Значение реестра: EnableSecuritySignature
    Тип данных: REG_DWORD
    Данные: 0 (отключить), 1 (включить)

Примечание В этих политиках "всегда" означает, что требуется подписывание SMB, а "если сервер согласен" или "если клиент согласен" означает, что подпись SMB включена.

Основные сведения о requireSecuritySignature и EnableSecuritySignature

Параметр реестра EnableSecuritySignature для клиента SMB2+ и сервера SMB2+ игнорируется. Таким образом, этот параметр ничего не делает, если вы не используете SMB1. Подписывание SMB 2.02 и более поздних версий контролируется исключительно по требованию или нет. Этот параметр используется, если сервер или клиент требует подписывания SMB. Подписывание не выполняется только в том случае, если для обоих подписей задано значение 0 .

- Сервер — RequireSecuritySignature=1 Сервер — RequireSecuritySignature=0
Клиент — RequireSecuritySignature=1 Подписал Подписал
Клиент — RequireSecuritySignature=0 Подписал Не подписан

Справочные материалы

Настройка подписывания SMB с уверенностью

Защита пользователей от атак перехвата с помощью SMB Client Defense

Безопасность SMB 2 и SMB 3 в Windows 10: структура подписи и криптографических ключей

SMBv1 не устанавливается по умолчанию в Windows 10 версии 1709, Windows Server версии 1709 и более поздних

Netdom computername