Насколько безопасны файлы MDF для SQL Server 2005? (ре: безопасность) - PullRequest
0 голосов
/ 02 февраля 2010

Мы начали использовать SQL Server 2005 Express для проекта, и я заметил, что каждая база данных имеет свои собственные файлы MDF / LDF. Всякий раз, когда нам нужно дублировать нашу базу данных (на другой сервер SQL), мы просто копируем эти файлы и затем присоединяем их к базе данных.

Однако, это заставляет меня задуматься о безопасности этих файлов. Если кто-то извне получает их копию, они зашифрованы или могут просто присоединиться к ним, как я? У меня не запрашиваются пароли, когда я сам их копирую / прикрепляю, поэтому немного нервничаю.

Спасибо, John

1 Ответ

3 голосов
/ 02 февраля 2010

Они не зашифрованы и могут быть загружены / прикреплены любым человеком, имеющим доступ для чтения к файлам MDF / LDF.

Есть несколько подходов, которые вы можете использовать, если необходимо защитить реальные файлы MDF. (Это предполагает, что простое использование прав доступа к файлам для блокировки доступа невозможно, например, если вам нужно защитить пользователей с правами администратора на этот компьютер или прямым доступом к жесткому диску.)

  1. Используйте EFS или BitLocker или аналогичные для шифрования самих файлов. Это не защитит от других приложений в том же сеансе / контексте, которые обращаются к файлам, но защитит от других учетных записей, обращающихся к файлам (EFS) или от кражи ноутбука / жесткого диска (EFS / BitLocker).
  2. Шифрование конфиденциальных данных в самой базе данных. Очевидно, вы захотите хранить ключ шифрования отдельно (возможно, используя DPAPI для его защиты, например). SQL Server 2008 Enterprise Edition представляет функцию под названием Прозрачное шифрование базы данных ( TDE ), чтобы упростить этот процесс, что, к сожалению, мало помогает для 2005 или Express Edition. В этом случае лучшим вариантом может быть пользовательское шифрование конфиденциальных данных в вашем приложении. (К сожалению, в 2005 году для этого потребуется использовать поля varbinary или зашифрованные значения в кодировке Base64 и т. Д.)
  3. Во-первых, не храните данные локально (т. Е. Используйте удаленный SQL Server, а не локальный экземпляр Express). Это на самом деле не решает проблему, но уменьшает ее (вам нужно только защитить удаленный экземпляр, а не N локальных / экспресс-копий).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...