2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159

Настройка веб сайта IIS под Win2003

21.07.2011, 17:45. Показов 13474. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возникла необходимость администрирования веб сервера Windows 2003 Standart Edition, вот думаю как правильно настроить веб сайт - под каким пользователем, какие настройки, как настроить пул приложений. Какие роли давать пользователю под которым запускать сайт.
спасибо за внимание
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.07.2011, 17:45
Ответы с готовыми решениями:

Настройка доступа к веб-сайту на IIS 7 под MS Server 2008
Всем привет! Объясните пожалуйста, как можно сайт запущенный на IIS "расшарить" в локальную сеть? Машина на которой работает сайт...

Проблемма с установкой Perl под Веб сервер для IIS под Windows 2000 Professional
Помогите с установкой Perl под Веб сервер для IIS под Windows 2000 Professional Мои действия 1.Установил...

Настройка Веб-сервера Iis Для 1с 82
В качестве СУБД использую MSSQL Server 2008 Express, для доступа через интернет использую IIS. Простую конфигурацию, которую я написал,...

20
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
21.07.2011, 20:02
Windows 2003 и IIS6 по умолчанию устанавливаются с разумными настройками безопасности.

> под каким пользователем
Ты имеешь в виду под какой учетной записью будет работать веб-сервер для анонимных запросов? По моему стандартная учетная запись IUSR_имямашины полностью подходит для этого.

> Какие роли давать пользователю под которым запускать сайт.
Если это IUSR_имямашины, то ничего давать не нужно.

> как настроить пул приложений
Лично меня настройки по умолчанию полностью устроили. Единственное что я сделал - сделал чтобы Process Recycling вызывался не через определенное кол-во минут или запросов, а в точное время когда нагрузка обычно наименьшаяя. Работать пул, мне кажется, должен от имени учетной записи 'Network Service'.

Насчет настроек не знаю что посоветовать. Если есть конкретные вопросы - спрашивай, а так это очень расплывчато.

Вообще это очень обширная тема. На MSDN есть статья - 'Checklist: Securing Your Web Server'
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secmod/html/secmod104.asp

Есть еще одна большая статья по настройке IIS6 на новом компьютере -
'Windows 2003 / IIS 6.0 DMZ Hardening Guide'
http://www.shebeen.com/win2003/
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
21.07.2011, 21:56  [ТС]
'Windows 2003 / IIS 6.0 DMZ Hardening Guide'

супер! Спасибо огромное! - очень классная статья - прямо в точку, особенно про SSH для виндовс, раздел 13, вообще класс, у меня тута инет рубит местный пров - так я уже всю прочитал! ;-)
Еще раз спасибо огромное ;-)

а спрашивал я да, про настройку веб сайтов на IIS
смысл в том, что вот интересно как раз какой пользователь, какие ему галочки поставить, что закрыть - очень темная статья

если что еще найду - запостю ;-)
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 12:01  [ТС]
Вопрос такой еще ...
в настройках сайта в IIS в Directory Security,
в Authentication and Access Control
выставляю Enable Anonymous Access
пользователя под которым работает IIS
- пишу там например usertimda (такой пользователь есть в системе)
как правильно пароль вводить ? оставлять пустой ?
я ввожу пароль такой как у пользователя, он просит подтверждения
пароля - не пойму зачем.

вообще какого думаете пользователя туда вводить ? вернее какую роль этому пользователю давать и какие настройки ? есть у кого нить какие соображения ?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 12:04
Я тебе уже отвечал на этот вопрос - оставь там стандартную учетную запись ISUR_имяпользователя.
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 12:11  [ТС]
bazile, я понимаю, но ты не совсем прав, а скорее всего я не дообъяснил
на веб сервере не бывает одного сайта ;-) там много сайтов
знаешь как делают дефейсы с помощью PHPBB?
из-за общего доступа юзера под которым крутицца сайт
к каждому сайту надо прописать отдельного пользователя и дать ему права только на ту папку сайта, на который положено

тоесть есть два сайта
www.relib1.com
www.relib2.com
есть две папки
d:
elib1
d:
elib2
есть два пользователя
relib1
relib2
примерно такая схема, кстати и сам релиб на примерной схеме крутиться ;-) я там как раз и хостился до коллокейшна и счас там.
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 12:35
То что несколько сайтов может на одной машине я знаю
Но даже в этом случае совсем необязательно на мой взгляд создавать отдельные учетные записи для каждого сайта, при условии что оба этих сайта твои и только ты их администрируешь. Учетная запись IUSR_имямашына эквивалетна гостевой записи и не имеет прав записи в каталоги inetpub соотвественно дефейс сайта через эту учетную запись невозможен. Но возможно чтение и это может быть плохо. Тогда да, создавай отдельные учетные записи, делай им разные сильные пароли, добавляй их в группу Guests. Каждой учетной записи выдай права на чтение на свой каталог с сайтом. В настройках IIS для сайта вводишь имя учетной записи и ее пароль.
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 13:02  [ТС]
хорошо, теперь ситуация
текущий сервер релиб, у пользователя есть возможность закачать картинку, а картинка храницца на файловой системе ... сайт написать на простом ASP.
Скрипты исполняются под учетной записью, под которой создан сайт, тоесть этой учетке надо дать права на запись в директорию
/images/.
Правильно ?

Теперь вот какие еще вопросы ;-) почему группа пользователей Guests, что если вообще без группы ? я помню когда в MS CMS 2002 создаюцца юзверя они вообще без группы идут.
Настройки пользователя под которым крутицца сайт - я сношу все доступы на вкладках
Remote Control
Terminal Services Profile
Dial-IN
Enviroment - снимаю галки внизу Client Devices

что еще надо запретить ? ;-)

И такие детали, как вы относитесь к UrlScan и IISLockDown ?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 13:30
Для аплоада картинок я бы выделил отдельную папку внутри папки images. На нее выдаем права учетной записи сайта к которому она принадлежит. Возможно в свойствах папки в IIS еще придется поставить галочку 'Write' на закладке Directory. Также имеет смысл в выпадающем списке 'Execute permissions' поставить None, чтобы вместо картинки нельзя было выполняемый скрипт подсунуть и выполнить.

> почему группа пользователей Guests, что если вообще без группы ?
Можно и без группы. Просто насколько я понимаю в Win2003 специально была создана группа Guests для ограниченных учетных записей. Возможно этой группе в каких-то местах явно доступ запрещается. Уверен что включение интернетовского пользователя в эту группу не даст ему лишних прав. Решай сам как тебе удобнее.

> Настройки пользователя под которым крутицца сайт -
> я сношу все доступы на вкладках
> Remote Control
> Terminal Services Profile
> Dial-IN
> Enviroment - снимаю галки внизу Client Devices
Точно нужно убирать разрешение на терминальную сессию. Остальное можно и не трогать. Посмотри для примера права юзера IUSR_*.
Далее нужно в оснастке Local Security Policy добавить этого пользоватедя во все политики где есть пользователь IUSR_*. Для простоты лучше создать группу 'Anonymous Internet Users' включить туда IUSR_* и нового пользователя, после чего добавлять в политику уже группу, а не отдельных пользователей. Это проще администрировать будет.

> что еще надо запретить
Смотри статью на MSDN приведенную выше. Там описаны права, которые следует раздать.

> как вы относитесь к UrlScan и IISLockDown ?
UrlScan нужно ставить. Microsoft рекомендует это делать.
IISLockDown на IIS6 уже не нужен.
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 14:05  [ТС]
> Возможно в свойствах папки в IIS еще придется поставить галочку 'Write' на закладке Directory.
думаю, не в коем случае нельзя, это даст любому пользователю закачать картинку - проверено на Infopath формах ;-)))
есть на сервере картинка /images/upload/timda.jpg
туда злодей можит закачать чонить ... ну фантазии у этих товарищей богатая ;-)

> Решай сам как тебе удобнее.
Наверно стоит ставить геста, потому что у гестов вкладки другие чем у 'сервер операторс' - у меня сейчас такая группа стоит ;-)

а вот еще тема ... ASP.NET
делать внутри имперсонейт на каждом проекте на пользователя под которым IIS крутицца ? по идее веть дотнет крутицца под ASPNET юзером, у которого совершенно другие права чем у IIS.
Правильно я понимаю, что Application Pool как раз и нужен чтобы к дотнету цеплять определенных пользователей ?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 14:45
> думаю, не в коем случае нельзя, это даст любому пользователю
> закачать картинку - проверено на Infopath формах ;-)))
> есть на сервере картинка /images/upload/timda.jpg
> туда злодей можит закачать чонить ... ну фантазии у этих
> товарищей богатая ;-)
Буду иметь в виду на будущее.

> а вот еще тема ... ASP.NET
> делать внутри имперсонейт на каждом проекте на пользователя под
> которым IIS крутицца ? по идее веть дотнет крутицца под ASPNET
> юзером, у которого совершенно другие права чем у IIS.
> Правильно я понимаю, что Application Pool как раз и нужен чтобы
> к дотнету цеплять определенных пользователей ?
Пулы приложений это фича IIS6, а не ASP.NET. Нужны они для того чтобы отделить обработку запроса от кода веб-сервера. Каждый пул приложений работает внутри своего процесса w3p.exe. Это повышает надежность веб-сервера т.к. ошибка в приложении не сможет нарушить работу системного сервиса и не дает возможности атаковать системный сервис работающий с привелегиями локальной системы. Кроме того в случае ошибки внутри рабочего процесса w3p.exe, IIS запускает новый процесс w3p.exe для этого пула, а старый завершает. Во время пула IIS также накапливает запросы к нему в специальной очереди чтобы передать их новому процессу как только он будет готов их обслуживать.

Что касается ASP.NET. В Win2003 учетная запись ASPNET не используется. ASP.NET выполняется в контексте учетной записи свеого пула приложений. По умолчанию это будет (в зависимости от ситуации) или 'NT AUTHORITYNETWORK SERVICE' или анонимная учетная запись сайта. А учетную запись ASPNET можно просто запретить, кстати. Она нужна только в Win2k и WinXP - т.е. там где IIS 5.x используется.

Имперсонализацию нужно использовать только там где она нужна. Во-первых, для ее использования нужно чтобы пользователи проходили NTLM-аутентификацию, что возможно только в локалке и без прокси. Во-вторых, имперсонализация замедляет работу приложения. Для каждого запроса нужно выполнить impersonate и вернуть обратно после его обработки, пул соединений ADO.NET в этом случае не используется вообще, при подключении к SQL Server тот также вынужден использовать внешний (по отношению к себе) механизм аутентификации, что также замедляет работу. Все это не означает что включив имперсонализацию, ты получишь тормоза. Они не настолько сильные. Просто надо о них знать. Проявится реально они могут только при высокой нагрузке. Т.е. кол-во запросов которое сможет одновременно обслужить сервер без имперсонализации будет всега больше или равно кол-ва запросов на сервере с имперсонализацией (при прочих равных условиях).

Как итог повторю еще раз - используй имперсонализацию только если она тебе нужна по задаче.
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 15:12  [ТС]
> Как итог повторю еще раз - используй имперсонализацию только если она тебе нужна по задаче.

тоесть делать надо так ?

сайт relib1.com
есть пользователь relib1
мы прописываем в настройках IIS анонимного пользователя relib1

создаем новый пул приложения для этого сайт Relib1 App Pool
в нем задаем учетную запись relib1

и того - IIS и ASP.NET работают под учетной записью relib1 и в рамках этого приложения(веб сайта) будет доступ только через соотвествующего пользователя, в нашем случае relib1

Правильно ? ;-)
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 15:15
Думаю что новый пул приложений можно и не создавать. Достаточно анонимного юзера в настройках IIS нужного поставить.
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 15:18
Если на этой машине у тебя будут свои и чужие сайты одновременно, то можно создать AppPool для чужих сайтов, а свои запускать в Default App Pool. Отдельный пул приложений для каждого отдельного сайта точно не стоит делать. Ресурсов компа не хватит.
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 15:32  [ТС]
У меня дома Win2000 AS - пытался счас на дебагере посмотреть - ничего нет в User.Identity
надо будет на Win2003 как нить поэксперементировать.

Кстати тут где то слышал вопрос про как ASP.NET работает с процессами и потоками. При запросе (Request) создается поток или процесс ?
Я искал - насколько я понял процесс - рабочий процесс - ASP.NET для каждого приложения держит один и для каждого процесса есть какое то выделенное кол-во средов(потоков) и ASP.NET распределяет входящие запросы по этим потокам. Так ? ;-)
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 18:09
> пытался счас на дебагере посмотреть - ничего нет в User.Identity
И не будет. У тебя же анонимный запрос. Надо включить аутентификацию - Windows, Forms, Passport или нестандартную какую-то. Тогда там будет имя авторизованого юзера сайта. Но это не то же самое что выполнения запроса от его имени. Имя пользователя от имени которого выполняется процесс можно посмотреть или через TaskManager (я пользуюсь ProcessExplorer - http://www.sysinternals.com/ntw2k/freeware/procexp.shtml) или если хочется через отладчик, то тебе поможет System.Security.Principal.WindowsIdentit y.GetCurrent().

> При запросе (Request) создается поток или процесс ?
Это зависит от версии IIS. В IIS6 сначала создается рабочий процесс пула приложений w3wp.exe, если его еще нет. Далее w3wp.exe может начать создавать потоки для обслуживания запросов. Cам же ASP.NET ни потоков ни процессов не создает, а держит внутри себя очередь из HttpApplication и HttpHandler и передает управление им. Вроде так. По моему в журнале MSDN статья была где это подробно описывалось.
0
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
22.07.2011, 18:32  [ТС]
Хорошо бы эту статью почитать, а так будем разбирацца, спасибо

Я тут вспомнил еще об одном моменте. Как известно, при первой загрузке приложения(в нашем случае сайта), дотнет компилит приложение и при повторном вызове берет компиленное.

В случае какого нить сайта-форума - где посещаемость высокая - дотнет не успевает выгрузить приложение, потмоу что к нему часто обращаюцца. НО в случае сайта с посещаемостью 50-100 человек в день(вполне хорошая для сайта средней компании) периодически заходишь на сайт и ждешь компиляции ;-)

Версия такова, что дот нет выгружает из пула приложений через какое то время приложение. Может быть не так. Встречались с такими задачами ?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
22.07.2011, 19:27
Если сайт на IIS6, то дело не в ASP.NET скорее всего, а в настройках пула. По умолчанию пул приложений завершает свою работу, если в течение 20 минут нет обращений. Увеличь этот интервал и проблема станет менее острой. Еще помогает компиляция страниц в сборку. Т.е. на сложных страницах лучще не использовать CodeBehind файлы. При разработке сайта через VisualStuido, используется именно такая схеиа. Ну и активнее надо различные методики кеширования использовать OutputCache и объект Cache, в частности. Кеширование, конечно, не ускорит компиляцию, но зато ускорит последующие обращения.

На IIS5 вроде таких проблем быть не должно.
0
k_u_b_i_k
28.07.2011, 15:53
Народ, возникла проблема следующего рода: есть сайт, на который через IIS настроена доменная аутентификация... Так вот, на сайте есть папка images, к которой необходимо дать анонимный доступ на чтение. При установке галочки Anonymous access и попытке обращения к картике из этой папки, все равно требует доменный пароль. Не подскажете в чем может быть проблема?
2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
28.07.2011, 15:58  [ТС]
посмотри права на эту папку в системе, на нее должен быть доступ юзеру, который анонимаус, под которым сервер крутицца тоесть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2011, 15:58
Помогаю со студенческими работами здесь

Развертывание веб-сайта и службы в IIS
У меня есть решения в 2010 студии, и в ньом проект MVC і WCF. Как мне размистить ето на IIS, что б хотяби на мойом компе роботало???

Настройка pop3 под IIS
Вообще странно, что на сервере не нашлось места форуму для администраторов. У меня вот вопрос по IIS. А точнее, мне надо настроить POP3....

Время загрузки страниц при развертке веб-сайта на IIS
Всем доброго дня! Недавно столкнулся с такой ситуацией, что после развертки сайта на сервере IIS при удалении папки /Controllers...

Как установить https под IIS? Сертификаты, настройка и т.д.
Не могу разобраться с этими получениями сертификатов и настройкой сервера так, чтобы он работал по протоколу ssl если кто cnkrbdfkcz...

Как разместить несколько веб-сайтов на одном сервере под IIS?
Как разместить несколько веб-сайтов на одном сервере под IIS? ПОМОГИТЕ!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru