Все еще страдает от обновления сертификата Windows NPS за май 2022 г.
В мае 2022 года Microsoft изменила способ сопоставления клиентских сертификатов с учетными записями AD , в результате чего проверка подлинности учетной записи компьютера 802.1X EAP-TLS перестала работать. Вот дополнительный ресурс с подробной справочной информацией об аутентификации Schannel<=>Kerbers S4U2Self.
Доступными решениями для этого были:
- Создайте строгие сопоставления с помощью сопоставления altSecurityIdentities .
- Использование нового расширения сертификата szOID_NTDS_CA_SECURITY_EXT
- Временное отключение Schannel<=>Kerberos S4u2Self с помощью раздела реестра CertificateMappingMethods и установка флага 0x4 для сопоставления сертификатов SAN.
Все это работает хорошо, если сервер NPS и учетная запись клиентского компьютера находятся в одном домене.Однако в нашем сценарии сервер NPS находится в корневом домене леса, а учетная запись клиентского компьютера — в поддомене.Это приводит к тому, что учетные записи компьютеров во всех поддоменах не проходят проверку подлинности с кодом причины 16, а события 4625 и 6273 регистрируются на сервере политики сети.
Учетные записи компьютеров, находящиеся в корневом домене (например, сервер NPS), могут успешно пройти проверку подлинности.
Похоже, проблема находится где-то между аутентификацией Schannel и Kerberos:
- Установка для ключа CertificateMappingMethods на всех контроллерах субдомена и сервере NPS значения 0x1F обеспечивает работу аутентификации (к сожалению, только временное решение)
- Создание строгих сопоставлений с использованием сопоставления altSecurityIdentities не дает никакого эффекта; на DC не зарегистрировано ни одного события; никаких изменений в ошибке на сервере NPS; нет заметной разницы
- Использование нового расширения сертификата szOID_NTDS_CA_SECURITY_EXT не дает никакого эффекта; аутентификация по-прежнему не удалась
Ошибки, зарегистрированные на сервере RADIUS:
Событие 4625
An account failed to log on.
Subject:
Security ID: SYSTEM
Account Name: <NPS SERVER>$
Account Domain: <NPS SERVER DOMAIN>
Logon ID: 0x3E7
Logon Type: 3
Account For Which Logon Failed:
Security ID: NULL SID
Account Name:
Account Domain:
Failure Information:
Failure Reason: Unknown user name or bad password.
Status: 0xC000006D
Sub Status: 0xC0000064
Process Information:
Caller Process ID: 0x278
Caller Process Name: C:\Windows\System32\lsass.exe
Network Information:
Workstation Name: <NPS SERVER>
Source Network Address: -
Source Port: -
Detailed Authentication Information:
Logon Process: Schannel
Authentication Package: Kerberos
Transited Services: -
Package Name (NTLM only): -
Key Length: 0
This event is generated when a logon request fails. It is generated on the computer where access was attempted.
The Subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
The Logon Type field indicates the kind of logon that was requested. The most common types are 2 (interactive) and 3 (network).
The Process Information fields indicate which account and process on the system requested the logon.
The Network Information fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
The authentication information fields provide detailed information about this specific logon request.
- Transited services indicate which intermediate services have participated in this logon request.
- Package name indicates which sub-protocol was used among the NTLM protocols.
- Key length indicates the length of the generated session key. This will be 0 if no session key was requested.
Событие 6273
Network Policy Server denied access to a user.
Contact the Network Policy Server administrator for more information.
User:
Security ID: <CLIENT DOMAIN>\<COMPUTER ACCOUNT>$
Account Name: host/<client DNS>
Account Domain: <CLIENT DOMAIN>
Fully Qualified Account Name: <CLIENT DOMAIN>\<COMPUTER ACCOUNT>$
Client Machine:
Security ID: NULL SID
Account Name: -
Fully Qualified Account Name: -
Called Station Identifier: 6E-22-32-2F-19-CF:<SSID>
Calling Station Identifier: 84-38-38-86-82-C2
NAS:
NAS IPv4 Address: <ap ip>
NAS IPv6 Address: -
NAS Identifier: 6e22322f09cf
NAS Port-Type: Wireless - IEEE 802.11
NAS Port: 1
RADIUS Client:
Client Friendly Name: <ap name>
Client IP Address: <ap ip>
Authentication Details:
Connection Request Policy Name: Secure Wireless Connections
Network Policy Name: Secure Wireless Connections
Authentication Provider: Windows
Authentication Server: <DOMAIN CONTROLLER FQDN>
Authentication Type: EAP
EAP Type: Microsoft: Smart Card or other certificate
Account Session Identifier: 43323444383435463834444530463634
Logging Results: Accounting information was written to the SQL data store.
Reason Code: 16
Reason: Authentication failed due to a user credentials mismatch. Either the user name provided does not map to an existing user account or the password was incorrect.
Похоже, что сервер NPS каким-то образом не может получить билет Kerberos для поддомена; но я не уверен.
Итак, подведем итог: проверка подлинности работает, если только клиент не является двусторонним доверенным поддоменом того же леса, что и сервер NPS (или родственный домен).
Также попробовал:
- Добавьте сервер NPS в группу «Серверы RAS и IAS» в субдомене.
Какие параметры конфигурации нам не хватает??