Перейти к содержимому

Iis apppool defaultapppool что это

  • автор:

Iis apppool defaultapppool что это

можно ли что-н предпринять что бы коннектиться к MS SQL под другим пользователем при, забыл как называется, вроде Windows или Integrated аутенфикации. Что это за пользователь такой и почему его нигде не видно еще где-то?

Re: IIS APPPOOL\DefaultAppPool пользователь при Windows аутенфикации

От: -rsdn- http://dsalodki.wix.com/resume
Дата: 28.05.12 11:20
Оценка:

Здравствуйте, -rsdn-, Вы писали:

R>можно ли что-н предпринять что бы коннектиться к MS SQL под другим пользователем при, забыл как называется, вроде Windows или Integrated аутенфикации. Что это за пользователь такой и почему его нигде не видно еще где-то?

Извиняюсь за глупый вопрос — это просто один из вариантов выбора пула Application pool : like 4.0, 2.0 & so on

Re: IIS APPPOOL\DefaultAppPool пользователь при Windows аутенфикации

От: hardcase http://nemerle.org
Дата: 30.05.12 09:21
Оценка:

Здравствуйте, -rsdn-, Вы писали:

R>можно ли что-н предпринять что бы коннектиться к MS SQL под другим пользователем

Строка подключения позволяет указать логин и пароль для подключения.

/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: IIS APPPOOL\DefaultAppPool пользователь при Windows аутенфикации

От: Neco
Дата: 30.05.12 09:51
Оценка:

Здравствуйте, -rsdn-, Вы писали:

R>Извиняюсь за глупый вопрос — это просто один из вариантов выбора пула Application pool : like 4.0, 2.0 & so on
да, можно указать в application pool, а есть ещё вариант через impersonation в веб-конфиге. У нас один из вендоров так сделал — минусов замечено не было, поэтому переняли на своих проектах. Позволяет регать SPN на машинный аккаунт (что легче менеджится, имхо) в IIS6 или в IIS7 с выключенным kernel-mode authentication плюс держать разные приложения на одном пуле.

Удостоверения пула приложений

Независимо от того, работаете ли вы на своем сервере или в облаке, безопасность должна находиться в верхней части списка приоритетов. В этом случае вы будете рады узнать, что в IIS есть функция безопасности, называемая удостоверением пула приложений. Эта функция появилась в Windows Server 2008 и Windows Vista с пакетом обновления 2 (SP2). Удостоверение пула приложений позволяет запускать пул приложений с уникальной учетной записью без необходимости создавать доменные или локальные учетные записи и управлять ими. Имя учетной записи пула приложений соответствует имени пула приложений. На рисунке ниже показан рабочий процесс IIS (W3wp.exe), запущенный в качестве удостоверения DefaultAppPool.

Снимок экрана диспетчера задач с фокусом на рабочем процессе W 3 W P ТОЧКА E X E I IS.

Учетные записи удостоверений пула приложений

Рабочие процессы в IIS 6.0 и IIS 7 по умолчанию выполняются как сетевая служба. Сетевая служба — это встроенное удостоверение Windows. Он не требует пароля и имеет только права пользователя; то есть он является относительно низким уровнем привилегий. Использование в качестве учетной записи с низким уровнем привилегий является хорошей практикой безопасности, так как в этом случае программная ошибка не может быть использована злоумышленником для управления всей системой.

Однако со временем возникла проблема, так как все больше системных служб Windows начали работать как сетевая служба. Это связано с тем, что службы, работающие как сетевая служба, могут подделать другие службы, работающие под тем же удостоверением. Так как рабочие процессы IIS по умолчанию запускают сторонний код (классический ASP, ASP.NET, php-код), пора изолировать рабочие процессы IIS от других системных служб Windows и запускать рабочие процессы IIS с уникальными удостоверениями. Операционная система Windows предоставляет функцию, называемую «виртуальными учетными записями», которая позволяет СЛУЖБАм IIS создавать уникальные удостоверения для каждого пула приложений. Дополнительные сведения о виртуальных учетных записях см. в разделе Пошаговые инструкции по учетным записям служб.

Настройка удостоверений пула приложений IIS

Если вы используете IIS 7.5 в Windows Server 2008 R2 или более поздней версии IIS, вам не нужно ничего делать, чтобы использовать новое удостоверение. Для каждого создаваемого пула приложений свойство Identity нового пула приложений по умолчанию имеет значение ApplicationPoolIdentity . Iis Администратор Process (WAS) создаст виртуальную учетную запись с именем нового пула приложений и запустит рабочие процессы пула приложений под этой учетной записью по умолчанию.

Чтобы использовать эту виртуальную учетную запись при запуске IIS 7.0 в Windows Server 2008, необходимо изменить свойство Identity создаваемого пула приложений на ApplicationPoolIdentity. Вот как это происходит.

  1. Откройте консоль управления IIS (INETMGR. MSC).
  2. Откройте узел Пулы приложений под узлом компьютера. Выберите пул приложений, который нужно изменить для запуска с автоматически созданным удостоверением пула приложений.
  3. Щелкните правой кнопкой мыши пул приложений и выберите Дополнительные параметры. Снимок экрана: диалоговое окно
  4. Выберите элемент списка Удостоверение и нажмите кнопку с многоточием (кнопку с тремя точками).
  5. Появится представленное ниже диалоговое окно. Снимок экрана: диалоговое окно удостоверения пула приложений с выделенным параметром
  6. Нажмите кнопку Встроенная учетная запись, а затем в поле со списком выберите тип удостоверения ApplicationPoolIdentity .

Чтобы выполнить то же действие с помощью командной строки, можно вызвать программу командной строки appcmd следующим образом:

%windir%\system32\inetsrv\appcmd.exe set AppPool -processModel.identityType:ApplicationPoolIdentity 

Защита ресурсов

При создании нового пула приложений процесс управления IIS создает идентификатор безопасности (SID), представляющий имя самого пула приложений. Например, при создании пула приложений с именем MyNewAppPool в системе Безопасность Windows создается идентификатор безопасности с именем MyNewAppPool. С этого момента ресурсы можно защитить с помощью этого удостоверения. Однако удостоверение не является реальной учетной записью пользователя; Он не будет отображаться как пользователь в консоли управления пользователями Windows.

Это можно сделать, выбрав файл в Windows Обозреватель и добавив удостоверение DefaultAppPool в список контроль доступа файла (ACL).

Снимок экрана: диалоговое окно

  1. Открытие проводника Windows
  2. Выберите файл или каталог.
  3. Щелкните файл правой кнопкой мыши и выберите Свойства.
  4. Перейдите на вкладку Безопасность.
  5. Нажмите кнопку Изменить , а затем кнопку Добавить .
  6. Нажмите кнопку Расположения и убедитесь, что выбран компьютер.
  7. Введите IIS AppPool\DefaultAppPool в текстовом поле Введите имена объектов для выбора : .
  8. Нажмите кнопку Проверить имена и нажмите кнопку ОК.

При этом выбранный файл или каталог теперь также разрешит доступ к удостоверению DefaultAppPool .

Это можно сделать с помощью командной строки с помощью средства ICACLS. В следующем примере предоставляется полный доступ к удостоверению DefaultAppPool.

ICACLS test.txt /grant "IIS AppPool\DefaultAppPool:F" 

Дополнительные сведения см. в разделе ICACLS.

В Windows 7 и Windows Server 2008 R2 и более поздних версиях Windows по умолчанию пулы приложений запускаются в качестве удостоверения пула приложений. Для этого появился новый тип удостоверения с именем AppPoolIdentity. Если выбран тип удостоверения AppPoolIdentity (по умолчанию в Windows 7 и Windows Server 2008 R2 и более поздних версиях), службы IIS будут запускать рабочие процессы в качестве удостоверения пула приложений. При использовании всех остальных типов удостоверений идентификатор безопасности будет внедрен только в маркер доступа процесса. Если идентификатор внедрен, содержимое по-прежнему может быть acLed для ApplicationPoolIdentity, но владелец маркера, вероятно, не уникален. Дополнительные сведения об этой концепции см. в записи блога New in IIS 7 — App Pool Isolation (Изоляция пула приложений ).

Доступ к сети

Использование учетной записи сетевой службы в среде домена дает большое преимущество. Рабочий процесс, выполняемый от имени сетевой службы, обращается к сети в качестве учетной записи компьютера. Учетные записи компьютера создаются при присоединении компьютера к домену. Они выглядят следующим образом:

mydomain\machine1$ 

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

Как насчет удостоверений пула приложений?

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

Проблемы совместимости с удостоверениями пула приложений

Руководство по документации

Самой большой проблемой совместимости с удостоверениями пула приложений, вероятно, являются более ранние руководства, в которых явно рекомендуется использовать ресурсы ACL для сетевой службы, то есть идентификатор defaultAppPool в IIS 6.0 и IIS 7.0. Клиентам придется изменить свои скрипты на ACL для IIS AppPool\DefaultAppPool (или другого имени пула приложений) при запуске в IIS 7.5 или более поздней версии (см. пример выше, как это сделать).

Профиль пользователя

Службы IIS не загружают профиль пользователя Windows, но некоторые приложения могут использовать его в любом случае для хранения временных данных. Sql Express — это пример приложения, которое делает это. Однако необходимо создать профиль пользователя для хранения временных данных в каталоге профиля или в кусте реестра. Профиль пользователя для учетной записи сетевой службы был создан системой и всегда был доступен. Однако при переключении на уникальные удостоверения пула приложений система не создает профиль пользователя. Только стандартные пулы приложений (DefaultAppPool и классический пул приложений .NET) имеют профили пользователей на диске. Профиль пользователя не создается, если администратор создает пул приложений.

Однако при необходимости можно настроить пулы приложений IIS для загрузки профиля пользователя, задав для атрибута LoadUserProfile значение true.

Итоги

Удостоверения пула приложений — это новая мощная функция изоляции, представленная в Windows Server 2008, Windows Vista и более поздних версиях Windows. Это сделает выполнение приложений IIS еще более безопасным и надежным.

Обратная связь

Были ли сведения на этой странице полезными?

Пулы приложений

Элемент содержит параметры конфигурации для всех пулов приложений, работающих на сервере iis 7 или более поздней версии. Пул приложений определяет группу из одного или нескольких рабочих процессов, настроенных с общими параметрами, которые обслуживают запросы к одному или нескольким приложениям, назначенным данному пулу приложений. Так как пулы приложений позволяют набору веб-приложений совместно использовать один или несколько аналогично настроенных рабочих процессов, они предоставляют удобный способ изолировать набор веб-приложений от других веб-приложений на серверном компьютере. Границы процесса разделяют каждый рабочий процесс; Поэтому проблемы с приложениями в одном пуле приложений не влияют на веб-сайты или приложения в других пулах приложений. Пулы приложений значительно повышают надежность и управляемость веб-инфраструктуры.

Вы можете использовать пул приложений по умолчанию, предоставляемый СЛУЖБАми IIS при установке, или создать собственный пул приложений. На сервере IIS 7 и более поздних версий можно запустить любое количество пулов приложений, хотя это может повлиять на производительность сервера. Пулы приложений могут содержать один или несколько рабочих процессов. Каждый рабочий процесс представляет работу, выполняемую для веб-сайта, веб-приложения или веб-службы. Вы можете создать веб-сад, развердив выполнение нескольких рабочих процессов в одном пуле приложений.

В IIS 7 и более поздних версиях каждый пул приложений использует один из двух режимов интеграции .NET для запуска ASP.NET приложений: интегрированный или классический. Режим интеграции .NET, определенный для пула приложений, определяет, как IIS обрабатывает входящий запрос к сайтам, приложениям и веб-службам, работающим в этом пуле приложений.

  • Интегрированный режим позволяет IIS обрабатывать запросы в пуле приложений с помощью интегрированного конвейера IIS 7 и более поздних версий. Это позволяет ASP.NET модулям участвовать в обработке запросов IIS независимо от типа запрошенного ресурса. Использование режима интеграции делает доступными функции конвейера запросов ASP.NET 2.0 для запросов статического содержимого, а также ASP, PHP и других типов контента. По умолчанию пулы приложений IIS 7 и более поздних версий выполняются в этом режиме.
  • Классический режим использует конвейер обработки IIS 6.0 для размещения ASP.NET приложений. В этом режиме запросы сначала обрабатываются с помощью модулей IIS 7 и более поздних версий, а ASP.NET запросы дополнительно обрабатываются aspnet_isapi.dll. Конвейер обработки ASP.NET отделен от конвейера обработки IIS 7 и более поздних версий, а функции конвейера обработки запросов ASP.NET недоступны другим типам ресурсов. Это также означает, что запрос ASP.NET должен проходить через модули проверки подлинности и авторизации в обеих моделях процессов. Хотя это не так эффективно, как интегрированный режим, он позволяет запускать приложения, разработанные с помощью ASP.NET версии 1.1, на сервере IIS 7 и более поздних версий без изменения приложения для запуска в режиме интеграции.
Новые возможности в IIS 7.5 и более поздних версий

Начиная с IIS 7.5, вы можете настроить автоматический запуск приложения с помощью атрибутов managedRuntimeLoader, CLRConfigFile и startMode элемента . Эти атрибуты настраивают соответственно имя управляемой библиотеки DLL, которая обеспечивает загрузку среды выполнения для приложения, файл конфигурации среды CLR для приложения и тип запуска для приложения.

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

Версия Примечания
IIS 10.0 Элемент не был изменен в IIS 10.0.
IIS 8,5 Элемент не был изменен в IIS 8.5.
IIS 8,0 Элемент не был изменен в IIS 8.0.
IIS 7,5 Элемент элемента был обновлен в IIS 7.5, чтобы включить атрибуты, которые позволяют предварительно загружать приложения с помощью атрибутов managedRuntimeLoader, CLRConfigFile и startMode , а также запускать приложения с помощью нового ApplicationPoolIdentity.
IIS 7.0 Элемент появился в IIS 7.0.
IIS 6,0 Элемент заменяет объект метабазы IIsApplicationPools IIS 6.0.

Настройка

Коллекция включена в установку 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. В диалоговом окне Добавление пула приложений введите имя пула приложений в поле Имя: , в раскрывающемся списке платформа .NET Framework версия: выберите версию платформа .NET Framework, используемой сайтом или приложением, в раскрывающемся списке Режим управляемого конвейера: выберите Интегрированная или Классическая, а затем нажмите кнопку ОК.

Настройка пула приложений для существующего сайта или приложения

  1. В области Подключения разверните узел Сайты, а затем перейдите к веб-сайту или приложению, которые вы хотите добавить в пул приложений.
  2. В области Действия щелкните Дополнительные параметры.
  3. В разделе Общие диалогового окна Дополнительные параметры щелкните запись Пул приложений и нажмите кнопку с многоточием.
    Снимок экрана: диалоговое окно
  4. В диалоговом окне Выбор пула приложений выберите пул приложений в раскрывающемся списке Пул приложений: нажмите кнопку ОК, а затем снова нажмите кнопку ОК .
    Снимок экрана: поле пула приложений диалогового окна Выбор пула приложений, которое содержит раскрывающееся меню доступных параметров.

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

Элемент содержит коллекцию элементов. Каждый элемент в коллекции настраивает пул приложений, работающий в IIS 7 и более поздних версиях. Как минимум, каждый элемент содержит атрибут имени , который идентифицирует пул приложений для графического интерфейса пользователя и средств управления командной строки. Элемент содержит дочерние элементы, которые настраивают модель процесса, ЦП и параметры перезапуска для пула приложений.

Элемент также содержит элемент , который определяет параметры по умолчанию для всех пулов приложений на сервере IIS 7 и более поздних версий. Чтобы изменить параметры пула приложений по умолчанию на сервере, можно изменить элемент . При создании нового пула приложений параметры конфигурации для этого пула приложений переопределяют значения по умолчанию, заданные в элементе .

Атрибуты

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

Элемент Описание
add Добавляет пул приложений в раздел applicationPools.
applicationPoolDefaults Обязательный строковый атрибут.

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

В следующем примере конфигурации пул приложений и элементы используются для определения стандартных пулов приложений и значений по умолчанию для IIS.

Пример кода

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

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso',autoStart='True',managedPipelineMode='Integrated']" /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 applicationPoolsSection = config.GetSection("system.applicationHost/applicationPools"); ConfigurationElementCollection applicationPoolsCollection = applicationPoolsSection.GetCollection(); ConfigurationElement addElement = applicationPoolsCollection.CreateElement("add"); addElement["name"] = @"Contoso"; addElement["autoStart"] = true; addElement["managedPipelineMode"] = @"Integrated"; applicationPoolsCollection.Add(addElement); 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 applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools") Dim applicationPoolsCollection As ConfigurationElementCollection = applicationPoolsSection.GetCollection Dim addElement As ConfigurationElement = applicationPoolsCollection.CreateElement("add") addElement("name") = "Contoso" addElement("autoStart") = True addElement("managedPipelineMode") = "Integrated" applicationPoolsCollection.Add(addElement) serverManager.CommitChanges() End Sub End Module 

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager'); adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"; var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST"); var applicationPoolsCollection = applicationPoolsSection.Collection; var addElement = applicationPoolsCollection.CreateNewElement("add"); addElement.Properties.Item("name").Value = "Contoso"; addElement.Properties.Item("autoStart").Value = true; addElement.Properties.Item("managedPipelineMode").Value = "Integrated"; applicationPoolsCollection.AddElement(addElement); adminManager.CommitChanges(); 

VBScript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager") adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST" Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools","MACHINE/WEBROOT/APPHOST") Set applicationPoolsCollection = applicationPoolsSection.Collection Set addElement = applicationPoolsCollection.CreateNewElement("add") addElement.Properties.Item("name").Value = "Contoso" addElement.Properties.Item("autoStart").Value = True addElement.Properties.Item("managedPipelineMode").Value = "Integrated" applicationPoolsCollection.AddElement(addElement) adminManager.CommitChanges() 

Обратная связь

Были ли сведения на этой странице полезными?

Загадочный пользователь «IIS APPPOOL\DefaultAppPool»

Именно в контексте пользователя “IIS APPPOOL\DefaultAppPool” исполняется пул приложений по умолчанию в IIS7. Выглядит достаточно странно, как будто есть новый домен “IIS APPPOOL” (ну и название, клавиши залипали что ли) и в нём создан пользователь DefaultAppPool.

Идея, в принципе, хорошая, – разделить недоверенные приложения IIS и все остальные сетевые приложения, исполняющиеся в контексте NETWORK SERVICE. А вот реализация, как это нередко бывает, так себе. В частности через графический интерфейс для пользователя “IIS APPPOOL\DefaultAppPool” нельзя установить права доступа на файлы. Ответ старый – командная строка. Простая команда

icacls D:\path\to\folder /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Создаст некоторые начальные права. А вот редактировать их уже можно через графический интерфейс.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *