У меня возникли странные проблемы с копированием файлов между клиентом Windows 10 и системой Windows Server 2019 (DC / Fileserver).
Я не хочу здесь подробно объяснять эту проблему, кроме как сказать, что, похоже, она вызвана подписью SMB (случайная недействительная подпись на копиях файлов). Я подтвердил, что проблема исчезает при использовании шифрования SMB (реализовано путем включения RequirePrivacy = 1 в настройке пути Hardened UNC). Мой снимок Wireshark отображается в ответе протокола согласования (используется диалект SMB 3.1.1):
Security mode: 0x03, Signing enabled, Signing required
.... ...1 = Signing enabled: True
.... ..1. = Signing required: True
Однако согласно Microsoft
Когда требуется шифрование SMB, подпись SMB не используется, независимо от настроек. Шифрование SMB неявно обеспечивает те же гарантии целостности, что и подписывание SMB.
Таким образом, я отключил подпись, используя вместо этого шифрование. Когда это включено, моей «проблемы» не существует.
Я хотел бы попробовать это без использования шифрования и вместо этого с отключенной подписью. К сожалению, я не могу заставить окна отключить это. Я сделал следующее:
1) Настроил политику безопасности моего локального клиента Windows 10:
Сетевой клиент Microsoft: использовать цифровую подпись (всегда) = ОТКЛЮЧЕНО
Сетевой клиент Microsoft: использовать цифровую подпись (если сервер соглашается) = ОТКЛЮЧЕНО
(Вторая установка согласно Microsoft даже не требуется для связи SMB2)
2) Настроил мой Windows Server 2019 DC через объект групповой политики контроллеров домена:
Сетевой сервер Microsoft: ставить цифровую подпись (всегда) = ОТКЛЮЧЕНО
Сетевой сервер Microsoft: цифровая подпись для сообщений (если клиент соглашается) = ОТКЛЮЧЕНО
(Вторая установка согласно Microsoft даже не требуется для связи SMB2)
Насколько я понимаю, это должно быть все, что требуется для отключения подписи SMB2. Однако я дополнительно пробовал следующее:
Отключена подпись SecuritySignature на SMB контроллера домена:
- Set-SmbServerConfiguration -EnableSecuritySignature $ false
- Set-SmbServerConfiguration -RequireSecuritySignature $ false
Я не уверен, действительно ли вышеперечисленное касается подписи SMB2 или только SMB1, но я все равно установил их в дополнение к отключению их на моем клиенте (настройки Set-SmbClientConfiguration)
Я также попытался настроить ключи защиты UNC в своей системе Windows 10 на RequireIntegrity = 0.
Ни один из этих параметров не работает для отключения подписи SMB. Лучшее, что я получил в своем ответе протокола согласования захвата Wireshark:
Security mode: 0x01, Signing enabled
.... ...1 = Signing enabled: True
.... ..0. = Signing required: False
Итак, мне удалось отключить требование подписи, но на самом деле я не могу отключить подпись.
Я не могу найти ничего, что говорило бы о том, что подпись нельзя отключить, так что либо есть ошибка, либо я что-то упускаю.
Помогите?