Replication Security Best Practices
Область применения: SQL Server
Репликация перемещает данные в распределенных средах, начиная с внутренних сетей в рамках одного домена и заканчивая приложениями, обеспечивающими передачу данных между доменами без доверия, а также через Интернет. Чтобы обеспечить безопасность соединения при репликации, важно выбрать способ, соответствующий конкретным обстоятельствам.
Сведения, указанные ниже, необходимо учитывать при проведении репликации в любых средах:
При шифровании соединения между компьютерами, занятыми в топологии репликации, необходимо использовать общепризнанную стандартную технологию, такую как виртуальная частная сеть (VPN), протокол TLS (ранее — SSL) или IP-безопасность (IPSEC). Дополнительные сведения см. в статье Включение шифрования соединений в компоненте Database Engine (диспетчер конфигурации SQL Server). Сведения об использовании VPN и TLS для репликации данных через Интернет см. в разделе Защита репликации через Интернет.
Если используется протокол TLS для защиты соединений между компьютерами в топологии репликации, задайте значение 1 или 2 для параметра -EncryptionLevel каждого агента репликации (рекомендуется значение 2). Значение 1 указывает, что шифрование будет использоваться, но агент не будет проверять, подписан ли TLS/SSL-сертификат сервера доверенным издателем; значение 2 указывает, что будет проверяться подпись сертификата. Параметры агента могут задаваться в профилях агента или в командной строке. Дополнительные сведения см. в разделе:
При запуске каждого агента репликации необходимо использовать новую учетную запись Windows, а в отношении всех соединений агента репликации применять проверку подлинности Windows. Дополнительные сведения об указании учетных записей см. в статье Идентификатор и управление доступом для репликации.
Предоставляйте каждому из агентов только те разрешения, которые необходимы. Дополнительные сведения см. в подразделе «Разрешения, необходимые для агентов» раздела Replication Agent Security Model.
Убедитесь в том, что все учетные записи агента слияния и агента распространителя находятся в списке доступа к публикации (PAL). Дополнительные сведения см. в статье Организация безопасности издателя.
Учетным записям в списке доступа к публикации необходимо предоставлять только те разрешения, которые им необходимы для выполнения задач репликации. Не добавляйте в предопределенные роли сервера имена входа, которые не требуются для репликации.
Настройте хранилище моментального снимка таким образом, чтобы оно было доступно для чтения всем агентам слияния и агентам распространителя. При работе с моментальными снимками для публикаций с параметризованными фильтрами убедитесь в том, что настройки каждой папки разрешают доступ к такой папке только учетным записям соответствующих агентов слияния.
Настройте хранилище моментального снимка таким образом, чтобы оно было доступно для записи агенту моментальных снимков.
В случае подписок по запросу используйте в качестве папки моментальных снимков общий сетевой ресурс, а не локальную папку.
Если топология репликации включает компьютеры, которые не находятся в одном домене или находятся в доменах, которые не имеют отношений доверия друг с другом, можно использовать проверку подлинности Windows или проверку подлинности SQL Server для подключений, сделанных агентами (Дополнительные сведения о доменах см. в документации По Windows). В качестве метода, обеспечивающего наилучшую защиту, рекомендуется использовать проверку подлинности Windows.
Чтобы использовать проверку подлинности Windows:
Добавьте локальную учетную запись Windows (но не учетную запись домена) для каждого агента в соответствующих узлах (в каждом узле используйте одно и то же имя и пароль). Например, агент распространителя для принудительной подписки запускается на распространителе и устанавливает соединение между распространителем и подписчиком. Учетная запись Windows для агента распространителя должна быть добавлена на распространитель и подписчик.
Убедитесь, что такой агент, например агент распространителя для подписки, запускается под одной и той же учетной записью на каждом компьютере.
Чтобы использовать проверку подлинности SQL Server, выполните приведенные действия.
Добавьте учетную запись SQL Server для каждого агента на соответствующих узлах (используйте одно и то же имя учетной записи и пароль на каждом узле). Например, агент распространителя для принудительной подписки запускается на распространителе и устанавливает соединение между распространителем и подписчиком. Учетная запись SQL Server для агент распространения должна быть добавлена к распространителю и подписчику.
Убедитесь, что такой агент, например агент распространителя для подписки, устанавливает соединения под одной и той же учетной записью на каждом компьютере.
В ситуациях, требующих проверки подлинности SQL Server, доступ к общим папкам моментальных снимков UNC часто недоступен (например, доступ может быть заблокирован брандмауэром). В таком случае моментальный снимок может быть передан подписчикам при помощи протокола передачи данных (FTP). Дополнительные сведения см. в статье Передача моментальных снимков через FTP.