Резюме
Ошибка HTTP 401.2 - Несанкционировано У вас нет прав для просмотра этой страницы из-за недопустимых заголовков проверки подлинности.
Некоторые новые пользователи моего веб-сайта не могут войти в систему из-за ошибок 401.2 и 401.1. Другие новые пользователи подключаются без проблем. У пользователей есть смарт-карта DoD CAC, и они действительны для входа на свои рабочие станции. Все сертификаты указывают на один и тот же корневой центр, DOD Root 3, но имеют разные промежуточные сертификаты: от DOD CA 38 до DOD CA 51. Пользователи с промежуточными сертификатами с номером 48 или выше получают ошибку 401.2 и не могут войти в систему.
Я предполагаю, что проблема в том, что более поздние промежуточные сертификаты не установлены или не настроены правильно. Я установил самые последние сертификаты от центра сертификации, используя их инструмент InstallRoot.exe. MMC подтвердила, что промежуточные сертификаты находятся в разделе Сертификаты (локальный компьютер) -> Промежуточные центры сертификации -> Сертификаты.
Сервер использует инструмент Axway для проверки сертификатов. В журнале событий приложения для попытки было указано «Статус отзыва: хорошо», поэтому я предполагаю, что мой OCSP и его кеш настроены правильно.
После каждой ошибки 401.2 возникает ошибка 401.1. Статус sc-win32 для ошибки 401.1: -1073741715. Это число значимо?
Подробное описание конфигурации:
Я использую IIS 7.5 на Windows Server 2008 R2. Я настроил веб-сервер и веб-сайт так, чтобы для открытия веб-сайта требовалась смарт-карта. С этой целью я настроил iisClientCertificateMappingAuthentication с помощью manyToOneMappings. Таким же образом я настроил трех новых пользователей. Двое из трех новых пользователей не могут войти в систему и получают как 401.2 (sc-status=401 sc-substatus=2 sc-win32-status=5), так и «Не удается открыть эту страницу» с кодом ошибки: INET_E_DOWNLOAD_FAILURE.
Ошибка в клиентском браузере
Пользователи получают это на своих собственных рабочих станциях и рабочих станциях людей, которые могут успешно войти в систему. По этой причине это не может быть проблемой клиентского браузера.
Не могу зайти на эту страницу
• Убедитесь, что веб-адрес https://MyWebSite указан правильно
• Найдите этот сайт в Bing
• Обновите страницаДополнительная информация Соединение с веб-сайтом было сброшено. Код ошибки: INET_E_DOWNLOAD_FAILURE
Записи журнала IIS
Вот записи журнала IIS для успешного пользователя, первого IP-адреса, и неудачного пользователя, второго IP-адреса. Ошибка 500 для sc-win32-status=64 («указанное сетевое имя больше недоступно») одинакова для успешных и неудачных входов в систему.
time c-ip cs-username s-port cs-method sc-status sc-substatus sc-win32-status time cs-uri-stem
1/1/2000 19:32 Second IP 443 GET 401 2 5 1734 /
1/1/2000 19:32 Second IP 443 GET 500 0 64 16 /
1/1/2000 19:31 Second IP 443 GET 401 1 -1073741715 2 /
1/1/2000 19:31 Second IP 443 GET 401 2 5 2011 /
1/1/2000 19:31 Second IP 443 GET 500 0 64 118 /
1/1/2000 19:30 First IP Server\User 443 GET 200 0 0 17 /HMSLoginController.asp
1/1/2000 19:30 First IP Server\User 443 POST 302 0 0 4 /EntryBanner.asp
1/1/2000 19:30 First IP Server\User 443 GET 200 0 0 22 /EntryBanner.asp
1/1/2000 19:30 First IP Server\User 443 GET 200 0 0 4164 /
1/1/2000 19:30 First IP 443 GET 500 0 64 637 /
Запросить трассировку
Частичный список трассировки ошибки 402.2:
-GENERAL_REQUEST_HEADERS Подключение заголовков: Keep-Alive Принять: text/html, application/xhtml+xml, image/jxr, / Accept-Encoding: gzip, deflate Accept-Language: en-US Хост: X. com User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0), например Gecko DNT: 1
-GENERAL_GET_URL_METADATA PhysicalPath
AccessPerms 617-HANDLER_CHANGED OldHandlerName
NewHandlerName StaticFile NewHandlerModules StaticFileModule,DefaultDocumentModule,DirectoryListingModule NewHandlerScriptProcessor
NewHandlerType-AUTH_START AuthTypeSupported 2 AuthTypeSupported Basic
-AUTH_END
-AUTH_START AuthTypeSupported 128 AuthTypeSupported MapCliCert
-AUTH_END
-AUTH_START AuthTypeSupported 4 AuthTypeSupported NT
-AUTH_END
-AUTH_START AuthTypeSupported 128 AuthTypeSupported MapCliCert
-AUTH_REQUEST_AUTH_TYPE RequestAuthType 128 RequestAuthType CertMap
-AUTH_END
-AUTH_START AuthTypeSupported 16 AuthTypeSupported Дайджест
-AUTH_END
-AUTH_START AuthTypeSupported 1 AuthTypeSupported Анонимный
-AUTH_REQUEST_AUTH_TYPE RequestAuthType 1 RequestAuthType Анонимный
-AUTH_SUCCEEDED AuthType 4 NTLMUsed false RemoteUserName
AuthUserName
TokenImpersonationLevel 2 AuthType NT TokenImpersonationLevel ImpersonationImpersonate-USER_SET AuthType
Имя пользователя
SupportsIsInRole true-AUTH_END
-GENERAL_SEND_CUSTOM_ERROR HttpStatus 401 HttpSubStatus 2 FileNameOrURL 401.htm
-GENERAL_FLUSH_RESPONSE_START
-GENERAL_RESPONSE_HEADERS Тип содержимого заголовков: text/html Сервер: Microsoft-IIS/7.5 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM X-Powered-By: ASP.NET
Конфигурация
Я подтвердил, что на сервере есть все последние сертификаты, используя программу, распространяемую организацией, которая создала наш корневой сертификат. Я проверил клиентские сертификаты на CRL и вызов OCSD сервера.
Конфигурация сервера IIS
Аутентификация: включена только аутентификация сертификата клиента Active Directory, другие отключены Правила авторизации: Запретить анонимным пользователям — только вход
Конфигурация сайта
Аутентификация: включена анонимная аутентификация и включена аутентификация Windows Правила авторизации: Разрешить веб-пользователям (группа пользователей локального сервера) — только запись Редактор конфигурации: system.webServer/security/authentication/iisClientCertificateMappingAuthentication defaultLogonDomain enable True LogonMethod ClearText ) oneToOneCertificateMappingsEnabled False oneToOneMappings (Count=0)
Пользователи
Каждый пользователь, настроенный в manyToOneMappinqs, имеет соответствующую учетную запись пользователя на локальном сервере. Все локальные учетные записи пользователей находятся в группе webUsers, у которой есть разрешения на доступ к веб-сайту. У каждого пользователя есть два правила сопоставления: Издатель ("O"), который является сущностью, создавшей смарт-карты, и Субъект ("CN"), который уникален для каждого пользователя.
Список пользователей разделен на два файла: файл web.config веб-сайта и файл applicationhost.config сервера. Объединенные пользователи составляют список в редакторе конфигурации Сайта.