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

Применимо к:SQL Server Управляемый экземпляр SQL Azure

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

Шифрование

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

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

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

  • Если главный ключ присутствует в базе данных, связанной с реплика (базой данных публикации, базой данных подписки или базой данных распространителя), реплика tion шифрует и расшифровывает пароли агента в этой базе данных с помощью симметричного ключа базы данных SQL Server 2012 (11.x). Если используются главные ключи, то их необходимо создать во всех базах данных, участвующих в репликации. Дополнительные сведения о создании главных ключей см. в статье 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). Такое действие позволяет присоединять базу данных на подписчике.

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

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

См. также

Идентификатор и управление доступом для репликации
Просмотр и изменение параметров безопасности репликации