Skip to main content

Безопасность БД.

Сеть и инфраструктура

  • Доступ к БД только через приватную сеть или VPN
  • Firewall: открыт только порт СУБД
  • БД не должна быть напрямую в интернете

Файлы и ОС

  • Права доступа на уровне ОС для файлов БД
  • Регулярные обновления безопасности ОС
  • Шифрование диска (LUKS/BitLocker/TPM) для защиты данных «на физическом носителе»

Пользователи и доступы

  • Принцип минимальных прав (Least Privilege)
  • Только нужные права: SELECT / INSERT / UPDATE / DELETE
  • Не использовать root / postgres в приложениях
  • Не хранить пароли в коде

Аудит и логирование

  • Аудит: кто, когда, что делал, с какими объектами
  • Логирование: подключения, ошибки, подозрительная активность
  • Профайлер / планы запросов: выявление тяжёлых запросов → предотвращение DoS или неправильного доступа

SQL-инъекции

  • П араметризованные запросы / prepared statements

Бэкапы

  • Цель: ошибки пользователей, сбои, атаки
  • Типы бэкапов:
    1. Полный — вся база
    2. Инкрементальный — изменения с последнего бэкапа
    3. Дифференциальный — изменения с последнего полного бэкапа
  • Методы:
    • SQL-дампы — перенос структуры и данных
    • Файловый — точная копия файлов
    • Стриминг (WAL) — откат к любому моменту времени
    • Практика: хранить отдельно, шифровать, проверять восстановление

Прочее

  • Разделение сред: dev / stage / prod
  • 2FA для админов
  • Отключить пользователей и базы по умолчанию
  • Отключить анонимные подключения
  • SSL / TLS: шифрование трафика (пароли и PII)

Безопасность БД = сеть + доступы + шифрование + аудит + бэкапы + защита данных + ограничения ресурсов