Перейти к содержимому
Аладдин Р.Д.
Библиотека

Безопасность и СУБД: о чём надо помнить, подбирая средства защиты

БиблиотекаБиблиотека

Июнь, 2020

Законодательство и корпоративные нормы накладывают требования к безопасности хранения данных, и для любого проекта важны идентификация и аутентификация, управление доступом, целостность информации и регистрация событий безопасности. Автор — Денис Рожков, руководитель разработки ПО компании “Газинформсервис” (команда продукта Jatoba), — разбирает интересные моменты безопасности СУБД: как защищать подключения, что такое аудит действий со стороны базы, как защищать данные в самой базе и какие для этого есть технологии.

Защита подключений

Пользователь со стороны бизнеса, как правило, взаимодействует с СУБД не напрямую, а через веб-приложения. Прежде чем говорить о защите соединений, нужно ответить на вопросы: эквивалентен ли один бизнес-пользователь одному пользователю СУБД; доступен ли к данным только контролируемый вами API или есть доступ к таблицам напрямую; выделена ли СУБД в отдельный защищённый сегмент; используются ли pooling/proxy и промежуточные слои, изменяющие информацию о подключении.

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

Средства безопасности в коммерческих и open source СУБД

В коммерческих продуктах задачи безопасности решаются давно; в open source для безопасности используют надстройки, многих функций не хватает, иногда что-то приходится дописывать. Например, для PostgreSQL есть много расширений, реализующих парольные политики, но потребности отечественного корпоративного сегмента, на взгляд автора, не покрывает ни одно.

Если нужных функций нигде нет, есть два пути. Первый — сторонние решения, работающие с разными СУБД, например “Крипто БД” или “Гарда БД”: в отечественном сегменте про ГОСТы знают лучше, чем в open source. Второй — написать самостоятельно: реализовать доступ к данным и шифрование на уровне приложения, спрятав данные в СУБД и расшифровывая как надо (с ГОСТом будет сложнее). Но сразу продумывайте защиту этих алгоритмов — по мнению автора, делать это нужно на уровне СУБД, так работает быстрее.

Это краткая аннотация статьи, полную версию читайте в первоисточнике.


Читать полную версию

Первоисточник: Интернет-портал Habr.com, май, 2020

Эксперт: Денис Рожков, Газинформсервис