Задать вопрос
hostadmin
@hostadmin

Как хранить ключ для шифрованной mysql базы (MariaDB)?

Хочу шифровать чувствительные данные в некоторых таблицах БД (в моем случае MariaDB). Но появились вопросы:
1. Как хранить ключи шифрования, например, в файлах?
Т.е. понятно что можно кинуть на диск, но в случае компрометации доступа вместе с базой утекает ключ.
Думаю, что наверно правильнее перед запуском БД подключать к системе какой-то удаленный сетевой ресурс (папку), на котором лежит ключ, запускать БД и после запуска отключать этот ресурс. Правильно мыслю?

2. Вроде в мануале пишут, что можно использовать AWS KMS, но здесь тоже не ясно как обстоит дело с доступом к ключу злоумышленников, получивших доступ к серверу. Или у AWS KMS есть какая-то защита на количество запросов ключа и/или ограничение по времени? К сожалению никогда не работал с KMS.

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

PS. Речь именно про стандартное шифрование средствами самой БД, а не использование шифрования при sql-запросах.
  • Вопрос задан
  • 410 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега Веб-разработка
нельзя просто так взять и загуглить ошибку
Т.е. понятно что можно кинуть на диск, но в случае компрометации доступа вместе с базой утекает ключ.

Почти в любом случае серьезной компрометации будут доступны способы залезть например в исходники сайта/еще куда-то и достать ключ, поэтому все шифрования ничего толком не дают в плане защищённости как по мне.
То ли дело хеширование, но в случае с данными которые надо читать это не подходит :)
Ответ написан
sashkets
@sashkets
Прекратил отвечать после 24.02.2022
согласен с Александр Аксентьев
Защита будет только при отсутствии возможности это сделать с сервера


лучше заткнуть подходы к серваку от любопытных
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы