Разрешения IIS AppPool для SQL Server (добавление NT AUTHORITY\IUSR)

У меня новая сборка сервера под управлением Windows Server 2012 R2, IIS 8.5 (включая функцию ClassicASP) и SQL Server 2014 Express. Я хочу использовать Application Pool Identity для подключения к базе данных. База данных установлена ​​в "Режим аутентификации Windows".

Моя идентификация пула приложений называется activbase.net, Я установил логин безопасности в SQL Server под названием IIS AppPool\activbase.net и пользователь сопоставил его с моей базой данных db_datareader а также db_datawriter доступ.

Однако, когда я пытаюсь получить доступ к базе данных с веб-сайта, я получаю:

Не удается открыть базу данных "ActivbaseLive", запрошенную при входе в систему. Ошибка входа.

Я думал, что этого было достаточно, чтобы установить соединение. Журнал приложения (Просмотр событий) показывает:

Ошибка входа для пользователя 'NT AUTHORITY\IUSR'. Причина: не удалось открыть явно указанную базу данных "ActivbaseLive". [КЛИЕНТ: ]

Итак, я добавил NT AUTHORITY\IUSR аналогично SQL Server> Безопасность> Логины и базы данных>[ActivbaseLive]> Безопасность> Пользователи, и это решает проблему.

Мои вопросы следующие:

  1. Должен ли я добавить NT AUTHORITY\IUSR логин / пользователь в дополнение к IIS AppPool\activbase.net логин / пользователь для моего экземпляра SQL Server и базы данных?
  2. Есть ли проблема безопасности с этим? (ПРИМЕЧАНИЕ: это будет производственная среда)

Спасибо Крис

0 ответов

Нет. Вам не нужно добавлять имя входа SQL Server для NT AUTHORITY\IUSR идентичность в дополнение к IIS AppPool\activbase.netличность. Логин дляIIS AppPool\activbase.net Для подключения к SQL Server с использованием проверки подлинности Windows достаточно только удостоверения пула приложений.

NT AUTHORITY\IUSR- это встроенная учетная запись Windows, которая является удостоверением по умолчанию, используемым при включенной анонимной проверке подлинности для вашего приложения. На этой странице приводится описание учетной записи.

Чтобы подключиться к вашей базе данных с помощью IIS AppPool\activbase.net identity, вам необходимо изменить учетную запись для анонимных пользователей с NT AUTHORITY\IUSR на ваш IIS AppPool\activbase.netудостоверение пула приложений. Чтобы внести это изменение, выполните следующие действия:

  1. Откройте диспетчер информационных служб Интернета (IIS).
  2. На панели " Подключения" найдите и щелкните, чтобы выбрать веб-сайт, на котором размещено ваше приложение, например Веб-сайт по умолчанию. (Если вы хотите настроить конкретное приложение на своем веб-сайте, вы можете выбрать это приложение.)
  3. В представлении функций на центральной панели дважды щелкните Проверка подлинности.
  4. Анонимная аутентификация, скорее всего, будет включена в вашей настройке. Щелкните правой кнопкой мыши Анонимная проверка подлинности и выберите Изменить.
  5. В диалоговом окне " Изменить учетные данные для анонимной проверки подлинности " выберите параметр " Удостоверение пула приложений" и нажмите кнопку " ОК".

Вопрос в приведенной ниже ссылке (и ответ на него) касается той же проблемы:

Ошибка входа для пользователя NT AUTHORITY\IUSR

Что касается вашего второго вопроса "Есть ли при этом проблема безопасности?", То ответ - "Да". Вы предпочтительно не хотитеNT AUTHORITY\IUSRвстроенная учетная запись, имеющая доступ к вашей базе данных SQL Server, поскольку она используется как анонимная учетная запись по умолчанию на любых других веб-сайтах (и их приложениях), размещенных на вашем веб-сервере IIS. Это означает, что другие веб-сайты и приложения смогут подключаться к вашей базе данных. Если они будут скомпрометированы в результате атаки, они потенциально могут быть использованы для доступа к вашим данным. Поэтому лучше не иметь входа в SQL Server дляNT AUTHORITY\IUSR. Вместо этого ограничьте доступ к базе данных идентификатором пула приложений вашего веб-сайта (или приложения).

Другие вопросы по тегам