Спецпроекты

Безопасность Стратегия безопасности

Базы данных: как защититься от инсайдеров?

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

Вне зависимости от страны и рода деятельности, компании сталкиваются с требованиями соблюдения законодательных норм по ИБ и конфиденциальности данных. Тем не менее, ни одна из этих норм, возможно, за исключением Payment Card Industry’s Data Security Standard (PCI DSS), не содержит четких указаний, как именно им следует удовлетворять. Другими словами, любой совет, связанный с проектированием и управлением БД, скорее всего, будет достаточно общим.

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

1. На чем основаны правила. Большинство законодательных норм в ИТ сформулировано намеренно расплывчато. Поэтому специалистам по аудиту и безопасности в области ИТ приходится искать соответствующие руководства и интерпретации в дополнительных источниках. Наиболее распространенными из них являются ISO 17799 – Code of Practice for Information Security Management, Control Objectives for Information and related Technology (CobiT), IT Infrastructure Library (ITIL) и связанные с ними публикации правительственных организаций. Эти документы дают некоторые представления о том, какие данные нужно записывать в журнал аудита, как его защитить и как использовать содержащуюся в нем информацию.

2. Что записывать в журнал. В первую очередь, необходимо определить, какие данные нужно записывать в журнал. Вне зависимости от требований законодательных норм, в журнале должны быть данные по системному доступу, деятельности привилегированных пользователей, системным изменениям и изменениям схемы.

Данные, которые нужно записывать в журнал

Системный доступ Успешные и неудачные логины
Изменения, связанные с пользователями, ролями, доступом и паролями
Деятельность привилегированных пользователей Все
Системные изменения Подключения/отключения журналов
Подключения/отключения служб
Изменения конфигурации
Перезагрузки
Ошибки
Изменения схемы Создания/удаления/изменения объектов БД - таблиц и полей, процедур, пакетов, представлений
Изменения данных* Вставки, обновления или удаления записей
Доступ к данным** Неудачные и успешные попытки (обычно запросы SELECT)

* для соблюдения законодательных норм, касающихся целостности данных, таких, как Basel II Accord или Sarbanes-Oxley
** для удовлетворения требований по конфиденциальности данных

Источник: Embarcadero Technologies, 2008

Получился довольно объемный список. Рассмотрим далее, что нужно делать с журналами и каким образом это можно реализовать.

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

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

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

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

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

Детализированные и суммарные отчеты по коррекции данных и доступу к ним стоит просматривать где-нибудь раз в месяц. И здесь опять стоит обращать особое внимание на соотношения и тренды. Об опасности может сигнализировать, например, увеличение числа неудачных SELECT’ов.

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

5. Какие отчеты будут необходимы. Возможно, не стоило бы собирать столько данных, если бы это действительно не было необходимым. Несомненно, что людям, которые формулируют требования к регистрируемым данным, понадобятся некоторые отчеты.

Ключевые отчеты

Отчет Описание Частота
Действия ВСЕХ привилегированных пользователей Необходимо наблюдать за этими наблюдателями

 

Ежедневно, еженедельно
Неавторизованные изменения - привилегии, пользователи, схема, конфигурация

 

Сравнение реальных изменений с отчетом по авторизованным изменениям из процесса по управлению изменениями
Сравнение пользовательских аккаунтов и приложений, используемых при внесении изменений, со списком авторизованных

 

Еженедельно
Тренды по входам/выходам из системы Обзор для выявления основных трендов и определения нестандартных схем поведения
Разделение на рабочее и нерабочее время для более осмысленных отчетов
Ежемесячно
(стоит настроить немедленное информирование по наиболее подозрительным видам активности)

Источник: Embarcadero Technologies, 2008

В первую очередь потребуются, как минимум, три ключевых отчета – действия всех привилегированных пользователей, неавторизованные изменения (привилегии, пользователи, схемы, конфигурации) и тренды по входам/выходам из системы.

Наблюдение, анализ и контроль доступа

Итак, мы уже убедились в том, что следующим шагом за регистрацией данных в журналах аудита, позволяющим построить детальный контроль, является наблюдение (зарегистрированных данных) и анализ. Сами по себе отчеты не выходят за рамки такого наблюдения: это те же самые зарегистрированные данные, но в концентрированном или статистически обобщенном виде. Они могут навести на определенные мысли, но не реализуют собственно анализ. Что же делать со всеми этими данными, и какой анализ при этом требуется?

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

Короткая ссылка