Получить консультацию по Solar appScreener

Многие компании, занимающиеся бизнесом в качестве СУБД, предпочитают пользоваться MS SQL Server. Подобные ресурсы представляют повышенный интерес для злоумышленников, ведь несанкционированное получение ценной информации способно нанести непоправимый ущерб владельцу и стать конкурентным инструментом в чужих руках. Вполне очевидно возникает вопрос: как обеспечить безопасность SQL сервера?

Что такое безопасность SQL?

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

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

Уровни безопасности SQL Server

Системы безопасности SQL Server используют для поддержания и контроля защиты два основных компонента: пользователей, учётные записи. Проверка безопасности осуществляется на двух уровнях:

  1. Идентификация пользователя согласно введенному логину и паролю. В случае подтверждения аутентификации пользователю становится доступным подключение к SQL Server. Однако это никак не связано с получением доступа непосредственно к базам данных.

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

Настройка безопасности SQL

Для того чтобы выполнить настройку безопасности и повысить уровень защиты рекомендуется выполнить следующие шаги:

  • Обеспечить защиту на уровне столбцов. Для этого можно воспользоваться функцией Always encrypted. С ее помощью шифруются неактивные данные, сетевой трафик. Шифрование осуществляется на уровне клиентских приложений. Лучше выполнить шифрование информации по случайному методу. Также в качестве альтернативного способа подойдёт динамическое маскирование данных. 

  • Создать защиту на уровне строк (RLS). При таком механизме защиты гарантируется что пользователи увидят только те записи, к которым они получат доступ. С помощью данного инструмента можно ограничить число записей, которые возвращаются пользователю в случае вызова.

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

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

  • Всегда выполнять удостоверение и проверку подлинности. Проверка безопасности SQL осуществляется путем проверки подлинности Windows отдельно и совместной проверки на подлинность SQL Server и Windows. Чтобы повысить защиту, рекомендуется при проверке подлинности использовать многофакторную аутентификацию, установить сложные и сильные пароли, задать минимальные права при использовании ролей пользователей согласно установленным стратегиям безопасности.

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

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

ДРУГИЕ СТАТЬИ ПРОДУКТА

Еще больше о наших возможностях

Zero Day уязвимость: что такое уязвимость нулевого дня

Zero Day уязвимость: что такое уязвимость нулевого дня

Узнать больше
White Box-тестирование: что это такое, и когда применяется

White Box-тестирование: что это такое, и когда применяется

Узнать больше
Cross Site Scripting: что такое XSS-атаки и как от них защититься

Cross Site Scripting: что такое XSS-атаки и как от них защититься

Узнать больше