Установка MS Server 2003 - секреты и советы

Автор: (c)Крис Касперски ака мыщъх

MS Server 2003 - абсолютный лидер среди рынка SOHO-серверов, используемых в качестве файлового сервера и сервера печати. Конкуренция со стороны Linux и BSD-систем в этом сегменте рынка крайне слаба, поскольку мелкие организации просто не в состоянии (со)держать квалифицированного администратора, а кажущаяся легкость установки Server 2003 создает впечатление, что с ним справится даже секретарша. Отчасти это действительно так, но воздвигнуть быстрый, надежный и защищенный сервер не так-то просто! В попытке уберечь начинающих администраторов от типичных ошибок и было написано это пошаговое руководство.

Введение

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

Мыщъх исповедует принцип минимализма, заключающийся в отказе от всех дополнительных функций. Если мы можем обойтись без DHCP-сервера, прописав IP-адреса руками, значит именно так и нужно поступать. Если мы можем обойтись без службы Active Directory - просто забудем о ней! Конечно, кому-то такая концепция может показаться изначально порочной (а как же технический прогресс? может, вообще вернутся в пещеры, назад в каменный век?!), но... как показывает практика - чем сложнее система, тем больше шансов у нее сломаться. Чем больше служб и компонентов запущено за сервере, тем хуже для администратора.

Автоматизация поначалу кажется хорошей идеей, но... решая одни проблемы, она порождает другие и постепенно начинаешь понимать - какое же это блаженство все делать вручную! Вот только не нужно со мной горячо спорить! Было же сказано выше, что это концепция, а не догма. Просто концепция, одна из многих. Мыщъх, подрабатывая внештатным администратором на нескольких предприятиях, вовсе не высосал ее из пальца, а выработал годами, стремясь упросить свою жизнь и облегчить участь пользователей.

Советы по установке, настройке и эксплуатации Server 2003 разбиты на шесть шагов и покрывают практически все вопросы, с которыми сталкиваются начинающие администраторы (ну, насчет "всех" мыщъх, конечно, погорячился, но все-таки).

Server 2003

Рисунок 1. Внешне Server 2003 очень похож на XP.

Шаг первый - выбираем железо

Собрать сервер можно и на базе обычного PC. Ничего зазорного в этом нет. И работать он будет ничуть не хуже, чем железо от ведущих производителей, собирающих его из тех же самых комплектующих, что продаются на рынке. Подойдет любое качественное железо. Без памяти с контролем четности можно и обойтись, а вот от наличия активных охлаждающих элементов в лице "кулеров" желательно воздержаться. Их не должно быть ни на чипсете, ни на видеокарте. Исключение составляет, пожалуй, один лишь блок питания. Его следует брать с большим запасом по мощности, чтобы он сохранял свою работоспособность даже после выхода вентилятора из строя. Что поделаешь, сервер - такая вещь, в которую заглядывают нечасто.

Жесткие диски (по опыту тех, кому приходится их ремонтировать) лучше брать 500 Gb Seagate, как самая удачную модель, к тому же легко восстановимую в случае аппаратного отказа. Интерфейс, естественно, IDE, а SCSI оставим тем, кому действительно нужна большая производительность и обработка большого количества запросов на ввод-вывод. Использовать SCSI-диски в SOHO-серверах все равно, что летать за сигаретами на вертолете. То же самое относится и к RAID-массивам. Как показывает мой личный опыт, отказы жестких дисков - далеко не самая частая причина разрушения данных. К тому же, за использование дешевых интегрированных RAID-контроллеров администраторов нужно расстреливать на месте, поскольку если материнская плата выйдет из строя, а другой такой не окажется, диски придется сдавать на восстановление спецам. Гораздо надежнее настроить MS BackUp на ежедневное резервирование всех данных на второй винчестер, подключенный к обычному IDE-контроллеру.

Монитор. Зачем он нужен серверу? Правильно - абсолютно не нужен (в повседневной работе), а для установки и наладки можно на время позаимствовать монитор от ближайшей рабочей станции. Большинство современных LCD мониторов имеют два входа - цифровой и аналоговый. Отсюда идея - подключаем рабочую станцию к цифровому входу, сервер - к аналоговому и переключаемся между ними в любой момент времени.

Блоки бесперебойного питания - гадость. Мыщъх перепробовал много моделей, пока не остановился на APC 1000VA Smart и ACP 2200VA Smart как на наименее проблемных.

Шаг второй - интеграция пакетов обновлений

Берем диск с Server 2003, садимся за ближайшую рабочую станцию, скачиваем все заплатки и пакеты обновлений, после чего интегрируем их в дистрибутив, следуя инструкциям, размещенным в файле winhelpline.info. Естественно, для создания интегрированного дистрибутива нам понадобиться пишущий CD-R/RW привод, но у кого их сейчас нет?

А почему бы не скачать заплатки после установки сервера через Windows Update? Ведь большинство начинающих администраторов именно так и поступает, и только потом соображает, что они сотворили и как теперь это расхлебывать.

Во-первых, выходить в Сеть на незалатанном сервере крайне опасно, поскольку там шастает куча червей, ломящихся во все дыры. Мыщъх неоднократно фиксировал попытки атак, совершаемых уже через несколько минут после выхода в Интернет. Естественно, за такое короткое время скачать обновления невозможно и сервер изначально оказывается прокаженным. Не стоит надеяться, что вас атаковать никто не будет, вы никому не нужны и т.д. Атакующим на вас, в общем-то, наплевать - они просто сканируют диапазон IP-адресов в поисках жертвы.

Желательно вообще лишить SOHO-сервер доступа в Сеть, используя DSL-модем со встроенным брандмауэром, оснащенный Ethernet-портом. Соединяем модем со свичем, закрываем доступ к серверу на брандмауэре и отправляем хакеров отдыхать, а все обновления качаем с рабочих станций, причем вместо дырявого по жизни IE лучше использовать Горящего Лиса или Оперу.

Во-вторых, установка пакетов обновлений на "живой" сервер делает невозможной переустановку системы "поверх" старой. Инсталлятор, обругав нас матом, откажется работать с обновленной системой, настойчиво предлагая удалить ее с диска и установить заново, так сказать, с чистого листа. Вот такая, значит, напряженная ситуация складывается и чтобы объяснить инсталлятору, что он зверски не прав, приходится готовить интегрированный дистрибутив, включающий в себя все пакеты обновлений, установленные на сервере. Естественно, эту операцию можно выполнить в любой момент, но учитывая, что время простоя сервера - это деньги, лучше позаботиться об интеграции заранее (ведь созданный дистрибутив еще обкатать надо!).

Шаг третий - автоматический запуск сервера

В мелких организациях за серверами обычно никто не следит. Вводить ставку оператора - слишком дорогое удовольствие, а приходящий администратор зачастую находится вне досягаемости. А теперь вопрос: что произойдет, если, например, отрубят питание и UPS отправит сервер в шатдаун? Или система выбросит голубой экран смерти? Кто-то случайно выдернет силовой кабель, прижмется задницей к кнопке Reset? Правильно, после включения система потребует нажать Alt-Ctrl-Del, а затем появится диалоговое окно Event Tracker'а, требующего объявить, почему сервер не был зашутданен "цивильным" путем. После описания проблемы система перейдет к процессу авторизации, ожидая пароля администратора.

Учитывая, что у большинства пользователей физический доступ к серверу отсутствует, им придется очень несладко, не говоря уже про самого администратора, вынужденного из-за каждой мелочи мотаться по всему городу. Чтобы не трепать себе нервы, лучше забить на безопасность и настроить сервер так, чтобы при подаче питания он стартовал автоматически, не требуя даже нажатия на кнопку Power, поведение которой настраивается через BIOS Setup (кстати говоря, не все модели материнских плат позволяют сделать это).

Теперь перейдем к отключению запроса на нажатие ALT-CTRL-DEL. Заходим в Administrative Tools\Local Security Police, в дереве Security Settings раскрываем ветвь Local Polices\Security Options и в правой половине окна находим пункт: "Interactive logon: Do not require CTRL+ALT+DEL", по умолчанию находящийся в состоянии "Disabled". Дважды щелкаем по нему мышью и меняем "Enabled" на "Disabled".

Отключение запроса на нажатие ALT-CTRL-DEL

Рисунок 2. Отключение запроса на нажатие ALT-CTRL-DEL.

Остается только прищемить Event Tracker, чтобы сидел себе тихо и не возникал. В командой строке набираем "MMC" для запуска Microsoft Management Console, затем в меню File выбираем пункт "Add/Remove Snap-in..." (или нажимаем <CTRL-M>), далее в появившемся диалоговом окне находим кнопку "Add" и добавляем "Group Policy Object Editor". Закрываем ненужные диалоговые окна кнопками "Finish" и "Close", переходим к вкладке "Extensions" и выбираем "Administrative Templates (Computer Configuration)", жмем на "OK" и в "Console root\Local Computer Policy\Administrative Templates\System" находим пункт "Display Shutdown Event Tracker", который двойным мышиным щелчком переводим в состояние "Disabled". За сим все. Теперь с этими надоедливыми вопрошалками покончено раз и навсегда.

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

Отключение Event Tracker'а

Рисунок 3. Отключение Event Tracker'а.

Шаг четвертый – настройка пользовательских аккаунтов

По умолчанию ко всем разделяемым ресурсам (файлам, папкам, принтерам) имеют доступ только пользователи, зарегистрированные на сервере. Если имя и пароль удаленного пользователя совпадают с именем/паролем пользователя, зарегистрированного на сервере, то запрос на ввод пароля не выдается, что очень удобно. Пользователи вообще не любят вводить паролей, поэтому чтобы облегчить их участь, мыщъх предпочитает поступать так: рабочие станции на базе W2K/XP настраиваются на автоматический вход в систему, а на сервере создаются "зеркальные" учетные записи всех пользователей, что обеспечивает "прозрачную" работу с разделяемыми ресурсами. Зачастую пользователи вообще не догадываются о том, что они защищены каким-то там паролями. Между тем, администратор может свободно назначать права доступа на разделяемые ресурсы. Для одних пользователей они открыты на запись/чтение, другим поставлены в read only, а третьи не видят их вообще.

Однако на этом пути есть несколько подводных камней. Первое - если пользователь решит сменить свой пароль, то зайти на сервер он уже не сможет. Вернее сможет, но при попытке доступа к разделяемому ресурсу система потребует ввести старый пароль (ведь на сервере он остался неизменным), что окажется для пользователя большой неожиданностью. Следовательно, в дополнение к автоматической регистрации на рабочих станциях, необходимо также запретить смену паролей пользователям и установить срок действия пароля в "never expires". То же самое следует сделать и на сервере, в противном случае... ох... Ну вот представьте, легли вы баиньки часов эдак в шесть утра после очередного секса с системой, и только начали проваливаться в тусклый колодец беспокойного сна, как вдруг начнет звонить сотовый телефон и раздраженные пользователи один за одним говорят: у нас исчезла сеть, мы не можем войти на сервер.

Вы смотрите на часы. Ага, 8:13 AM. Рабочий день начался, твою мать! Но это для них день, а для вас сейчас глубокая ночь. Вот только исчезновение сети - это серьезно, это значит, что нужно натягивать штаны и ехать на вызов... Достигнув места происшествия и попросив девчат из планового отдела сварить самый крепкий чай (кофе), который они только могут, делаем ping. Естественно, ping проходит и на физическом уровне сеть функционирует вполне нормально. Садимся за сервер. Вводим пароль администратора. Оглядываемся по сторонам. Вроде бы все на местах и ни одна мышь не пострадала. Сервер работает нормально. Так какого же черта нас сюда вызвали?! А вам ехидно говорят, а вы попробуйте зайти на сервер с нашей машины. Б$#!!!! Как это так "не поддерживается"?! Ох... твою мать! На сервере пароль данного пользователя только что expired со всеми отсюда вытекающими. А поскольку, мы создавали всех пользователей в одно и то же время, то зайти на сервер не может ни один из них!!!!

Короче, заходим в Administrative Tools\Computer Management, находим там пункт "Local Users and Groups", переходим к юзерам и в свойствах каждого из них взводим галочку "Password never expires". После чего залпом выпиваем остывший чай и возвращаемся в свою нору. Быть может, нам все-таки удастся заснуть засветло.

Блокировка срока истечения пароля

Рисунок 4. Блокировка срока истечения пароля.

Шаг пятый - отключение ненужных служб

По умолчанию Microsoft задействует множество служб, большая часть из которых совершенно не нужна, а местами даже откровенно вредная. Поэтому чтобы обеспечить бесперебойную работу сервера (особенно в условиях скромных аппаратных ресурсов) мы должны зайти в Administrative Tools\Services и навести здесь свой порядок. Естественно, "порядок" - весьма условное понятие, относительность которого мы уже обсуждали. Кому-то нравится максимализм, кому-то - минимализм. В конце концов никакого произвола тут нет и каждый может действовать по своему усмотрению, согласно мотивациям внутренней потребности.

Примечание: отключение некоторых служб может привести к тому, что сервер вообще откажется загружаться. Не паникуйте! Просто зайдите в Recovery Console (Консоль Восстановления) и воспользуйтесь командой "enable", принимающей два аргумента - имя запускаемой службы и тип запуска, например: "enable eventlog service_auto_start"

Если вы не уверены в своих действиях, то вместо отключения (disabled) службы выбирайте ручной тип запуска (manual), который на самом деле не совсем ручной, а просто подразумевает возможность запуска службы из других служб, которые в ней нуждаются и которые без нее могут работать неправильно или не работать совсем. Если после перевода службы в "manual" при следующей загрузке сервера, она все-таки стартовала (статус "Started"), значит имеются неустраненные зависимости и переводить ее в "disabled" следует с очень большой осторожностью.

Также можно попробовать остановить службу прямо на рабочем сервере и посмотреть, что из этого произойдет. Кстати говоря, в отличие от W2K, Server 2003 препятствует отключению жизненно важных служб (например, службы удаленного вызова процедур - RPC, на которой держится вся подсистема win32), так что можно экспериментировать, не боясь.

Наводим порядок в службах

Рисунок 5. Наводим порядок в службах.

Шаг шестой - отказываемся от антивирусов

Антивирусы, автоматически проверяющие все открываемые файлы на "лету", брандмауэры и прочие защитные механизмы на сервере лучше всего не устанавливать. Поверьте моему печальному опыту. Сам по себе Server 2003 - довольно надежная штука и на исправном железе он работает без перезагрузок годами а вот защитные системы, внедряющиеся в ядро, внедряются туда настолько неумело, что голубые экраны смерти появляются с завидной регулярностью, особенно на двуядерных процессорах и многоЦПшных машинах.

Можно, конечно, отключить все проактивные компоненты, оставив один лишь антивирусный сканер, вызываемый по расписанию (некоторые администраторы именно так и поступают), но все дело в том, что сканер (даже запущенный с минимальным приоритетом) серьезно тормозит работу сервера, вызывая недовольство пользователей. Теоретически, можно спланировать расписание так, чтобы сканер запускался только в ночное время или по выходным, но... иногда фирмам приходится работать в авральном порядке и ночью (не говоря уже о выходных), а тут еще сервер тормозит.

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

Заключение или "готовь сани зимой"

Сразу же после установки Server 2003 настоятельно рекомендуется создать резервную копию системы с помощью утилиты MS BackUp (см. статью Восстановление MS Server 2003 после тяжелых ранений), позволяющую восстановить упавший сервер за несколько минут без необходимости его переустановки.

Также полезно подключить к системе еще один жесткий диск, установить на него Server 2003 и... чисто физически отключить его до лучших времен. Тогда при крахе системы, мы сможем немедленно переключиться на резервный диск, просто переткнув шлейфы. Поскольку доступ к разделяемым ресурсам осуществляется не по абсолютному пути, а по их NetBIOS-именам, то за изменение букв разделов можно не волноваться. Все документы будут доступны как и раньше без отрыва от производства, ну а ремонт основной системы можно отложить до лучших времен.

Разумеется, тонкости установки и работы с Server 2003 на этом не исчерпываются и впереди нас ждет много "интересных" дней, нештатных ситуаций и головоломных проблем, но безвыходных ситуаций не бывает, так что не стоит опускать свой хвост и пасовать перед сложностями. Это даже хорошо, что жизнь такая сложная. Иначе бы нам, администраторам, пришлось бы разделить участь мамонтов.