Безопасность транспорта для зеркального отображения баз данных и групп доступности AlwaysOnTransport Security - Database Mirroring - Always On Availability

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Защита транспорта подразумевает проверку подлинности и (необязательно) шифрование сообщений, которыми обмениваются базы данных.Transport security involves authentication and, optionally, encryption of messages exchanged between the databases. Для зеркального отображения базы данных и Группы доступности AlwaysOnAlways On availability groupsпроверка подлинности и шифрование настраиваются в конечной точке зеркального отображения базы данных.For database mirroring and Группы доступности AlwaysOnAlways On availability groups, authentication and encryption are configured on the database mirroring endpoint. Базовые сведения о конечных точках зеркального отображения базы данных см. в разделе Конечная точка зеркального отображения базы данных (SQL Server).For an introduction to database mirroring endpoints, see The Database Mirroring Endpoint (SQL Server).

В этом разделе.In this Topic:

Проверка подлинностиAuthentication

Проверка подлинности — это процесс проверки того, что пользователь является тем, за кого себя выдает.Authentication is the process of verifying that a user is who the user claims to be. Подключения между конечными точками зеркального отображения базы данных требуют проверки подлинности.Connections between database mirroring endpoints require authentication. Запросы соединения зеркального или следящего сервера должны проходить проверку подлинности.Connection requests from a partner or witness, if any, must be authenticated.

Тип проверки подлинности, применяемый экземпляром сервера при зеркальном отображении базы данных или Группы доступности AlwaysOnAlways On availability groups , является свойством конечной точки зеркального отображения базы данных.The type of authentication used by a server instance for database mirroring or Группы доступности AlwaysOnAlways On availability groups is a property of the database mirroring endpoint. Для конечных точек зеркального отображения базы данных доступны два типа защиты транспорта: проверка подлинности Windows (интерфейс поставщика поддержки безопасности, SSPI) и проверка подлинности на основе сертификата.Two types of transport security are available for database mirroring endpoints: Windows Authentication (the Security Support Provider Interface (SSPI)) and certificate-based authentication.

Проверка подлинности Windows.Windows Authentication

При проверке подлинности Windows каждый экземпляр сервера входит в систему на зеркальную сторону, используя учетные данные Windows учетной записи пользователя Windows, под которой выполняется процесс.Under Windows Authentication, each server instance logs in to the other side using the Windows credentials of the Windows user account under which the process is running. Проверка подлинности Windows может потребовать небольшой настройки вручную учетных записей следующим образом.Windows Authentication might require some manual configuration of login accounts, as follows:

  • Если экземпляры SQL ServerSQL Server выполняются как службы в одной и той же учетной записи домена, то дополнительная настройка не требуется.If the instances of SQL ServerSQL Server run as services under the same domain account, no extra configuration is required.

  • Если экземпляры SQL ServerSQL Server выполняются как службы под разными учетными записями домена (одного и того же или доверенных доменов), вам нужно создать имя входа для каждой учетной записи в базе данных master на каждом экземпляре сервера, а затем предоставить этому имени входа разрешение CONNECT для конечной точки.If the instances of SQL ServerSQL Server run as services under different domain accounts (in the same or trusted domains), the login of each account must be created in master on each of the other server instances, and that login must be granted CONNECT permissions on the endpoint.

  • Если экземпляры SQL ServerSQL Server выполняются как учетные записи сетевой службы, вам нужно создать в базе данных_master_ \ на каждом из остальных серверов имя входа для каждой учетной записи главного компьютера ( имя_домена имя _ компьютера$ ), а затем предоставить этому имени входа разрешение CONNECT для конечной точки.If the instances of SQL ServerSQL Server run as the Network Service account, the login of the each host computer account (DomainName\ComputerName$) must be created in master on each of the other servers, and that login must be granted CONNECT permissions on the endpoint. Это обусловлено тем, что экземпляр сервера, выполняемый под учетной записью Network Service, выполняет проверку подлинности с помощью учетной записи домена главного компьютера.This is because a server instance running under the Network Service account authenticates using the domain account of the host computer.

Примечание

Пример установки сеанса для зеркального отображения базы данных с помощью проверки подлинности Windows см. в разделе Пример. Настройка зеркального отображения базы данных с помощью проверки подлинности Windows (Transact-SQL)For an example of setting up a database mirroring session using Windows Authentication, see Example: Setting Up Database Mirroring Using Windows Authentication (Transact-SQL).

СертификатыCertificates

В некоторых ситуациях, например, когда экземпляры сервера находятся не в доверенных доменах или SQL ServerSQL Server выполняется как локальная служба, проверка подлинности Windows недоступна.In some situations, such as when server instances are not in trusted domains or when SQL ServerSQL Server is running as a local service, Windows Authentication is unavailable. В этом случае для проверки подлинности запросов на соединение вместо учетных данных пользователя требуются сертификаты.In such cases, instead of user credentials, certificates are required to authenticate connection requests. Зеркальную конечную точку каждого экземпляра сервера необходимо настроить с собственным, локально созданным сертификатом.The mirroring endpoint of each server instance must be configured with its own locally created certificate.

Метод шифрования определяется при создании сертификата.The encryption method is established when the certificate is created. Дополнительные сведения см. в разделе Allow a Database Mirroring Endpoint to Use Certificates for Outbound Connections (Transact-SQL).For more information, see Allow a Database Mirroring Endpoint to Use Certificates for Outbound Connections (Transact-SQL). Соблюдайте осторожность при управлении действующим сертификатом.Carefully manage the certificates that you use.

Чтобы установить идентичность при соединении, экземпляр сервера использует закрытый ключ собственного идентификатора.A server instance uses the private key of its own certificate to establish its identity when setting up a connection. Экземпляр сервера, который принимает запрос на соединение, для проверки подлинности отправителя использует открытый ключ идентификатора отправителя.The server instance that receives the connection request uses the public key of the sender's certificate to authenticate the sender's identity. Рассмотрим два экземпляра сервера: сервер_A и сервер_В.For example, consider two server instances, Server_A and Server_B. Сервер_A перед отправкой запроса на подключение к серверу_В использует закрытый ключ для шифрования заголовка соединения.Server_A uses its private key to encrypt the connection header before sending a connection request to Server_B. Сервер_В использует открытый ключ сертификата сервера_A для расшифровки заголовка соединения.Server_B uses the public key of Server_A's certificate to decrypt the connection header. Если дешифрованный заголовок верен, сервер_B знает, что он был зашифрован сервером_A, и соединение авторизуется.If the decrypted header is correct, Server_B knows that the header was encrypted by Server_A, and the connection is authenticated. Если дешифрованный заголовок неверен, сервер_B знает, что запрос на соединение не является достоверным, и отказывает в подключении.If the decrypted header is incorrect, Server_B knows that the connection request is inauthentic and refuses the connection.

Шифрование данныхData Encryption

По умолчанию конечная точка зеркальной базы данных требует шифрования данных, которые отправляются по соединениям зеркальных баз данных.By default, a database mirroring endpoint requires encryption of data sent over mirroring connections. В этом случае конечная точка может подключиться только к конечной точке, которая также использует соединение.In this case, the endpoint can connect only to endpoints that also use encryption. Для соединений зеркального отображения базы данных рекомендуется использовать шифрование, за исключением случаев, когда гарантируется безопасность сети.Unless you can guarantee that your network is secure, we recommend that you require encryption for your database mirroring connections. Тем не менее шифрование можно отключить или сделать так, чтобы оно поддерживалось, но не требовалось явно.However, you can disable encryption or make it supported, but not required. Если шифрование отключено, данные не шифруются, а конечная точка не может подключаться к конечной точке, требующей шифрования.If encryption is disabled, data is never encrypted and the endpoint cannot connect to an endpoint that requires encryption. Если шифрование поддерживается, данные шифруются, только если противоположная конечная точка поддерживает или требует шифрования.If encryption is supported, data is encrypted only if the opposite endpoint either supports or requires encryption.

Примечание

Зеркальные конечные точки, созданные SQL Server Management StudioSQL Server Management Studio , или требуют шифрования, или создаются с отключенным шифрованием.Mirroring endpoints created by SQL Server Management StudioSQL Server Management Studio are created with encryption either required or disabled. Чтобы изменить параметры шифрования на SUPPORTED, используется инструкция ALTER ENDPOINT Transact-SQLTransact-SQL .To change the encryption setting to SUPPORTED, use the ALTER ENDPOINT Transact-SQLTransact-SQL statement. Дополнительные сведения см. в разделе ALTER ENDPOINT (Transact-SQL).For more information, see ALTER ENDPOINT (Transact-SQL).

При необходимости пользователь обладает возможностью управлять алгоритмом шифрования, который может быть использован конечной точкой, путем определения одного из следующих значений для параметра ALGORITHM в инструкции CREATE ENDPOINT или в инструкции ALTER ENDPOINT:Optionally, you can control the encryption algorithms that can be used by an endpoint, by specifying one of the following values for the ALGORITHM option in a CREATE ENDPOINT statement or ALTER ENDPOINT statement:

Значение параметра ALGORITHMALGORITHM value ОписаниеDescription
RC4RC4 Указывает на то, что конечная точка должна использовать алгоритм RC4.Specifies that the endpoint must use the RC4 algorithm. Это значение по умолчанию.This is the default.

** Предупреждение. ** Алгоритм RC4 использовать не рекомендуется.** Warning ** The RC4 algorithm is deprecated. В будущей версии Microsoft SQL Server этот компонент будет удален.This feature will be removed in a future version of Microsoft SQL Server. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. Вместо этого рекомендуется использовать алгоритм AES.We recommend that you use AES.
AESAES Указывает на то, что конечная точка должна использовать алгоритм AES.Specifies that the endpoint must use the AES algorithm.
AES RC4AES RC4 Указывает на то, что две конечные точки будут согласовывать алгоритм шифрования, оставляя приоритет за алгоритмом AES.Specifies that the two endpoints will negotiate for an encryption algorithm with this endpoint giving preference to the AES algorithm.
RC4 AESRC4 AES Указывает на то, что две конечные точки будут согласовывать алгоритм шифрования, оставляя приоритет за алгоритмом RC4.Specifies that the two endpoints will negotiate for an encryption algorithm with this endpoint giving preference to the RC4 algorithm.

Если подсоединяемые конечные точки указывают оба алгоритма, но в разной последовательности, используется тот алгоритм, который указан принимающей стороной.If connecting endpoints specify both algorithms but in different orders, the endpoint accepting the connection wins.

Примечание

Алгоритм RC4 поддерживается только в целях обратной совместимости.The RC4 algorithm is only supported for backward compatibility. Когда база данных имеет уровень совместимости 90 или 100, новые материалы могут шифроваться только с помощью алгоритмов RC4 или RC4_128.New material can only be encrypted using RC4 or RC4_128 when the database is in compatibility level 90 or 100. (Не рекомендуется.) Используйте вместо этого более новые алгоритмы, например AES.(Not recommended.) Use a newer algorithm such as one of the AES algorithms instead. В SQL Server 2012 (11.x)SQL Server 2012 (11.x) и более поздних версиях материалы, зашифрованные с помощью алгоритма RC4 или RC4_128, могут быть расшифрованы на любом уровне совместимости.In SQL Server 2012 (11.x)SQL Server 2012 (11.x)and higher versions, material encrypted using RC4 or RC4_128 can be decrypted in any compatibility level.

Алгоритм RC4 является относительно слабым, хотя работает значительно быстрее по сравнению с AES, в то время как AES является довольно надежным алгоритмом.Though considerably faster than AES, RC4 is a relatively weak algorithm, while AES is a relatively strong algorithm. Поэтому рекомендуется использовать алгоритм AES.Therefore, we recommend that you use the AES algorithm.

Дополнительные сведения о синтаксисе Transact-SQLTransact-SQL для задания шифрования см. в разделе CREATE ENDPOINT (Transact-SQL).For information about the Transact-SQLTransact-SQL syntax for specifying encryption, see CREATE ENDPOINT (Transact-SQL).

Связанные задачиRelated Tasks

Конфигурация защиты транспорта для конечной точки зеркального отображения базы данныхTo configure transport security for a database mirroring endpoint

См. также:See Also

Выбор алгоритма шифрования Choose an Encryption Algorithm
ALTER ENDPOINT (Transact-SQL) ALTER ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL) DROP ENDPOINT (Transact-SQL)
Центр обеспечения безопасности для Базы данных Azure SQL и ядра СУБД SQL Server Security Center for SQL Server Database Engine and Azure SQL Database
Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server) Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)
Конечная точка зеркального отображения базы данных (SQL Server) The Database Mirroring Endpoint (SQL Server)
sys.database_mirroring_endpoints (Transact-SQL) sys.database_mirroring_endpoints (Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL) sys.dm_db_mirroring_connections (Transact-SQL)
Диагностика конфигурации зеркального отображения базы данных (SQL Server) Troubleshoot Database Mirroring Configuration (SQL Server)
Поиск и устранение неисправностей конфигурации групп доступности AlwaysOn (SQL Server)Troubleshoot Always On Availability Groups Configuration (SQL Server)