Общие сведения о подписи блока сообщений сервера
В этой статье описывается подпись 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 или вы будете использовать NTLM вместо Kerberos. Вместо этого используйте Kerberos. Дополнительные сведения см. в статье об использовании псевдонимов имен компьютера вместо записей DNS CNAME.
Расположения политик для подписывания SMB
Политики для подписывания SMB находятся в параметрах>>>безопасности параметров безопасности параметров безопасности параметров конфигурации компьютера.>
- Клиент сети Майкрософт: обмен данными с цифровой подписью (всегда)
Раздел реестра: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
Безопасность SMB 2 и SMB 3 в Windows 10: анатомия подписи и криптографических ключей