Аутентификация IIS 7: некоторые пользователи не могут аутентифицироваться, в то время как почти все остальные могут
Я использую IIS 7 Digest аутентификацию для управления доступом к определенной директории, содержащей файлы. Пользователи получают доступ к файлам через веб-сайт отдела внутри нашей сети и за ее пределами. Я установил разрешения NTFS для каталога, чтобы позволить определенной группе AD просматривать файлы. Когда я нажимаю ссылку на один из этих файлов на веб-сайте, меня просят ввести имя пользователя и пароль. С большинством пользователей все работает нормально, но с некоторыми из них он запрашивает пароль 3 раза, а затем получает:
401 - Несанкционированный: доступ запрещен из-за неверных учетных данных.
Но другие пользователи, которые находятся в группе, могут войти без проблем. Если я переключу это на Аутентификацию Windows, тогда пользователи проблемы могут войти хорошо. Этот каталог также является общим, и пользователи, которые не могут войти через веб-сайт, могут просматривать общий ресурс и просматривать файлы в нем, поэтому я знаю, что разрешения в порядке.
Вот часть журнала IIS, где я пытался загрузить файл (/assets/files/secure/WWGNL.pdf):
2010-02-19 19:47:20 xxx.xxx.xxx.xxx GET /assets/images/bullet.gif - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 200 0 0 218
2010-02-19 19:47:20 xxx.xxx.xxx.xxx GET /assets/images/bgOFF.gif - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 200 0 0 218
2010-02-19 19:47:21 xxx.xxx.xxx.xxx GET /assets/files/secure/WWGNL.pdf - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 401 2 5 0
2010-02-19 19:47:36 xxx.xxx.xxx.xxx GET /assets/files/secure/WWGNL.pdf - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 401 1 2148074252 0
2010-02-19 19:47:43 xxx.xxx.xxx.xxx GET /assets/files/secure/WWGNL.pdf - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 401 1 2148074252 15
2010-02-19 19:47:46 xxx.xxx.xxx.xxx GET /manager/media/script/_session.gif 0.19665693119168282 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 200 0 0 203
2010-02-19 19:47:46 xxx.xxx.xxx.xxx POST /manager/index.php - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 200 0 0 296
2010-02-19 19:47:56 xxx.xxx.xxx.xxx GET /assets/files/secure/WWGNL.pdf - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 401 1 2148074252 15
2010-02-19 19:47:59 xxx.xxx.xxx.xxx GET /favicon.ico - 80 - 10.5.16.138 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/532.5+(KHTML,+like+Gecko)+Chrome/4.0.249.89+Safari/532.5 404 0 2 0
Вот неудачная попытка входа в систему в журнале безопасности:
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Date: 2/19/2010 11:47:43 AM
Event ID: 4625
Task Category: Logon
Level: Information
Keywords: Audit Failure
User: N/A
Computer: WEB4.net.domain.org
Description:
An account failed to log on.
Subject:
Security ID: NULL SID
Account Name: -
Account Domain: -
Logon ID: 0x0
Logon Type: 3
Account For Which Logon Failed:
Security ID: NULL SID
Account Name: jim.lastname
Account Domain: net.domain.org
Failure Information:
Failure Reason: Unknown user name or bad password.
Status: 0xc000006d
Sub Status: 0xc000006a
Process Information:
Caller Process ID: 0x0
Caller Process Name: -
Network Information:
Workstation Name: -
Source Network Address: 10.5.16.138
Source Port: 50065
Detailed Authentication Information:
Logon Process: WDIGEST
Authentication Package: WDigest
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.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />
<EventID>4625</EventID>
<Version>0</Version>
<Level>0</Level>
<Task>12544</Task>
<Opcode>0</Opcode>
<Keywords>0x8010000000000000</Keywords>
<TimeCreated SystemTime="2010-02-19T19:47:43.890Z" />
<EventRecordID>2276316</EventRecordID>
<Correlation />
<Execution ProcessID="612" ThreadID="692" />
<Channel>Security</Channel>
<Computer>WEB4.net.domain.org</Computer>
<Security />
</System>
<EventData>
<Data Name="SubjectUserSid">S-1-0-0</Data>
<Data Name="SubjectUserName">-</Data>
<Data Name="SubjectDomainName">-</Data>
<Data Name="SubjectLogonId">0x0</Data>
<Data Name="TargetUserSid">S-1-0-0</Data>
<Data Name="TargetUserName">jim.lastname</Data>
<Data Name="TargetDomainName">net.domain.org</Data>
<Data Name="Status">0xc000006d</Data>
<Data Name="FailureReason">%%2313</Data>
<Data Name="SubStatus">0xc000006a</Data>
<Data Name="LogonType">3</Data>
<Data Name="LogonProcessName">WDIGEST</Data>
<Data Name="AuthenticationPackageName">WDigest</Data>
<Data Name="WorkstationName">-</Data>
<Data Name="TransmittedServices">-</Data>
<Data Name="LmPackageName">-</Data>
<Data Name="KeyLength">0</Data>
<Data Name="ProcessId">0x0</Data>
<Data Name="ProcessName">-</Data>
<Data Name="IpAddress">10.5.16.138</Data>
<Data Name="IpPort">50065</Data>
</EventData>
</Event>
2 ответа
Возможно, не тот ответ, который вам нужен, но: не используйте дайджест. Я обнаружил, что он не работает согласованно между браузерами, версиями браузеров, версиями серверов и версиями Windows. (Я только немного преувеличиваю).
Также может потребоваться или не потребоваться обратимое шифрование, в зависимости от используемой версии (расширенный дайджест или дайджест против дополнительной аутентификации IIS).
Получить один из пользователей с проблемой, чтобы сбросить свой пароль. Если проблема исчезнет, попросите других сделать это тоже.
Все ли ваши пользователи в одном домене? Все ли пользователи в одной сети? Находится ли файловый сервер или общий файловый ресурс в том же домене, что и веб-сервер?
Соответствует ли проблема местоположению пользователя? Например, при внутреннем доступе к сайту это работает, а при внешнем доступе - нет?
Я бы также предложил использовать для тестирования альтернативный браузер, такой как Firefox. Вам будет предложено ввести имя пользователя и пароль, но я видел его, где FF будет аутентифицировать, а IE - нет. У меня было много проблем с аутентификацией IE из-за настроек клиента IE, таких как зоны безопасности и настройки IE.
Дейв