Определение и управление полномочиями пользователей.
.
Управление в контексте
Формы управления доступом слегка различны в зависимости от контекста применения. Управлять доступом можно на уровнях операционной системы, базы данных и приложения. Иногда управление сетевым доступом (ограничение действий пользователя или устройства конкретными подсетями и портами внутри корпоративной сети) объединяется с управлением доступом (меры по управлению операционной системой и приложениями, которые органичивают объекты и способы обращения к ним со стороны пользователя). В принципе, сетевой доступ и управление доступом внутри системы имеют много общего. Но поскольку эти два уровня защиты обычно реализуются разными способами и в различных компонентах инфраструктуры, я рассматриваю их как раздельные.
Управление доступом на уровне операционной системы Windows состоит в первую очередь в управлении пользовательским доступом к файлам, папкам и принтерам с применением списков управления доступом (ACL). Еще одна задача, решаемая с помощью управления доступом - определить операции, выполняемые ИТ-персоналом, не имеющим административных полномочий в домене. При использовании списков ACL с папками, системными службами, принтерами, организационными единицами (OU) и другими объектами Active Directory (AD), можно предоставить ИТ-персоналу достаточно прав для выполнения специальных ролей, не подвергая компанию повышенному риску, связанному с образованием полноценных административных учетных записей в домене.
Управление доступом на уровне базы данных SQL Server сводится к предоставлению доступа как к базе данных, так и объектам внутри баз данных (таблицам, представлениям, хранимым процедурам). Как правило, в фокусе управления доступом в базе данных - таблицы. Администратор может предоставить разрешения вставлять, обновлять, удалять и выбирать (запрашивать) данные на уровне таблицы, и даже определить столбцы, обновляемые пользователем или группой. В зависимости от приложения, пользователи могут иметь или не иметь прямого доступа к базе данных. В большинстве случаев, когда сервер приложений размещается между пользователем и базой данных, сервер приложений использует единственную доверенную учетную запись пользователя для выполнения всех операций с базой данных, независимо от того, кто является конечным пользователем. В таком случае, управлять доступом на уровне базы данных довольно просто - доступ должен предоставляться только доверенной учетной записи приложения.
Если клиентские приложения напрямую обращаются к SQL Server через протокол ODBC, то управление доступом пользователей должно быть определено на уровне базы данных для отдельных таблиц. В SQL Server и некоторых других базах данных можно определить учетные записи базы данных (полностью управляемые базой данных) в AD или использовать существующие учетные записи, определенные в AD. При возможности, такая интеграция позволяет извлечь преимущества из уменьшения числа пользовательских учетных записей, приходящихся на одного человека.
Используйте группы!
В большинстве приложений, независимо от наличия промежуточного сервера приложений, реализована мощная функциональность управления доступом. Однако, растет число приложений, ориентированных на AD, в которых используются учетные записи и группы, уже созданные в AD для различных целей. Группы - незаменимое средство управления доступом и проверки доступа. Я рекомендую никогда не назначать разрешений отдельным пользовательским учетным записям, но всегда делать это через группу, даже если в группе всего один член. Управляя доступом через группы, удается избежать сохранения за пользователями излишних прав доступа после изменения их рабочего статуса на предприятии, не ломать голову над определением прав нового сотрудника, который заменил покинувшего предприятие работника, и не убеждать аудитора, что на предприятии нет путаницы в разграничении полномочий доступа между разными сотрудниками.
Настоятельно рекомендуется использовать только доменные группы, которые размещаются в AD; это упрощает просмотр всех групп, к которым принадлежит пользователь, без выхода из AD. Если администратор привык использовать локальные группы, определенные на различных серверах домена, то затруднительно определить, какой пользователь имеет права доступа к сетевым ресурсам. Если в компании ответственность за администрирование AD отделена от управления доступом к ресурсам членов-серверов, то администраторы AD должны предоставить администраторам членов-серверов право создавать нужные им группы. Администраторы AD должны быстро реагировать на запросы о формировании новых групп и изменениях членства, либо должны создать OU для каждого администратора сервера и делегировать администраторам серверов право управлять их собственными группами. В любом случае, важно, чтобы в имени группы или поле заметок были отражены ресурсы и уровень доступа группы.
Предоставляя пользователю право доступа к ресурсу, следует привести свои действия в соответствие как с оптимальными методами, так и с такими регламентирующими нормами, как Health Insurance Portability and Accountability Act (HIPAA) или Sarbanes-Oxley Act (SOX). Каждому ресурсу предприятия (например, папка, база данных, приложение) должен быть назначен владелец, ответственный за рассмотрение запросов доступа. Каждому изменению в управлении доступом должна соответствовать разрешительная запись. Простой способ добиться этого - сформировать общедоступную папку Exchange и сохранять в ней разрешения, присланные владельцами ресурса по электронной почте.
Аудит, обслуживание, верификация
Управление доступом - важнейший уровень эшелонированной обороны. Стратегия управления доступом должна быть доступна для аудита, обслуживания и подтверждения. Для аудита необходимо предоставить запись изменений в управлении доступом и соответствующие разрешительные документы. Ключ к обслуживанию и верификации - использование групп для управления доступом, а лучшая групповая модель - двухуровневая структура, в которой роли и типы пользователей отделены от ресурсов и уровней доступа.
Рэнди Франклин Смит (rsmith@ultimatewindowssecurity.com) - редактор Windows IT Pro, консультант по информационной безопасности и главный управляющий компании Monterey Technology Group. Он преподает на курсах Ultimate Windows Security и имеет сертификаты SSCP, CISA и Security MVP.