Настройка управления доступом клиента SMB через QUIC
Управление доступом клиента SMB через QUIC позволяет ограничить доступ клиентов к SMB через СЕРВЕРЫ QUIC. Управление доступом клиента позволяет создавать списки разрешений и списки блокировок для устройств для подключения к файловом серверу. Управление доступом клиентов обеспечивает организациям большую защиту, не изменяя проверку подлинности, используемую при подключении SMB, и не изменяет взаимодействие с конечным пользователем.
Как работает управление доступом клиента
Управление доступом к клиенту включает проверку списка сертификатов на сервере, чтобы определить, разрешен ли клиенту установить соединение QUIC с сервером. Сервер проверяет цепочку сертификатов клиента и гарантирует, что он является доверенным, прежде чем продолжить проверку контроля доступа. Чтобы настроить управление доступом клиента, администратор выдает сертификат клиенту и может добавить хэш сертификата в список управления доступом, поддерживаемый сервером.
Если клиент может подключиться к серверу через QUIC, создается туннель TLS 1.3, зашифрованный через порт UDP 443. Управление доступом клиентов также поддерживает сертификаты с альтернативными именами субъектов. Вы также можете настроить SMB через QUIC для блокировки доступа, отменив сертификаты или явно запретив доступ к определенным устройствам. Администратор сервера может запретить клиенту доступ к серверу, отменив сертификат клиента, а не полагаться исключительно на управление доступом клиента.
Примечание.
Рекомендуется использовать SMB через QUIC с доменами Active Directory, однако это не обязательно. Вы также можете использовать SMB через QUIC на сервере, присоединенном к рабочей группе, с учетными данными локального пользователя и NTLM.
Разрешить добавление и удаление записей управления доступом с помощью командлетов Grant-SmbClientAccessToServer
и Revoke-SmbClientAccessToServer
соответственно. Запретить записи управления доступом можно добавлять и удалять с помощью командлетов Block-SmbClientAccessToServer
и Unblock-SmbClientAccessToServer
соответственно. Записи в списке управления доступом можно отобразить с помощью командлета Get-SmbClientAccessToServer
.
Доступ к конечному сертификату можно разрешить или запретить, добавив запись управления доступом, которая идентифицирует сертификат по его хэшу SHA256. Группе конечных сертификатов, имеющих одного и того же издателя, может быть предоставлен или запрещён доступ путём добавления записи управления доступом для этого издателя. Запись о сертифицирующем центре может быть добавлена для промежуточных сертификатов ЦС и корневых сертификатов ЦС. Использование записей издателя может оказаться полезным, так как они помогают уменьшить общее количество записей, которые необходимо добавить. Если ни одному из сертификатов в цепочке сертификатов клиента не отказано в доступе, и по крайней мере один имеет доступ, клиент получает доступ. Например:
Если для сертификата ЦС добавляется запись разрешения, а для одного из конечных сертификатов добавляется запись запрета, доступ предоставляется ко всем сертификатам, выданным ЦС, кроме сертификата, для которого добавлена запись запрета.
Если запись запрета добавлена для сертификата ЦС и запись разрешения добавлена для одного из основных сертификатов, все сертификаты, выданные ЦС, не допускаются. Сертификат, для которого добавлена запись разрешения, запрещен доступ, так как любая запись запрета в цепочке сертификатов имеет приоритет над разрешенными записями.
Предположим, что корневой ЦС включает в себя два промежуточных ЦС, называемых промежуточными ЦС 1 и промежуточными ЦС 2. Если разрешающая запись добавляется для корневого ЦС, а запрещающая запись добавляется для промежуточного ЦС 2, то сертификаты, выданные промежуточным ЦС 1, получают доступ, а сертификаты, выданные промежуточным ЦС 2, не получают доступ.
Необходимые компоненты
Прежде чем настроить управление доступом клиента, вам потребуется сервер SMB со следующими предварительными условиями.
- Сервер SMB под управлением Windows Server 2022 Datacenter: Выпуск Azure с 12 марта 2024 г. — обновление KB5035857 или Windows Server 2025 или более поздней версии. Чтобы разблокировать функцию предварительного просмотра, необходимо также установить Windows Server 2022 KB5035857 240302_030531 Функция предварительного просмотра.
- SMB через QUIC включено и настроено на сервере. Сведения о настройке SMB через QUIC см. в статье SMB over QUIC.
- Если вы используете сертификаты клиента, выданные другим центром сертификации (ЦС), необходимо убедиться, что ЦС является доверенным сервером.
- Права администратора для настраиваемого сервера SMB.
Внимание
После установки KB5035857 необходимо включить эту функцию в групповой политике:
- Нажмите кнопку "Пуск", введите gpedit и выберите "Изменить групповую политику".
- Перейдите к разделу "Конфигурация компьютера\Административные шаблоны\KB5035857 240302_030531 Предварительная версия компонентов\Windows Server 2022".
- Откройте политику предварительного просмотра компонентов KB5035857 240302_030531 и выберите "Включено".
Вам также нужен клиент SMB со следующими предварительными условиями.
- Клиент SMB, работающий в одной из следующих операционных систем:
- Windows Server 2022 Datacenter: Выпуск Azure с обновлением KB5035857 12 марта 2024 г. Чтобы разблокировать функцию предварительного просмотра, необходимо также установить Windows Server 2022 KB5035857 240302_030531 функции предварительного просмотра.
- Windows 11 с обновлением KB5035853 12 марта 2024 г. Чтобы разблокировать функцию предварительного просмотра, необходимо также установить Windows 11 (исходный выпуск) KB5035854 240302_030535 компонент предварительного просмотра.
- Windows Server 2025 или более поздней версии.
- Windows 11 версии 24H2 или более поздней версии.
- Сертификат клиента, который:
- Выдано для проверки подлинности клиента (EKU 1.3.6.1.5.5.7.3.2).
- Выдан доверенным сервером SMB центром сертификации.
- Устанавливается в хранилище сертификатов клиента.
- Права администратора для настраиваемого сервера SMB.
Внимание
После установки KB5035854 необходимо включить эту функцию в групповой политике:
- Нажмите кнопку "Пуск", введите gpedit и выберите "Изменить групповую политику".
- Перейдите к разделу "Конфигурация компьютера\Административные шаблоны\KB5035854 240302_030535 Предварительная версия компонентов\Windows 11 (исходный выпуск)".
- Откройте политику предварительного просмотра компонентов KB5035854 240302_030535 и выберите "Включено".
Настройка сервера SMB
Чтобы управлять параметрами клиента SMB, необходимо сначала настроить сервер SMB так, чтобы клиент отправлял действительную и надежную цепочку сертификатов и выполнял контроль доступа на основе цепочки сертификатов клиента. Чтобы выполнить это действие, выполните следующую команду:
Set-SmbServerCertificateMapping -RequireClientAuthentication $true
Примечание.
Если одновременно заданны настройки RequireClientAuthentication и SkipClientCertificateAccessCheck$true
, сервер проверяет допустимость и надежность цепочки сертификатов клиента, но не выполняет проверки контроля доступа.
Настройка клиента SMB
Сбор сведений о сертификате клиента SMB
Чтобы собрать хэш сертификата клиента с помощью PowerShell:
Откройте запрос PowerShell с повышенными привилегиями на клиенте SMB.
Выведите список сертификатов в хранилище сертификатов клиента, выполнив следующую команду.
Get-ChildItem -Path Cert:\LocalMachine\My
Выполните следующую команду, чтобы сохранить сертификат в переменной. Замените
<subject name>
именем субъекта сертификата, который вы хотите использовать.$clientCert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -Match "<subject name>"}
Запишите хэш сертификата клиента SHA256, выполнив следующую команду. Этот идентификатор требуется при настройке управления доступом клиента.
$clientCert.GetCertHashString("SHA256")
Примечание.
Отпечаток, хранящийся в объекте $clientCert
, использует алгоритм SHA1. Это используется такими командами, как New-SmbClientCertificateMapping
. Вам также потребуется отпечаток SHA256 для настройки управления доступом клиента, эти отпечатки будут отличаться с использованием различных алгоритмов для одного и того же сертификата.
Сопоставление сертификата клиента с клиентом SMB
Чтобы сопоставить сертификат клиента с клиентом SMB, выполните следующие действия.
Откройте запрос PowerShell с повышенными привилегиями на клиенте SMB.
New-SmbClientCertificateMapping
Выполните команду, чтобы сопоставить сертификат клиента. Замените<namespace>
полное доменное имя сервера SMB и используйте отпечаток сертификата клиента SHA1, собранный в предыдущем разделе с помощью переменной.New-SmbClientCertificateMapping -Namespace <namespace> -Thumbprint $clientCert.Thumbprint -StoreName My
После завершения сертификат клиента используется клиентом SMB для проверки подлинности на сервере SMB, который соответствует полному доменному имени.
Подключение к сопоставлению тестов
Запустите тест подключения с помощью сопоставления с общим ресурсом для вашего сервера или клиентского устройства. Для этого выполните одну из следующих команд:
NET USE \\<server DNS name>\<share name> /TRANSPORT:QUIC
Or
New-SmbMapping -RemotePath \\<server DNS name>\<share name> -TransportType QUIC
Если появится сообщение об ошибке, указывающее, что доступ был отклонен сервером, вы готовы перейти к следующему шагу, так как это проверяет сопоставление сертификатов сервера и сопоставление сертификатов клиента.
Настройка управления доступом клиента
Предоставление отдельных клиентов
Выполните действия, чтобы предоставить определенный клиентский доступ к серверу SMB с помощью управления доступом клиента.
Войдите на сервер SMB.
Откройте запрос PowerShell с повышенными привилегиями на сервере SMB.
Grant-SmbClientAccessToServer
Запустите сертификат клиента, чтобы предоставить доступ к сертификату клиента. Замените<name>
именем узла сервера SMB и<hash>
идентификатором сертификата клиента SHA256, собранным в разделе "Сбор сведений о сертификате клиента SMB".Grant-SmbClientAccessToServer -Name <name> -IdentifierType SHA256 -Identifier <hash>
Теперь вы предоставили доступ к сертификату клиента. Вы можете проверить доступ к сертификату клиента, выполнив командлет Get-SmbClientAccessToServer
.
Предоставление определенных центров сертификации
Выполните действия, чтобы предоставить клиентам определенный центр сертификации, также известный как издатель, с помощью управления доступом клиентов.
Войдите на сервер SMB.
Откройте запрос PowerShell с повышенными привилегиями на сервере SMB.
Grant-SmbClientAccessToServer
Запустите сертификат клиента, чтобы предоставить доступ к сертификату клиента. Замените<name>
именем узла сервера SMB и<subject name>
полным именем сертификата издателя X.500. Например,CN=Contoso CA, DC=Contoso, DC=com
.Grant-SmbClientAccessToServer -Name <name> -IdentifierType ISSUER -Identifier "<subject name>"
После завершения этого шага запустите командлет New-SmbMapping
, как упоминалось в теста на подключение к сопоставлению. Рекомендуется выполнить второй запуск, чтобы убедиться, что управление доступом клиентов настроено правильно.
Журналы событий аудита
Некоторые события, такие как разрешенный доступ и отказ в доступе, фиксируются для устранения неполадок. Эти события предоставляют сведения о сертификатах клиента (за исключением корневого сертификата), таких как субъект, издатель, серийный номер, хэш SHA1 и SHA256, а также записи управления доступом, применяемые к этим сертификатам. Эти события отображают идентификатор подключения. Этот идентификатор отображается в определенных событиях подключения клиента, что позволяет администратору легко сопоставить сервер с клиентом, который пытался установить подключение.
Аудит этих событий отключен по умолчанию и может быть включен, выполнив следующую команду:
Set-SmbServerConfiguration -AuditClientCertificateAccess $true
После включения эти события записываются в средства просмотра событий в следующих путях:
Путь | Идентификатор события |
---|---|
Журналы приложений и служб\Microsoft\Windows\SMBServer\Audit | 3007 3008 3009 |
Журналы приложений и служб\Microsoft\Windows\SMBClient\Connectivity | 30831 |