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


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

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

Шифрование

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

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

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

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

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

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

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

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

См. также:

Идентификатор и управление доступом (репликация)
Безопасное развертывание репликации