Лучшие практики для шифрования MySQL? - PullRequest
12 голосов
/ 02 августа 2010

Я ищу руководство по полям шифрования (и / или таблицам, если возможно) для MySQL. Я согласен на достойное руководство, но мне бы очень хотелось получить конкретные советы по управлению переходом от незашифрованной схемы к схеме с использованием зашифрованных полей. Спасибо!

Ответы [ 5 ]

8 голосов
/ 02 августа 2010

Наряду с AES_ENCRYPT для полей, если вы храните конфиденциальную информацию, лучше включить SSL и по проводной связи.Также рассмотрите разделение сети (vlan) компьютеров с чувствительными базами данных и другие стандартные методы обеспечения безопасности.Хранение ключей важно (где этот общий ключ вывешен, конечно, не на веб-сервере (ах)!) И учитывает влияние на индексы / запросы, так как поиск или объединение данных таблицы не будет таким простым, как это было раньше.

3 голосов
/ 04 августа 2010

Какова ценность шифрования базы данных на уровне поля?Это то, что вы действительно хотите, или будет достаточно для шифрования на уровне ОС или SAN?Планируете ли вы пролонгировать ключи или просто сохранить тот же ключ шифрования на вечность?Будет ли шифрование нарушать индексы таблиц, ссылки или типы полей?Как вы будете использовать ключ шифрования в кластере базы данных?

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

3 голосов
/ 02 августа 2010

На самом деле есть (по крайней мере) два подхода.Вы можете зашифровать данные, хранящиеся в ваших таблицах (используя функции EAS / DES, например, http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html)

, или вы можете использовать зашифрованный раздел жесткого диска для хранения ваших папок с данными (например, с TrueCrypt)

1 голос
/ 02 августа 2010

Подумайте, чего вы пытаетесь достичь с помощью шифрования?К сожалению, простого безопасного решения не существует.

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

0 голосов
/ 26 мая 2014

Прежде всего, только шифрование данных не является ответом.

Вы должны знать и контролировать «Кто может получить доступ к данным».

Хотя вы сами шифруете данные, злоумышленник может получить зашифрованные данные. Чтобы предотвратить это, вы должны контролировать права доступа или полномочия. Кроме того, вы должны знать, кто получил доступ к зашифрованным данным. Потому что в наши дни данные могут быть украдены не только внешними пользователями, но и внутренними пользователями.

Вы должны зашифровать данные, контролировать привилегии и аудит, к которому обращались.

В те дни эти три (3) технологии были разработаны в каждом направлении. Большинство компаний купили каждое решение.

Но для личного пользователя его трудно купить и создать эту среду самостоятельно. Кроме того, функция шифрования MySQL не обеспечивает эти функции.

Я бы хотел просмотреть эту ссылку , которая обеспечивает эти три (3) функции.

По моему опыту, это может обеспечить определенную безопасность. (Я CISO МСП.)

...