Защита СУБД в Web

Защита баз данных
с помощью системы

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

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

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

Угрозы и уязвимости в структуре веб-приложений и баз данных

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

Внешние угрозы нельзя недооценивать. Они могут нанести финансовый урон в миллионы и миллиарды долларов. Так, например, 6 августа 2014 года в результате всего одной хакерской атаки были взломаны базы данных 420 000 веб-приложений. Злоумышленники получили доступ к логинам и паролям миллионов учетных записей, а вместе с ними – к конфиденциальной информации. 

Однако, несмотря на опасность внешних угроз, по данным статистики на 2019 год, более 60% зарегистрированных утечек информации в России произошло из-за внутренних угроз. Основной урон был нанесен пользователями, имеющими права доступа к СУБД. Поэтому на данный момент разработчики веб-приложений создают многокомпонентные системы защиты, направленные на обеспечение информационной безопасности как от внешних, так и от внутренних угроз.

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

Как защитить СУБД веб-приложения?

Методы защиты СУБД

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

  • защита подключений;
  • аудит действий пользователей;
  • ограничение доступа к данным.

Каждый из этих методов обладает определенной степенью эффективности. Поэтому веб-разработчики чаще всего комбинируют эти методы. 

Защитить подключения можно такими способами:

1. Использовать firewall, то есть межсетевой экран. Файрвол – это система информационной безопасности, защищающая базу данных от несанкционированного доступа пользователей и автоматически блокирующая попытки взлома. Файрвол веб-приложения защищает содержимое и структуру баз данных путем фильтрации IP-адресов, поведенческого анализа пользователей, сканеров уязвимостей и защиты от DDoS-атак. Таким образом брандмауэр защищает базы данных как от внешних, так и от внутренних угроз.
2. Использовать систему авторизации пользователей. Система авторизации пользователей, состоящая из логинов и паролей, может обладать разной степенью эффективности. Наиболее эффективными являются системы, в которых каждый пользователь обладает уникальным логином и паролем, а также подтверждает свою личность с помощью различных инструментов. 
3. Защищать канал клиент-серверного подключения путем настройки SSL или использования других инструментов. Программное обеспечение, позволяющее защитить канал клиент-серверного подключения, можно загрузить из open source либо разработать самостоятельно.

Практика показывает, что все перечисленные способы обеспечения информационной безопасности достаточно эффективны и практически не влияют на производительность веб-приложений. 

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

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

В качестве примера приведем Microsoft SQL Server – клиент-серверную систему управления, которая лежит в основе большинства существующих веб-приложений. В этой системе есть встроенные подсистемы аудита, позволяющие проводить его без установки стороннего ПО.

Встроенные подсистемы аудита Microsoft SQL Server позволяют:

  • провести полный мониторинг программных и аппаратных элементов системы;
  • проверить последние обновления и при необходимости обновить ПО;
  • оценить надежность системы информационной безопасности;
  • составить отчет по результатам проведенного аудита.

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

  • количество выявленных уязвимостей и программных ошибок;
  • подозрительные и потенциально опасные действия пользователей;
  • информация о всех изменениях структуры и содержимого баз данных.

Однако практика показывает, что встроенных подсистем аудита обычно недостаточно для обеспечения информационной безопасности. Поэтому разработчики веб-приложений разрабатывают ПО для проведения аудита либо используют уже существующие программные продукты. Выбор ПО зависит от целей проверки. Так, например, с помощью программы NetWrix SQL Server Change Reporter можно настроить автоматическое исправление выявленных ошибок и установить периодичность проверок.


Для отслеживания пользовательских операций в БД на профессиональном уровне рекомендуем использовать Database Monitor. Узнать больше.   


Что касается ограничения доступа к данным, то оно осуществляется с помощью таких технологий:

1. Wrapping (шифрование). Используется для защиты наиболее важной информации – систем авторизации, лицензирования и т.д.
2. RLS и Masking. Технологии, позволяющие разными способами скрыть от пользователей определенную информацию в строках и колонках таблиц баз данных. То, какая информация будет показана, определяется в соответствии с уровнем доступа пользователя. 
3. DBA. Система защиты от внутренних угроз, ограничивающая доступ к информации для пользователей с уровнем доступа администратора базы данных.
4. End-to-end encryption – система шифрования, в которой ключи хранятся на сервере. 

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

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

19.08.2020

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