Для SQL Server актуальны все базовые принципы защиты информации. Специально для этого класса программных продуктов разработан ряд решений. Многие средства безопасности изначально заложены в операционные системы и базы данных. Защите подлежат оборудование, данные, программные оболочки БД, ОС и каналы связи.
Как советуют руководства по информационной безопасности, защиту систем требуется начинать с создания ограниченного доступа к SQL Server. MS SQL реализует задачу через использование средств аутентификации. Система распознает пользователя при введении им пары логин-пароль.
В SQL Server доступны две модели аутентификации:
При передаче в систему данные шифруются. Некоторые старые версии SQL Server не поддерживают средства Windows, это надо учитывать при настройке системы защиты базы данных SQL Server.
После аутентификации база данных определяет, насколько велики привилегии пользователя и к каким информационным ресурсам он вправе обращаться. Обычно выбирают из трех ролей – операционист, администратор, директор.
Разрешения могут устанавливаться для отдельного сотрудника, группы (отдела, департамента), роли.
Авторизация предполагает создание следующей иерархии уровней безопасности:
Привилегии могут наследоваться. При выстраивании системы безопасности важно, чтобы после ухода сотрудника его привилегии были отключены или унаследованы.
Для системных администраторов в БД созданы роли, отличающиеся объемом прав:
Роль public не предоставляет никаких прав, кроме доступа к данным. На практике встроенный набор возможностей почти не используется. Для каждого сотрудника IТ-подразделения создается уникальная роль со своим функционалом. При создании ролей высшего уровня желательно не предоставлять излишних привилегий, не предусмотренных должностными обязанностями.
Более полезной для выстраивания системы защиты баз данных SQL Server оказывается система ролей, встроенных в сам программный продукт:
Этим перечень встроенных ролей не ограничивается, для каждого системного администратора может быть создана индивидуальная структура.
База данных SQL Server имеет ряд приложений, для которых также прописываются собственные роли. После авторизации они позволяют менять уровни безопасности и настраивать системы защиты баз данных. По умолчанию эти опции не активны и используются в редких случаях.
Функционал SQL Server дает возможность производить фильтрацию данных при помощи встроенных процедур, представлений или функций. Пользователи получают допуск не ко всем таблицам, а только к тем, на которые получено разрешение. Вводя команду SELECT, можно выделить только часть таблицы, остальные разделы пользователи не увидят.
Безопасность на уровне строк, или Row-Level Security (RLS), – функция, которая дает возможность фильтровать данные по строкам таблицы. В одном из столбцов будет указан логин сотрудника или группы, которым доступна конкретная строка. Группы создавать целесообразнее, потому что в базу нужно вносить меньше информации. При этом пользователю с большим уровнем привилегий, например, менеджеру, будут видны все строки.
База данных состоит из отдельных информационных объектов. К ним относятся таблицы, функции, представления и процедуры. Для всех них создаются схемы, представляющие собой пространство имен, в которых реализуется отдельный объект. Так, если пользователь имеет право использовать команду SELECT в отношении определенного объекта, он также сможет произвести это действие со всеми объектами этого класса. Каждый из них наследует разрешения, установленные для схемы. Создаваемые в схеме объекты принадлежат не пользователю, а владельцу схемы.
Схемы отличаются от ролей тем, что роли могут быть старше схем, каждой роли могут принадлежать права на действия в нескольких схемах.
В базе данных есть уже готовые схемы по умолчанию:
Каждый новый пользователь может использовать для работы в базе схему Dbo. Остальные нужны для работы на сервере.
Средства криптографической защиты информации (СКЗИ) используются для обеспечения безопасности баз данных постоянно. В программное обеспечение SQL Server встроены утилиты, обеспечивающие шифрование. Этот способ защиты баз данных применяется для:
Администратор может выбирать для использования пары асимметричных или симметричных ключей. Допускается и генерация сертификатов. Модель шифрования выстраивается по иерархической схеме. Каждый слой иерархии шифрует данные, находящиеся под ним. Алгоритм шифрования может быть любым, главное, чтобы он не усложнял бизнес-процессы. Механизм Windows Crypto API поможет активизировать алгоритм шифрования.
Наиболее часто выбирают TDE (прозрачное шифрование данных) и Always Encrypted. Прозрачное шифрование данных защищает информационную базу целиком. Кража информационного объекта, файла, таблицы не даст злоумышленнику возможности прочитать похищенные сведения. Always Encrypted действует по иному принципу. Эта технология позволяет хранить шифрованные данные в SQL Server без передачи ключей шифрования самой базе данных. Сведения шифруются на уровне каждого столбца.
Утилита использует два ключа:
СКЗИ используются на уровне клиентских устройств, на сервере предусмотрено хранение только зашифрованных ключей. Модель способна защитить информацию даже от администраторов, которым не требуется доступ к коммерческой тайне или персональным данным.
Утилиты SQL Server не всегда решают задачу защиты информации полностью. Если есть необходимость в повышенном уровне безопасности данных, например, при обработке сведений, имеющих отношение к государственной тайне, необходимо применять СКЗИ, сертифицированные ФСБ РФ. Вторая ситуация, когда штатное шифрование не применяется, – если принимается решение, что излишняя нагрузка на информационные ресурсы не нужна.
Если сведения в БД или из нее передаются по общедоступным каналам связи, то криптографическая защита необходима. Исключение: данные направляются по локальным системам или защищенным VPN-каналам. С другой стороны, если существует риск кражи данных при помощи внешних носителей информации, шифрование баз данных SQL Server лишним не будет. Также всегда шифруются сведения о номерах банковских карт и финансовых трансакциях клиентов компании.
Решая, нужны ли компании средства криптографической защиты, нужно обязательно оценить не только нагрузку на сервер, но и то, смогут ли обращающиеся к серверу утилиты обеспечить поддержку выбранных алгоритмов. Следует учитывать, что асимметричное шифрование всегда более требовательно к ресурсам системы, чем симметричное.
Технология Group Managed Service Accounts для SQL Server – еще один популярный способ защиты базы данных. Она исключает ручную смену паролей отдельных пользователей и их групп. Это важно, так как данные о введении информации через командную строку часто становятся добычей злоумышленников, если файл истории был очищен несвоевременно. Когда системный администратор настраивает и устанавливает аgMSA-аккаунт, он должен дать указания системе, как часто утилита меняет пароль и список пользователей, имеющих доступ к этой информации.
Хакеры хорошо знакомы с типовыми уязвимостями баз данных SQL Server. При попытке взлома информационной системы она сразу тестируется на наличие лакун в безопасности, найденных ранее с помощью специального ПО. Эти же программные средства могут использовать и компании для регулярного выявления зон риска. Для аудита рекомендуется использовать утилиту Management Studio, встроенную в БД SQL Server. Сканер выявит наиболее часто встречающиеся ошибки в конфигурации системы и даст рекомендации об изменении настроек безопасности. Именно этой утилитой можно не ограничиваться. В Интернете много бесплатных программ для аудита и мониторинга обязательств.
Технические возможности SQL Server позволяют вести аудит любой пользовательской активности на сервере. Это мощное оружие в борьбе с несанкционированным доступом. Можно отследить попытки проникновения со стороны пользователей, разработчиков, сотрудников технических служб, осуществляющих поддержку.
Аудит можно вести постоянно либо по случаю. При настройке параметров аудита необходимо задать события, которые рассматриваются в качестве инцидентов информационной безопасности и подлежат отслеживанию. Штатный каталог безопасности БД является хорошим средством защиты. Однако существует дополнительный риск, что пользователь или администратор с большим объемом прав уничтожат следы своей активности. Поэтому разрешения на просмотр и внесение изменений в журнал должны быть минимизированы.
Базы данных часто страдают от действий инсайдеров: сотрудники после конфликта с руководством удаляют из БД критически важные данные, взламывают базу, чтобы украсть данные клиентов на продажу. Как защититься?
Создавая систему защиты, необходимо исходить из комплекса правил. Первое из них – не вводить в архитектуру информационной системы внешние программы, не являющиеся обязательными. Встроенные в программу средства справляются с этой задачей достаточно хорошо. А новые утилиты могут конфликтовать с БД, потребуют дополнительного обучения персонала и окажутся нагрузкой на бюджет. Исходя из этих принципов, нужно выстраивать свою систему.
С точки зрения взаимодействия с пользователями ключевой задачей становится ограничение привилегий. Ценные данные могут быть потеряны из-за ошибки пользователя, его неопытности или перегрузки. Не рекомендуется предоставлять ни одному аккаунту все привилегии администратора домена. Каждый новый пользователь должен получать аккаунт с наименьшими возможными для его квалификации и должностных обязанностей правами.
Задачи администраторов требуется решать строго в рамках ограничений. Встроенные роли надо использовать только тогда, когда объем полномочий полностью совпадает с задачами пользователя. Для качественной настройки системы защиты базы данных SQL Server лучше предоставлять права ролям, а не пользователям. Это решит часть задач по уничтожению учетных записей, если работник уволился или перевелся на другую должность. Роли в аналогичных ситуациях могут наследоваться.
Одинаковый объем прав, предложенных всем пользователям в рамках одной роли, сделает проще отслеживание их активности. Чем больше пользователей, тем сложнее контроль предоставления привилегий. Унификация сделает задачу контроля более решаемой. Удобнее предоставлять права на схему, это ограничит возможность совершения несанкционированных шагов.
Многие современные операционные системы, эволюционирующие десятки лет, содержат уязвимости, не всегда удачно замаскированные так называемыми программными заплатами. Несмотря на то, что рекомендуется обновлять систему по мере выхода новых версий, не всегда нужно следовать этому правилу. Многие новые утилиты могут конфликтовать с приложениями БД.
Межсетевой экран полезен, когда необходимо разграничить процессы, создав узкую зону для взаимодействия операционной системы и базы данных. Именно в этом защищенном пространстве размещаются основные средства безопасности. Снижение размеров контактной зоны и ограничение привилегий пользователей по отношению не только к БД, но и к ОС существенно снизит уровень риска.
Ценная информация может быть утрачена из-за гибели или повреждения оборудования. Поэтому задача ограничения доступа к серверной крайне важна. Также необходимо вести журналы учета съемных носителей и организовать безопасный режим их хранения. Такие требования напрямую содержатся в документах ФСТЭК, посвященных вопросам защиты персональных данных.
Следующим необходимым решением станет резервное копирование баз данных, использование RAID-модели, когда при выходе из строя одного из дисков данные сохранятся на втором. Столь же внимательно нужно относиться к ситуации, когда БД хранятся на облачных серверах. Это требует решения вопросов настройки защищенных каналов связи и обеспечения ограничения доступа сотрудников сервиса к сведениям в БД. Резервное копирование необходимо проводить самостоятельно, не рассчитывая на то, что эту задачу качественно решит компания-партнер.
Реализация комплексных решений по обеспечению безопасности баз данных SQL Server требует высокого профессионализма сотрудников. Несмотря на то, что ответы на все вопросы, связанные с безопасностью, присутствуют в руководствах пользователей, далеко не всегда у сотрудников IТ-подразделений хватает опыта для решения этих задач. Иногда требуется приглашение консультантов.
11.08.2020
Подпишитесь на нашу рассылку и получите
свод правил информационной безопасности
для сотрудников в шуточных