2 / 2 / 0
Регистрация: 29.07.2008
Сообщений: 159
|
|
Настройка веб сайта IIS под Win200321.07.2011, 17:45. Показов 13474. Ответов 20
Метки нет Все метки)
(
Возникла необходимость администрирования веб сервера Windows 2003 Standart Edition, вот думаю как правильно настроить веб сайт - под каким пользователем, какие настройки, как настроить пул приложений. Какие роли давать пользователю под которым запускать сайт.
спасибо за внимание
0
|
21.07.2011, 17:45 | |
Ответы с готовыми решениями:
20
Настройка доступа к веб-сайту на IIS 7 под MS Server 2008 Проблемма с установкой Perl под Веб сервер для IIS под Windows 2000 Professional Настройка Веб-сервера Iis Для 1с 82 |
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
|
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: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
|
28.07.2011, 15:58 | |
Помогаю со студенческими работами здесь
20
Настройка pop3 под IIS
Как установить https под IIS? Сертификаты, настройка и т.д. Как разместить несколько веб-сайтов на одном сервере под IIS? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Анализ и линтинг кода 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
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|