Проверка подлинности безопасности <>

Общие сведения

Проверка подлинности — это механизм проверки личности посетителей веб-сайта или веб-приложения. Как правило, это можно сделать, назначив пользователю имя пользователя и пароль или разрешив ему анонимный доступ к общедоступному содержимому сайта.

Хотя вы используете проверку подлинности для подтверждения личности посетителя, вы используете авторизацию для управления доступом посетителя к различным областям сайта или приложения.

IIS 7 поддерживает анонимную проверку подлинности, обычную проверку подлинности, проверку подлинности на основе сопоставления сертификатов клиента, дайджест-проверку подлинности, проверку подлинности для сопоставления сертификатов клиента IIS и проверка подлинности Windows. Дополнительные режимы проверки подлинности могут предоставляться сторонними модулями проверки подлинности.

После установки одного из модулей проверки подлинности необходимо включить выбранный модуль проверки подлинности для веб-сайта, веб-приложения или веб-службы, в которой вы хотите его использовать.

Кроме того, по умолчанию IIS 7 включает проверку подлинности в режиме ядра для схемы проверки подлинности Windows (с использованием Kerberos или NTLM). Проверка подлинности в режиме ядра обеспечивает следующие преимущества.

  • Веб-приложения могут выполняться с использованием учетных записей с низким уровнем привилегий.
  • При использовании проверки подлинности Kerberos можно использовать учетную запись, отличную от учетной записи по умолчанию, связанной с именем субъекта-службы (SPN) сервера.
  • При использовании проверки подлинности в режиме ядра можно использовать поставщик Kerberos проверка подлинности Windows без явной настройки имени субъекта-службы.

Совместимость

Версия Примечания
IIS 10.0 Элемент <authentication> не был изменен в IIS 10.0.
IIS 8,5 Элемент <authentication> не был изменен в IIS 8.5.
IIS 8,0 Элемент <authentication> не был изменен в IIS 8.0.
IIS 7,5 Элемент <authentication> не был изменен в IIS 7.5.
IIS 7.0 Элемент <authentication> появился в IIS 7.0.
IIS 6,0 Н/Д

Настройка

Элемент <authentication> включен в установку iis 7 по умолчанию.

Инструкции

Отключение анонимной проверки подлинности

  1. Откройте диспетчер служб 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.
  2. В области Подключения разверните имя сервера, сайты, перейдите на уровень в области иерархии, которую вы хотите настроить, а затем щелкните веб-сайт или веб-приложение.

  3. Прокрутите страницу до раздела Безопасность на панели Главная , а затем дважды щелкните Проверка подлинности.

  4. В области Проверка подлинности выберите Анонимная проверка подлинности, а затем нажмите кнопку Отключить в области Действия .
    Снимок экрана: панель проверки подлинности. Анонимная проверка подлинности включена и выбрана.

Изменение учетных данных анонимной проверки подлинности из учетной записи IUSR

  1. Откройте диспетчер служб 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.
  2. В области Подключения разверните имя сервера, сайты, перейдите к уровню в области иерархии, которую вы хотите настроить, а затем щелкните веб-сайт или веб-приложение.

  3. Прокрутите страницу до раздела Безопасность на панели Главная , а затем дважды щелкните Проверка подлинности.

  4. В области Проверка подлинности выберите Анонимная проверка подлинности, а затем нажмите кнопку Изменить... в области Действия .

  5. В диалоговом окне Изменение учетных данных анонимной проверки подлинности выполните одно из следующих действий.

    • Выберите Удостоверение пула приложений , чтобы использовать набор удостоверений для пула приложений, а затем нажмите кнопку ОК.
      Снимок экрана: диалоговое окно

    • Нажмите кнопку Задать..., а затем в диалоговом окне Установка учетных данных введите имя пользователя учетной записи в поле Имя пользователя , введите пароль для учетной записи в полях Пароль и Подтверждение пароля , нажмите кнопку ОК, а затем нажмите кнопку ОК еще раз.
      Снимок экрана: диалоговое окно

      Примечание

      Если вы используете эту процедуру, предоставьте новой учетной записи только минимальные привилегии на компьютере сервера IIS.


Включение проверка подлинности Windows для веб-сайта, веб-приложения или веб-службы

  1. Откройте диспетчер служб 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.
  2. В области Подключения разверните имя сервера, узел Сайты, а затем сайт, приложение или веб-службу, для которых требуется включить проверка подлинности Windows.

  3. Прокрутите страницу до раздела Безопасность на панели Главная , а затем дважды щелкните Проверка подлинности.

  4. В области Проверка подлинности выберите Проверка подлинности Windows и нажмите кнопку Включить в области Действия .
    Снимок экрана: панель проверки подлинности. Проверка подлинности Windows отключена и выбрана.

Конфигурация

Группа <authentication> разделов определена в разделе конфигурации <system.webServer> . Эта группа разделов определяет разделы конфигурации для всех типов проверки подлинности пользователей, которые можно установить и включить на сервере. Его можно настроить на уровне сервера в файле ApplicationHost.config и на уровне приложения в файле Web.config.

Атрибуты

Отсутствует.

Дочерние элементы

Элемент Описание
anonymousAuthentication Необязательный элемент.

Задает параметры анонимной проверки подлинности.
basicAuthentication Необязательный элемент.

Задает параметры для обычной проверки подлинности.
clientCertificateMappingAuthentication Необязательный элемент.

Задает параметры проверки подлинности сопоставления сертификата клиента с помощью Active Directory.
digestAuthentication Необязательный элемент.

Задает параметры дайджест-проверки подлинности.
iisClientCertificateMappingAuthentication Необязательный элемент.

Указывает параметры проверки подлинности сопоставления сертификатов клиента с помощью IIS.
windowsAuthentication Необязательный элемент.

Задает параметры для проверка подлинности Windows.

Образец конфигурации

Следующий пример конфигурации отключает анонимную проверку подлинности для сайта Contoso, а затем включает обычную проверку подлинности и проверка подлинности Windows для сайта.

<location path="Contoso">
   <system.webServer>
      <security>
         <authentication>
            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="true" defaultLogonDomain="Contoso" />
            <windowsAuthentication enabled="true" />
          </authentication>
      </security>
   </system.webServer>
</location>

Пример кода

В следующих примерах отключается анонимная проверка подлинности для сайта Contoso, а затем включается обычная проверка подлинности и проверка подлинности Windows для сайта.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"False" /commit:apphost

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/basicAuthentication /enabled:"True" /commit:apphost

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/windowsAuthentication /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 anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
         anonymousAuthenticationSection["enabled"] = false;

         ConfigurationSection basicAuthenticationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso");
         basicAuthenticationSection["enabled"] = true;

         ConfigurationSection windowsAuthenticationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso");
         windowsAuthenticationSection["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 anonymousAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso")
      anonymousAuthenticationSection("enabled") = False

      Dim basicAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso")
      basicAuthenticationSection("enabled") = True

      Dim windowsAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso")
      windowsAuthenticationSection("enabled") = True

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
anonymousAuthenticationSection.Properties.Item("enabled").Value = false;

var basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
basicAuthenticationSection.Properties.Item("enabled").Value = true;

var windowsAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/windowsAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
windowsAuthenticationSection.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
anonymousAuthenticationSection.Properties.Item("enabled").Value = False

Set basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
basicAuthenticationSection.Properties.Item("enabled").Value = True

Set windowsAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/windowsAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
windowsAuthenticationSection.Properties.Item("enabled").Value = True

adminManager.CommitChanges()