Однажды я заинтересовался вопросом защиты базы данных от несанкционированного копирования и выяснил, что всего существует три уязвимых места, через которые можно скопировать базу:
- Через SQL-сервер.
- Через хранилище БД (файлы БД на SQL-сервере).
- Через архивное хранилище БД (бэкапы).
У каждого места есть свои риски и свои способы защиты, о которых мы и поговорим ниже. Стоит отметить, что все методы, описанные в этом документе, предназначены для защиты БД на базе Microsoft SQL Server 2005 и Windows Server 2003.
Несанкционированный доступ к SQL-серверу
В большинстве случаев группа администраторов Windows-сервера, накотором установлен также SQL-сервер, являются членами SQL-группы «Sysadmin». Соответственногруппа администраторов Windows-сервера автоматически становится и администраторамиSQL-сервера, то есть получает полный доступ к нему.
Это не совсем правильно, т.к. администратор Windows-сервера считаетсянесанкционированным пользователем SQL-сервера.
Метод защиты
- Чтобы исключить данную ситуацию, необходимо контролироватьSQL-группу «Sysadmin»,а именно:
- убрать локальную группу администраторов Windows-сервераиз SQL-группы «Sysadmin» и добавить только учетнуюзапись администратора SQL-сервера;
- если учетная запись «SA» активна - рекомендуетсяустановить ей очень сложный пароль;
- обеспечить уникальность и регулярное изменение паролейдля всех учетных записей администраторов;
- включить полный аудит (Successful and Failed Logins), чтобы контролироватьвсе действия учетных записей администраторов.
Несанкционированный доступ к хранилищу БД
Файлы хранилища БД – это обычные Windows файлы (*.mdf, *.ndf и *.ldf).
Примечание. Они доступны для копирования только тогда, когда SQL-служба остановлена.
Доступ несанкционированного пользователяк хранилищу БД дает возможность перенести и развернуть эти файлы на другом SQL-сервере.
Метод защиты
Чтобы защитить хранилище БД, рекомендуется:
- хранить файлы БД на диске с Файловой системой NTFS;
- запустить SQL-службы от Windows/Domain учетной записи;
- выдать полные правадоступа к хранилищу БД только учетной записи, под которой запускается SQL-служба;
- запустить аудит файлов, чтобы контролировать вседействия, зависящие от хранилища БД;
- регулярно просматривать журнал безопасности Windows, с цельюсвоевременного обнаружения несанкционированного доступа.
Несанкционированный доступ к архивному хранилищу БД
Доступ несанкционированногопользователя к архивному хранилищу (бэкапы) БД дает ему возможность перенести иразвернуть бэкапы на другом SQL-сервере,получив, таким образом, доступ ко всей информации БД.
Метод защиты
Для защиты архивного хранилища следует выполнять следующие действия:
- Архивировать БД с помощью следующего запроса:
BACKUP DATABASE { database_name | @database_name_var}
TO < backup_device >
With Password = ‘p@ssw0rd’
В этом случае невозможно восстановитьархив без пароля.
Для восстановления используетсяследующий запрос:
Restore DATABASE { database_name | @database_name_var}
From < backup_device >
With Password = ‘p@ssw0rd’
Примечание. Невозможно узнать используемый пароль через SQL-Trace.
- Хранить архивы на диске с Файловой системой NTFS.
- Включить функцию «Шифровать содержимое для защиты данных» для архивногохранилища БД.
- Примечание.Для шифрованияиспользуется учетная запись, от которой запущены SQL-службы.
- Выдать полные правадоступа к архивному хранилищу БД только учетной записи, под которой запускаетсяSQL-служба.
- Запустить аудит файлов, чтобы контролировать вседействия, зависящие от архивного хранилища БД.
- Регулярно просматривать журнал безопасности Windows, с цельюсвоевременного обнаружения несанкционированного доступа.
Заключение
С целью обеспечения высокого уровнязащиты БД необходимо настроить надежную систему аудита/мониторинга БД.
Для DIRECTUM рекомендуется использоватьпакет управления системой DIRECTUMдля SCOM 2007 R2 (System center operations manager 2007).
Обратите внимание на то, что любаясистема защиты/безопасности объекта зависит на 50% от системы аудита/мониторингаэтого объекта.