Поделиться через


Предотвращение угроз и уязвимости для безопасности (репликация)

В этом разделе приводятся методы снижения угроз для топологии репликации.

Шифрование

Шифрование представляет собой процесс преобразования данных в форму, которую невозможно прочитать без специального ключа, поэтому прочитать данные могут только назначенные пользователи. Репликация не производит шифрование данных, хранящихся в таблицах или передаваемых через сетевые соединения. Это сделано намеренно, так как шифрование доступно на уровне транспортировки в различных технологиях, включая следующие стандартные технологии: виртуальные частные сети (VPN), протокол SSL и протокол IPSEC. Для соединений между компьютерами в топологии репликации рекомендуется использовать один из этих методов. Дополнительные сведения см. в разделе Шифрование соединений с SQL Server. Сведения об использовании VPN и SSL для репликации данных через Интернет см. в разделе Обеспечение безопасности репликации через Интернет.

Если используется протокол SSL для защиты соединения между компьютерами в топологии репликации, задайте значение 1 или 2 для параметра -EncryptionLevel каждого агента репликации (значение 2 рекомендуется). Значение 1 указывает, что шифрование будет использоваться, но агент не будет проверять, подписан ли SSL-сертификат сервера доверенным издателем; значение 2 указывает, что будет проверяться подпись сертификата. Параметры агента могут быть заданы в профиле агента или в командной строке. Дополнительные сведения см. в следующих разделах:

Репликация взаимодействует с главными ключами базы данных, которые используются для шифрования данных, следующим образом:

  • Если главный ключ находится в базе данных, участвующей в репликации (база данных публикации, база данных подписки или база данных распространителя), репликация шифрует и дешифрует пароли агентов в этой базе данных с помощью симметричного ключа базы данных SQL Server 2008. Если используются главные ключи, то их необходимо создать во всех базах данных, участвующих в репликации. Если главный ключ отсутствует в базе данных, участвующей в репликации, репликация шифрует и дешифрует пароли агентов в этой базе данных с использованием алгоритма, доступного в SQL Server 2000. Дополнительные сведения о создании главных ключей см. в разделе CREATE MASTER KEY (Transact-SQL).

  • При репликации главные ключи не реплицируются. Если главный ключ требуется на подписчике, его необходимо экспортировать из базы данных публикации с помощью команды BACKUP MASTER KEY, а затем импортировать его в базу данных подписки с использованием команды RESTORE MASTER KEY. Дополнительные сведения см. в разделах BACKUP MASTER KEY (Transact-SQL) и RESTORE MASTER KEY (Transact-SQL).

  • Если главный ключ определен для прикрепляемой базы данных подписки, укажите пароль главного ключа с помощью параметра @db_master_key_password хранимой процедуры sp_attachsubscription (Transact-SQL). Такое действие позволяет присоединять базу данных на подписчике.

Дополнительные сведения о шифровании и главных ключах см. в разделе Иерархия средств шифрования.

Репликация позволяет публиковать данные зашифрованных столбцов. Для расшифровки и использования этих данных на подписчике ключ, который был использован при шифровании данных на издателе, должен также располагаться и на подписчике. Репликация не предоставляет безопасного механизма для передачи ключей шифрования. Необходимо вручную повторно создать ключ шифрования на подписчике. Дополнительные сведения см. в разделе Как реплицировать данные в зашифрованные столбцы (среда SQL Server Management Studio).