Шифруйте резервные копии баз данных в SQL-сервере
Самородов Федор Анатольевич: Шифруйте резервные копии баз данных в SQL-сервере
Если вы озабочены защитой данных, то в вашем распоряжении большой набор механизмов, предоставляемых СУБД. Однако, большинство из них работают только тогда, когда данные находятся в работающей базе. А что происходит, когда данные покидают SQL-сервер, например, после резервного копирования? Если злоумышленник украл резервную копию вашей базы данных, то, восстановив её на своём сервере, он увидит все ваши данные!
Поэтому имеет смысл защитить резервную копию при помощи шифрования. Это можно сделать просто зашифровав саму базу данных, но постоянная работа с зашифрованной базой данных может привести к снижению производительности. Прежде чем шифровать базу, рассмотрите возможность отдельного шифрования резервных копий.
SQL-сервер шифрует резервную копию ключом, который сохраняется вместе с самой резервной копией. Поэтому этот ключ тоже нужно зашифровать. Это делается при помощи сертификата, который хранится отдельно от базы и не попадает в резервную копию.
Сам этот сертификат защищается мастер-ключом. Если вы раньше не использовали криптографию в SQL-сервере, то, возможно, мастер-ключа у вас тоже нет и его придётся создать. Вот так:
Обратите внимание, что создав сертификат, я сразу сохранил его в файл. Этот файл понадобится, если вы захотите восстановить базу данных из зашифрованной резервной копии на другом сервере. Не потеряйте его!
Всё, теперь можно создавать зашифрованные резервные копии. Если вы делаете это командой BACKUP DATABASE, то добавьте указание WITH ENCRYPTION:
А если пользуетесь интерфейсом, то загляните на последнюю закладку:
Посмотрим на результаты. Вот что получит злоумышленник, украв не защищённую резервную копию:
Как видите, всё содержимое легко читается. А вот так выглядит зашифрованная копия:
При планировании защиты резервных копий учтите, что такое шифрование имеется не во всех версиях SQL-сервера. Если вы пользуетесь версией младше 2014-й, то придётся либо шифровать саму базу, либо пользоваться дополнительными инструментами.
Ближайшие группы
Заказ добавлен в Корзину.
Для завершения оформления, пожалуйста,
перейдите в Корзину!
От какого лица вы будете оплачивать обучение?