Безопасность данных в СУБД

Безопасность данных в СУБД
Расскажем о проблемах разграничения прав доступа в системах управления базами данных и их решениях.

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

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

О проблемах разграничения прав доступа в системах управления базами данных (СУБД) и их решениях рассказывает Павел Кузнецов, директор по продуктам компании «Гарда Технологии» (входит в группу компаний «Гарда»). 

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

Права в гранулах

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

Неуправляемые права

Вторая проблема – сложность управления правами доступа. С ростом компании и количества пользователей управление правами доступа становится все сложнее. Когда в СУБД существует большое количество пользователей, ролей и групп, сложно отследить, кто имеет доступ к каким данным и какие операции с ними может выполнять. Это может привести к ошибкам в настройке прав доступа и открыть двери для несанкционированного доступа. Не всегда при этом удаётся найти квалифицированного специалиста, который сможет настроить СУБД таким образом, чтобы было одновременно безопасно и комфортно.

Неоцениваемые риски 

Третья проблема – отсутствие аудита доступа. Важным аспектом безопасности СУБД является возможность отслеживания и регистрации всех операций, связанных с доступом к данным. Однако, не все СУБД предоставляют возможность полноценного аудита. Это означает, что компании могут не замечать несанкционированный доступ или изменение данных до тех пор, пока не возникнут серьезные проблемы. Часто бывает, что аппаратная составляющая серверов СУБД просто не рассчитана на запись и хранение помимо непосредственно содержимого баз данных ещё и журналов аудита. 

Угрозы внутри 

Четвертая проблема – недостаточное внимание к защите от внутренних угроз. Внутренние угрозы являются одним из наиболее опасных видов атак, так как злоумышленник (или злонамеренный сотрудник, к примеру, затаивший обиду при увольнении) уже имеет доступ к системе. Однако, многие компании не уделяют должного внимания защите от внутренних угроз, полагаясь только на «периметровые» меры безопасности. Это может привести к тому, что злоумышленник, будучи пропущен на границе сети, сможет получить доступ к данным, не опасаясь обнаружения, организовать их продажу или банальное опубликование. 

Решение этих проблем требует комплексного подхода:

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

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

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

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

Опубликовано 30.08.2023

Похожие статьи