Active Directory - Полный мануал
Врамках статьи мы:
- Создадим папки для пользователей, файл "не убий".
- Поднимем домен.
- Развернем Active Directory.
- Создадим группы.
- Разрулим NTFS-разрешения.
- Изучим понятие доменной политики безопасности, сквотируем диск.
- Изучим теневое копирование - зачем оно и с чем его едят.
Введение
Ты пришел на работу, полез посмотреть, что творит твой сервер. Вроде бы стоит, работает, но толку от него не дождешься до тех пор, пока не населишь его тварями разумными, папками и правами.
Пойдем по пути наименьшего сопротивления. Диск С:\ уже настроен, теперь займемся вторым, девственно чистым диском Е:\. Для тех, кто только что включил телевизор, напомню, что диск Е:\ представляет собой массив из четырех SCSI-дисков (RAID 5) и создан только для хранения файлов пользователей, программ, фильмов, музыки и т.д.
Прежде чем создавать пользователей, создадим структуру нашего хранилища. Все будет просто и логично. Достаем из широких штанин черновик, где предварительно прикинута структура предприятия, и переносим ее на диск.
Условимся, что в предполагаемой конторе есть три подразделения:
- начальство (группа "HEAD"),
- бухгалтерия (группа "Бухгалтерия"),
- экономисты (группа "Экономисты").
Вот такая странная контора.
Структура папок для пользователей
Итак, создаем на диске Е:\ папку "USERS", внутри нее три папки по именам групп: "НЕАD", "Бухгалтерия" и "Экономисты".
Внутри каждой групповой папки создаем папки по фамилиям пользователей, входящих в эту группу. Сделать это просто, а объяснить понятно - сложно, но надеюсь, ты еще не потерял нить повествования, все правильно сделал и уже имеешь в корне на диске Е:\ всего одну папку USERS, зато внутри нее целый куст (дерево) папок.
Пользователей пока нет, но про будущую политику безопасности мы подумаем сразу. Требуется, чтобы пользователь мог творить что угодно со своей личной папкой, но только не удалять ее. Реализуем это довольно простым способом. Откроем блокнот (в смысле Notepad) и сохраним файл под именем "nokill.txt", пусть пока он полежит в корне диска Е:\ - еще пригодится. Итак, у нас получилась следующая структура:
Теперь я объясню идею построения корпоративной политики безопасности на уровне разрешений NTFS:
- Имеется групповая папка, внутри которой - папки пользователей.
- В корне групповой папки всем членам группы не запрещено ничего, кроме просмотра папок других пользователей.
- Также всем гарантируется, что до их личных папок не доберутся чужие глаза (ну ты не говори им, что остаешься ты - администратор).
- Пользователи группы могут видеть только свою групповую папку, в чужие группы они не попадают.
Однако нашей организации необходима папка, в которую может залезть любой желающий. Предоставим же ей такое счастье.
- Создаем в корне диска Е:\ папку с громким именем "Обмен". Далее предоставить всем пользователям полные права на нее (надеюсь, ты не забыл, что пользователей пока нет и их права распределяем только в уме).
- Потратим еще некоторое количество времени и каждому пользователю в его личную папку поместим файл nokill.txt, выставим ему атрибут "Скрытый", права на него пока не трогаем.
В принципе, пока разрешениями NTFS мы не занимались совсем. Время, затраченное на создание файловой структуры, с лихвой окупится после поднятия домена.
Поднятие домена
Наступило время заняться серьезным делом - поднимать домен. Ты знаешь, почему у Буратино дерево не выросло? Потому что бестолковая лиса Алиса сказала ему не ту команду: вместо "Preks-Feks-Peks" нужно было набирать в командной строке "DCPROMO", и тогда даже не дерево - целый лес бы вырос.
Поехали.
- Start --> Run, в строке Open набираем "dcpromo" - попадаем на Active Directory Installation Wizard.
- Нажимаем Next, внимательно читаем предупреждение о том, что старые оси Windows 95 и Windows NT4 не смогут подключиться к домену, который работает под управлением Win2k3 Server.
- На следующей страничке выбираем Domain controller for a new Domain, затем Next (соглашаемся на создание нового леса).
- Далее предлагается сконфигурить DNS (ну не работает AD без DNS) - соглашаемся.
- Далее нас предупредят о необходимости откорректировать сетевые параметры, в ответ залезь в свойства протокола TCP/IP, в поле Preferred DNS Server укажи IP-адрес своего же сервера.
- Теперь необходимо придумать имя этому новому домену.
А сейчас лирическое отступление.
Возможности операционной системы Windows 2003 Server, вопреки распространенному мнению, очень широкие. Когда в офисе разворачивается AD, предполагается, что в данной конторе работает около 10 000 человек, поэтому механизмы настройки и аудита такие серьезные. При создании пользователей в контексте AD каждый пользователь получает свой e-mail-адрес - pupkin@твойдомен.провайдер. Если ты поднимаешь домен и у тебя есть реальное доменное имя, то в название домена должно быть введено именно оно.
- Но мы рассматриваем ситуацию, когда домен поднимается в локальной небольшой сети, так что назначаем любое имя ("rogaikopita"). Я, например, обхожусь двухбуквенным именем. Соответственно, и DNS зона, которую поднимем, будет кукольной.
- Итак, имя нашли. В ответ пришло гнусное предупреждение о том, что имя должно походить на domain.microsoft.com - проигнорируем, нажимаем Yes.
- После минуты обиженного молчания Windows соглашается с нашим именем и даже угодливо предлагают свой вариант Domain NetBIOS Name - соглашаемся.
- Далее следует создание каталогов для размещения базы данных AD. Существует мнение, что базу NTDS лучше не держать на системном диске, чтобы не снижать быстродействие. Когда в AD сидит 10 000 пользователей, это заметно, но в нашей провинциальной сети на 10-100 пользователей особого простора в скорости мы не заметим, так что оставляем все по умолчанию.
- Держать на системном диске каталог SYSVOL тоже не рекомендуется. Далее получаем сообщение об ошибке настройки зоны DNS - выбираем пункт "I will correct the problem later by configuring DNS manually" (Advanced).
- Теперь нарываемся на очередную швабру - Permission. Нужно честно ответить на вопрос о том, есть ли в сети машины под управлением старых операционок или только под Windows 2000 и выше. В нашей организации все круто, у всех пользователей стоит XP или Win2K, поэтому выбираем следующий вариант: Permission compatible only with Windows 2000…
- Далее вводим пароль для режима восстановления (этот режим - отдельная тема политики безопасности). В следующем окне читаем о том, что уже натворил, давим Next и идем спать, ибо начинается шаманский танец "Конфигурирование Active Directory".
- После просмотра танца: Finish --> Restart now…
Создание групп
После перезагрузки в окне Logon появилась дополнительная строчка Logon to, где уже прописано имя твоего домена. В закладке Administrative Tools появилась целая куча новых инструментов. "Да будет Свет!" уже было сказано – теперь начнем заселять наш новый лес.
- Start --> Programs --> Administrative Tools --> Active Directory --> Users and Computers --> Users. Ба-а, сколько тут новых пользователей появилось! С ними разберемся позже, пока начнем создавать группы (папки для них уже сделаны).
- Правая кнопка мыши на Users, меню New Group, пишем "HEAD" и выбираем область действия группы (Group scope) Global.
Небольшое техническое отступление. Есть очень хорошая книга Ф.Зубанова "Active Directory", в которой очень толково расписано, для чего служат определенные области действия групп. Я оставлю тонкости, можешь прочитать сам, если книгу найдешь. Конец отступления.
- Таким же методом заводим группы "Бухгалтерия" и "Экономисты".
Главное правило при назначении любых прав гласит: "Все права назначаются через групповые политики". Кратко поясню, что доступ ко всем объектам осуществляется через SID (идентификатор безопасности), и если на какой-нибудь файл ты будешь назначать права конкретному пользователю, а затем удалишь пользователя из системы, то на этом файле останется висеть SID пользователя. Для того чтобы такого не происходило, доступ ко всем ресурсам осуществляется через группы, так как в этом случае операционная система ставит на объект SID группы и, соответственно, в базе AD не появляется лишних записей.
Населяем Эдем живностью. Заводим пользователей. Все так же, как и при создании групп, только выбираем User. Лучше не полениться и полностью заполнить все поля карточки пользователя. Представь, что однажды лень таки пересилила тебя, примерно через полгода смотришь на учетную запись "Света" и мучительно вспоминаешь, к какой из 12-ти работающих в конторе Свет относится эта запись. Мораль: лень в себе нужно контролировать жестко. Итак, тупо заполняем карточки пользователей по списку, выданному кадровой службой. Можно пока не напрягаться с паролями и правами и заниматься только бюрократией. Завели.
NTFS-разрешения
Переходим к правам и обязанностям.
Я опишу настройку прав на примере одной группы и одного пользователя, для остальных все будет аналогично. Берем пользователя Крутова из группы HEAD.
- Открываем оснастку Active Directory Users and Computers.
- Двойной щелчок на пользователе "Крутов", попали в свойства, выбрать закладку Member of.
- Там светится одна группа Domain Users, нажать кнопарик Add --> Advanced --> Find Now, в открывшемся списке выбрать группу HEAD.
- Если время жизни паролей для тебя не критично (ты не занимаешься жуткой коммерческой тайной и т.д.), то, перейдя на закладку Account, отметь галочкой Password never expires.
- Если не хочешь, чтобы пользователь сам изменял пароль, рядом ставишь галочку напротив User cannot change password.
Возможности по настройке прав пользователя в системах Windows Server очень большие. Если внимательно изучить свойства пользователя, то можно найти массу способов ограничить его права в домене. А если изменить пароль конкретному пользователю, щелкай правой кнопкой мыши на пользователе и в выпавшем меню выбирай Reset Password.
Заниматься этим придется очень часто, если ты позволишь пользователям самим менять пароли :). Как говорят французы, се ля ви. Либо пользователи сами изменяют пароли и забывают их, зато кроме пользователя и тебя на его машину никто не влезет, а ты с завидной периодичностью будешь сбрасывать пароли подопечным, либо ты сам прописываешь пароли и дальше проблема пользователя, что делать с ним - приклеить к монитору на стикере или запомнить.
Психологическое отступление:
Чем сложнее и строже политика безопасности, тем чаще в твою безопасность вмешивается человеческий фактор. Не хочется переходить на личности, но в одном московском банке установили аутентификацию на вход в систему по ключам Touch Memory. Через два месяца ребята, которые устанавливали это все, пришли в банк по мелким делам и чуть не заработали инфаркт: почти на всех системных блоках висели приклеенные на скотче ключи Touch Memory. На гневное замечание о нарушении безопасности работники банка ответили: "Зато так мы не теряем эти ключи". Любая безопасность бессильна перед человеческим фактором.
Если пароль очень длинный, пользователь напишет его на бумажке и оставит возле монитора. Я не призываю, конечно, наплевать на безопасность, но попробуем свести вред человеческого фактора к минимуму. Попробуем построить домен так, чтобы не бояться потерять любой компьютер домена плюс чтобы сам домен никак не пострадал.
- Теперь размещаем наших пользователей по группам: "Ляпкин, Тяпкин, Пупкин" – "Экономисты", "Иванов, Петров, Сидоров" – HEAD, "Балаганов, Бендер, Козлевич" – "Бухгалтерия".
Займемся NTFS-разрешениями.
- Для этого заходим на диск Е:\ в папку HEAD --> Users, далее папка "Иванов".
- На файле nokill.txt правой кнопкой мыши, Properties --> Security, в поле Group or user names удалить всех, кроме Administrators (это делается через кнопку Remove).
- И тут мы получаем сообщение о невозможности удалить пользователя, потому что разрешения NTFS на этот объект наследуются от родительского, то есть от диска Е:\.
- Напротив надписи "For special permissions…" нажимаем кнопку "Advanced". В открывшихся свойствах на первой закладке наблюдаем все действующие разрешения. Убираем галочку напротив надписи "Allow inheritable permissions…", так как Windows по умолчанию распространяет все разрешения с родительского объекта на дочерний. Если ты создаешь каталог и назначаешь на нем какие-нибудь права, а позже внутри этого каталога создается файл или другой каталог, то вновь созданные файлы/папки получат те же права, что и родительские. Так вот чтобы спокойно рулить правами на дочернем, просто снимаем ту галочку. В результате Windows выдает запрос: "Что сделать с уже имеющимися правами?" Их можно скопировать либо удалить - выбираем "Скопировать".
- Теперь, вернувшись на предыдущую страничку, спокойно удаляем всех пользователей, кроме группы Administrators. Теперь файл nokill.txt можешь удалить только ты - Administrator. При этом сам пользователь "Иванов" не сможет удалить свою папку, так как она не пустая.
- Я рассказываю так подробно, чтобы потом не возвращаться к этому вопросу. А сейчас работаем аналогично с папкой "Иванов": правой кнопкой Properties --> закладка Security --> Advanced, снова снять галочку, скопировать разрешения, возвратиться, удалить всех, кроме группы Administrators. Добавить пользователя "Иванов", дать ему разрешение Full Control.
- Теперь в папку может попасть только "Иванов" и Administrators.
- Все то же самое проделать со всеми пользователями и их папками.
А никто и не говорил, что будет легко…
- Теперь разберемся с папкой "Обмен". Так же в нее помещаем nokill.txt, настраиваем, затем правой кнопкой на папке "Обмен" --> Properties --> Sharing.
- Отмечаем Share This Folder --> Permissions и даем полное разрешение на папку учетной записи Everyone.
- Далее идем на соседнюю закладку Security и чуть изменяем права пользователю Users: отмечаем Full Control. Теперь все пользователи, зарегистрированные в домене, могут заходить в папку "Обмен", создавать и удалять там любое содержимое, кроме файла nokill.txt и, соответственно, самой папки "Обмен".
Все, что описывается в этой статье, работает, но полное понимание всех механизмов действующих разрешений немного сложнее. Например, на папке "Обмен" мы имеем два вида разрешений: одно разрешение - Sharing, вторая группа разрешений - Security. Так вот, результирующее разрешение будем пересечением двух этих разрешений. На папке "Обмен" и по первому, и по второму виду разрешений имеем "Полный доступ", поэтому все пользователи могут делать что захотят. Если бы по одному разрешению мы имели "Полный доступ", а по второму, например, "Только чтение", то результирующим было бы разрешение "Только чтение" (применяются максимально ограничивающие разрешения).
Вам сколько байтов отгружать? (квотирование)
Теперь рассмотрим понятие "квоты". Первое, что приходит на ум, если слышишь это слово, - размер чего-то. Все верно, "квота" относится как раз к размерам и пределам.
Для того чтобы твой сервер не стал свалкой ненужных файлов, предусмотрена возможность назначить каждому пользователю максимальную квоту, которую он может занять на дисковом пространстве сервера. По умолчанию квотирование диска отключено, и поэтому каждый пользователь может занять своими данными все пространство - нам такое не подходит.
Среднестатистическим клеркам для хранения их средних Word'овских и Excel'евских файлов хватит и ста мегабайт дискового пространства. Но ты сам примешь решение, сколько отрезать от общего пирога определенным людям, исходя из потребностей пользователей и размера пирога.
Включаем квоту:
- правая кнопка мыши на диске Е:\ --> Properties --> Quota, отмечаем Enable quota management --> Deny disk space to users exceeding quota limit.
- Дальше все понятно и без слов: отмечаем Limit disk space to, устанавливаем саму квоту (пусть будет 100 Mб).
- Чтобы вовремя предупреждать пользователя о том, что заканчивается место, отведенное для его нужд на диске, вводим параметр в поле Set warning level to (ставим 98 Mб). Теперь пользователь получит предупреждение при прохождении контрольной точки в 98 Мб.
- Далее если любишь почитать логи, то отмечай чекбоксы, когда пользователь превысит квоту и пройдет контрольную точку. Но я думаю, что для тебя это лишнее чтиво: на контроллере домена всегда и так есть что почитать в логах.
- Далее жмешь кнопку Quota Entries и в открывшемся окне давишь на белый листик в левом углу.
- Дальнейшую процедуру ты и сам знаешь не хуже, чем таблицу умножения. Выбираешь пользователя, выставляешь ему ограничения.
Существует всего одна проблема при квотировании дисков. Правда, это проблема твоих пользователей, но… По твоим настройкам пользователь может бросать свои файлы в три папки:
- в корень групповой папки (HEAD),
- в свою личную папку ("Иванов")
- и в "Обмен".
Так что если он набросает файлов на 100 Мб в папку "Обмен", то очень удивится, когда не сможет положить нужный документ в личную папку. Дабы он не мучил тебя своими подозрениями, среди личного состава вверенного тебе боевого подразделения проведи разъяснительную беседу на тему "Своевременная уборка вверенных территорий как залог наличия свободного места и чистой совести". Пользователи, которые не пользуются ничем, кроме Word'а и Excel'а, вряд ли доставят тебе много хлопот, но любителей MP3'шек ждет глубокое разочарование. Никто не мешает тебе увеличивать квоту для любимых подопечных. Умные книги советуют раздавать квоты не пользователям, а группам. Прислушайся к совету, и рулить будет проще.
Теневое копирование или Первый после Бога
И напоследок: не забудь включить теневое копирование диска, если хочешь, чтобы пользователи молились на тебя как на шамана.
Разъясню суть теневого копирования. При его включении и при настройках по умолчанию состояние всего диска сбрасывается в теневую копию два раза в сутки (рекомендую настроить утром и вечером), постоянно будет храниться откат предыдущего дня в его двух состояниях: на конец рабочего времени и на начало нового дня конторы.
Если пользователь снес на сетевом диске годовой отчет и уже начал прилаживать к потолку намыленную веревку, ты подходишь к нему и, придерживая стул под ним, чтобы он (стул) не упал раньше времени, восстанавливаешь удаленный файл.
Теневое копирование позволяет "откатиться" назад на какое-то время. Глубина отката задается при теневом копировании указанием размера, отведенного под теневое копирование. Естественно, чем больше места, тем больше откатов возможно.
Восстановление происходит через "Проводник": правая кнопка мыши на сетевой папке, в контекстном меню выбрать Previous Versions.
Далее в открывшемся окне выбираешь действие: View, Copy или Restore. Для корректности отката спроси у пользователя, что именно он потерял, и мастерским кликом мыши ввергни его в эйфорию.
Настройка пользовательских ПК
Теперь же нам надо войти в созданный домен с пользовательского компьютера в сети. Не зря ведь мы создавали все эти группы и пользователей. Для того чтобы каждый работник компании мог зайти в наш домен необходимо потратить 5-10 минут на настройку каждого из ПК. Что мы делаем:
Заходим в настройки сетевого подключения нашего сервера, «Протокол интернета TCP/IP» - Свойства - Задаем какой-либо IP (192.168.0.1) - Использовать DNS-сервер: указываем этот же IP. Важно! В случае, если вы создаете не локальную сеть и у вас используется внешний DNS и IP, то просто посмотрите их с помощью команд Пуск – Выполнить - cmd – ipconfig /all.
Заходим на пользовательском компьютере в свойства сетевого подключения, «Протокол интернета TCP/IP» - Задаем немного другой IP(192.168.0.2), указываем DNS-сервер как IP сервера (192.168.0.1)
Далее идем в свойства Моего компьютера, жмем «Имя компьютера» - Изменить. Задаем имя компьютера как «PK1». Перезагружаемся.
Опять заходим туда же, откуда и перезагрузились и указываем, что этот компьютер является членом домена: вписываете сюда имя домена (DNS), развернутого на сервере (rogaikopita).
Все, теперь можно перезагрузиться и войти в систему под любым из ранее созданных пользователей.
На сегодня все.