В шпионских романах секретным агентам часто сообщают лишь информацию, необходимую для выполнения конкретного задания. Ограничение сведений, предоставляемых каждому агенту, повышает шансы на успех всей операции. ИТ-эквивалент такого подхода - концепция минимальных полномочий, в соответствии с которой каждой учетной записи пользователя предоставляются только права, необходимые для выполнения роли и обязанностей данного пользователя. Благодаря минимальным полномочиям ограничивается ущерб от распространения вредных программ, пользовательских ошибок, мести обиженных сотрудников или действий злоумышленников. На практике следует определить полномочия, необходимые различным ролям, составить группы для управления этими ролями, а затем применить концепцию к группам, службам и администраторам.
Аудит
Первый шаг к применению минимальной модели - идентификация ролей и обязанностей каждого пользователя, чтобы определить наименьший необходимый набор пользовательских прав и разрешений. В процессе назначения полномочий на базе формальных ролей часто возникает ситуация, когда учетной записи пользователя явно не хватает важного права или разрешения, но из-за малосодержательных сообщений об ошибке и неполной документации трудно определить, какого именно. В этой ситуации невозможно переоценить полезность нашего журнала и сайта Windows IT Pro/RE.
Следует открыть оснастку Group Policy консоли Microsoft Management Console (MMC) на системе, которую нужно защитить, и перейти в раздел Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesAudit Policies. Необходимо активизировать девять политик аудита для неудачных событий. При следующем применении Group Policy в компьютере, в журнале Security начинают появляться записи о неудачных событиях. Следует отметить, что для событий Audit object access events и Audit directory service access events также требуется активизировать аудит неудачных событий для отслеживаемых объектов, например, системных томах, Active Directory (AD) и разделах реестра.
Чтобы активизировать аудит на таком томе, как диск C, нужно открыть диалоговое окно Properties диска в Windows Explorer, перейти к вкладке Security и щелкнуть на кнопке Advanced, чтобы вывести на экран диалоговое окно Advanced Security Settings, а затем перейти на вкладку Auditing. На ней следует добавить запись аудита событий Failed Full Control для объекта Everyone. Чтобы начать аудит AD, следует открыть оснастку Active Directory Users and Computers консоли MMC и перейти в корневой каталог домена, открыть диалоговое окно Properties и повторить те же шаги, что и для аудита системного тома. Для аудита разделов реестра HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER следует открыть regedit, щелкнуть правой кнопкой мыши в любом разделе, выбрать пункт Permissions, и затем повторить те же действия, что и для системных томов и AD. Для этих объектов следует выполнять аудит только событий Failed, иначе можно превысить нагрузку на систему, которая будет пытаться регистрировать все попытки доступа к каждому объекту.
Для аудита больших структур, таких как диск C, домен и реестр, может понадобиться несколько минут, но после того, как будет настроена политика аудита, аудит неудачных соединений поможет диагностировать проблемы с полномочиями. Если снизится быстродействие контролируемых систем, то следует просто отключить Audit object access events и Audit directory service access events на системном уровне.
Огранизация групп
Составив представление о полномочиях, необходимых для различных пользовательских ролей, можно организовать группы для этих ролей. Использование групп, соответствующих ролям заданий и назначение полномочий этим группам (а не учетным записям пользователей) - ключ к успешному ограничению полномочий, снижению до минимума трудоемкости операций по назначению полномочий и конфигурированию безопасности.
Например, одно из важнейших применений минимально достаточных полномочий в сетях малых и средних предприятий - файл-сервер. Немногим сотрудникам требуется доступ ко всем папкам на этом сервере, но тем не менее, на многих предприятиях пользователям предоставляется именно такой широкий доступ. Вместо того, чтобы предоставлять группе Everyone доступ Full Control к ресурсам файл-сервера, следует выделить важную финансовую, кадровую и специальную информацию, а затем построить иерархию папок, разместив эти сведения в отдельных каталогах. Следует создать группы для каждого ресурса и уровня доступа (например, Read Only, Read & Modify) и соответственно назначать разрешения.
Не забудьте о службах
Концепция минимальных полномочий применяется также к учетным записям служб и приложений. Злоумышленник может обмануть пользователя, заставив его выполнить вредную программу или другие действия. Точно также можно манипулировать программами с помощью переполнения буфера или других приемов, заставляя их выполнять любые команды взломщика. Первая линия защиты от таких атак - безопасный исходный текст, подготовленный стараниями программистов, и своевременное применение исправления для системы безопасности администраторами. Вторая линия обороны - назначение минимальных прав и разрешений учетной записи приложения или службы.
Чтобы увидеть или настроить учетную запись, с которой работает служба, следует открыть оснастку MMC Services, открыть диалоговое окно Properties службы и перейти к вкладке Log On (Экран 1). Слишком часто службы выполняются с учетными записями System или Administrator. Лишь немногим программам необходимы такие широкие полномочия. Взломщик, овладевший службой с такими полномочиями, может нанести гораздо более серьезный ущерб, чем если бы служба располагала только необходимыми ей полномочиями. Часто приложениям по умолчанию назначаются привилегированные учетные записи, так как программисты не определяют минимальные необходимые полномочия и выбирают простое решение - просто запускать приложения с административными полномочиями.
К счастью, многие разработчики начинают более серьезно подходить к безопасности. В Windows Server 2003 появились две новые встроенные учетные записи - Local Service и Network Service - которые могут пользоваться службами. Обе учетные записи (субъекты безопасности) располагают гораздо меньшими полномочиями, нежели всемогущая учетная запись System.
Ограничение административных полномочий
Применение минимальных полномочий - важнейшая мера снижения риска, связанного с административными привилегиями. Концепция доверенного, наделенного всеми полномочиями администратора заложена глубоко в архитектуре современных коммерческих операционных систем (Linux, Windows и Unix). Не существует простого способа осуществить превентивные или контролирующие меры в отношение администраторов, так как в этих операционных системах не реализованы такие концепции, как двойная авторизация или разделение обязанностей. Невозможно даже надежно отслеживать действия администраторов с помощью исключительно собственной функциональности и единственной системы, так как администраторы могут очищать или изменять журнал Security. Для надежного мониторинга действий администратора в системе необходимо организовать отдельный сервер мониторинга, в котором у контролируемого администратора нет полномочий. Для организации надежного, целостного административного мониторинга в системах Linux или Unix можно использовать функцию syslog; в Windows необходимо применить решение на основе такого инструмента, как LogParser, или купить решение стороннего поставщика.
Лучший подход к административному контролю над административными полномочиями - ограничить и уменьшить число людей, наделенных такими полномочиями. Очень немногие (если вообще кто-то) из администраторов в действительности нуждаются в полномочиях Domain Admin для повседневных задач. Полномочия сброса паролей, перезапуска служб, обслуживания пользователей и групп, изменения прав доступа к файлам могут быть делегированы, благодаря детализированному механизму делегирования внутри AD и операционной системы Windows 2000 Server и более поздних версий. Более подробно о делегировании полномочий AD можно прочитать в статье "Делегирование доступа в AD" в четвертом номере нашего журнала за 2005 год.
Чтобы найти способ делегирования полномочий для большинства ресурсов вне AD (например, файла), достаточно открыть диалог Properties объекта и изменить его разрешения. Однако системные службы могут вызвать затруднения, так как в диалоговом окне Properties службы нет вкладки Security. Единственному администратору небольшого ИТ-предприятия следует, тем не менее, применить принцип минимальных полномочий к самому себе, чтобы смягчить последствия ошибок и вредных программ.
Миссия выполнима
Применение минимальных полномочий для защиты сети может поначалу потребовать некоторых усилий, но результат окупит затраты. Не подлежат сомнению важность понимания этой концепции и практические выгоды ее применения.
Рэнди Франклин Смит (rsmith@ultimatewindowssecurity.com) - редактор Windows IT Pro, консультант по информационной безопасности и главный управляющий компании Monterey Technology Group. Он преподает на курсах Ultimate Windows Security course series и имеет сертификаты SSCP, CISA и Security MVP.
Экран 1. Поиск учетной записи, с которой работает служба.