Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общие сведения
Элемент <digestAuthentication>
содержит параметры конфигурации для модуля дайджест-проверки подлинности служб IIS 7. Этот элемент настраивается для включения или отключения дайджест-проверки подлинности. При необходимости можно указать область дайджест-проверки подлинности.
Дайджест-проверка подлинности не так широко используется, как обычная проверка подлинности, но имеет ряд явных преимуществ по сравнению с обычной проверкой подлинности или проверка подлинности Windows. Основной недостаток использования обычной проверки подлинности при использовании незашифрованных средств связи заключается в том, что имя пользователя и пароль клиента отправляются в виде обычного текстового сообщения в кодировке Base-64, что позволяет злоумышленнику легко подслушивать обмен данными и получать имя пользователя и пароль. проверка подлинности Windows решает эту проблему с помощью различных параметров безопасности, но проверка подлинности Windows обычно не работает в интернет-среде.
Дайджест-проверка подлинности устраняет оба указанных выше ограничения следующими средствами:
- В отличие от схемы с открытым текстом, используемой обычной проверкой подлинности, дайджест-проверка подлинности отправляет хэш сведений клиента по каналу связи, поэтому имя пользователя и пароль клиента никогда не отправляются по сети.
- Дайджест-проверка подлинности хорошо работает через Интернет, что делает дайджест-проверку подлинности лучше подходит для этой среды, чем проверка подлинности Windows.
Примечание
Дайджест-проверка подлинности защищает только имя пользователя и пароль клиента. Текст http-связи по-прежнему находится в виде открытого текста. Чтобы защитить текст обмена данными, следует использовать протокол SSL.
Совместимость
Версия | Примечания |
---|---|
IIS 10.0 | Элемент <digestAuthentication> не был изменен в IIS 10.0. |
IIS 8,5 | Элемент <digestAuthentication> не был изменен в IIS 8.5. |
IIS 8,0 | Элемент <digestAuthentication> не был изменен в IIS 8.0. |
IIS 7,5 | Элемент <digestAuthentication> не был изменен в IIS 7.5. |
IIS 7.0 | Элемент <digestAuthentication> появился в IIS 7.0. |
IIS 6,0 | Элемент <digestAuthentication> заменяет части свойств метабазы AuthType и AuthFlags IIS 6.0. |
Настройка
Установка iis 7 и более поздних версий по умолчанию не включает службу роли дайджест-проверки подлинности. Чтобы использовать дайджест-проверку подлинности в IIS 7 и более поздних версий, необходимо установить службу ролей, отключить анонимную проверку подлинности для веб-сайта или приложения, а затем включить дайджест-проверку подлинности для сайта или приложения.
Чтобы установить службу роли дайджест-проверки подлинности, выполните следующие действия.
Windows Server 2012 или Windows Server 2012 R2
- На панели задач щелкните Диспетчер сервера.
- В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
- В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
- На странице Роли сервера разверните узел Веб-сервер (IIS),веб-сервер, безопасность, а затем выберите Дайджест-проверка подлинности. Щелкните Далее.
.
- На странице Выбор компонентов нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
- На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите панель управления.
- В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- Разверните узлы Службы IIS, Веб-службы, Безопасность, а затем выберите Дайджест-проверка подлинности.
- Нажмите кнопку ОК.
- Щелкните Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку Пуск, выберите Администрирование, а затем диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел Роли и выберите Веб-сервер (IIS).
- На панели Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
- На странице Выбор служб ролеймастера добавления служб ролей выберите Дайджест-проверка подлинности и нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- Разверните узлы Службы IIS, Веб-службы, Безопасность, а затем — Дайджест-проверка подлинности и нажмите кнопку ОК.
Инструкции
Включение дайджест-проверки подлинности и отключение анонимной проверки подлинности
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения разверните имя сервера, сайты, а затем щелкните сайт, приложение или веб-службу, для которых требуется включить обычную проверку подлинности.
Прокрутите страницу до раздела Безопасность на панели Главная , а затем дважды щелкните Проверка подлинности.
В области Проверка подлинности выберите Дайджест-проверка подлинности, а затем в области Действия нажмите кнопку Включить.
В области Проверка подлинности выберите Анонимная проверка подлинности, а затем нажмите кнопку Отключить в области Действия .
Конфигурация
Элемент <digestAuthentication>
можно настроить на уровне сайта, приложения, виртуального каталога и URL-адреса. После установки службы ролей IIS 7 фиксирует следующие параметры конфигурации в файле ApplicationHost.config.
<digestAuthentication enabled='false' />
Атрибуты
Атрибут | Описание |
---|---|
enabled |
Дополнительный логический атрибут. Указывает, включена ли дайджест-проверка подлинности. Значение по умолчанию — false . |
realm |
Необязательный атрибут String. Указывает область для дайджест-проверки подлинности. |
Дочерние элементы
Отсутствует.
Образец конфигурации
Следующий пример конфигурации включает дайджест-проверку подлинности для веб-сайта, веб-приложения или веб-службы. По умолчанию эти параметры должны быть включены в файл ApplicationHost.config, и их необходимо включить в <location>
элемент и использовать атрибут path для определения веб-сайта или приложения, к которому вы хотите применить параметры проверки подлинности.
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<digestAuthentication enabled="true" />
</authentication>
</security>
Пример кода
В следующих примерах включается дайджест-проверка подлинности для сайта.
AppCmd.exe
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/digestAuthentication /enabled:"True" /commit:apphost
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphost
фиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection digestAuthenticationSection = config.GetSection("system.webServer/security/authentication/digestAuthentication", "Contoso");
digestAuthenticationSection["enabled"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim digestAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/digestAuthentication", "Contoso")
digestAuthenticationSection("enabled") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var digestAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/digestAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
digestAuthenticationSection.Properties.Item("enabled").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set digestAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/digestAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
digestAuthenticationSection.Properties.Item("enabled").Value = True
adminManager.CommitChanges()