Соединение с компонентом Database Engine с использованием расширенной защиты

Применимо к:SQL Server

SQL Server поддерживает расширенную защиту, начиная с SQL Server 2008 R2 (10.50.x). Расширенная защита для проверки подлинности представляет собой функцию сетевых компонентов, реализуемую операционной системой. Расширенная защита поддерживается в Windows 7 и Windows Server 2008 R2. Расширенная защита входит в пакет обновления для более старых операционных систем Microsoft. SQL Server при помощи расширенную защиту.

Важно!

В Windows Расширенная защита не включается по умолчанию. Дополнительные сведения о включении функции Расширенная защита в Windows см. в разделе Расширенная защита для проверки подлинности.

Описание расширенной защиты

Расширенная защита предусматривает привязку служб и каналов для предотвращения релейных атак при проверке подлинности. Во время проведения релейной атаки при проверке подлинности клиент, который может выполнить проверку подлинности NTLM (например, через проводник Windows, Microsoft Outlook, приложение .NET SqlClient и т. д.), подключается к атакующему (например, злонамеренному файловому серверу CIFS). Атакующий использует учетные данные клиента, чтобы замаскироваться под него и пройти проверку подлинности службы (например, экземпляра службы ядра СУБД).

Существуют две разновидности этой атаки.

  • При атаке с заманиванием клиент добровольно подключается к атакующему.

  • При атаке с подделкой пакетов клиент намеревается подключиться к достоверной службе, но не знает, что маршрутизатор DNS или IP (или оба) заражен и перенаправляет соединение к атакующему, а не к службе.

SQL Server поддерживает привязку служб и каналов, чтобы сократить возможность проведения таких атак на экземпляр SQL Server.

привязка служб

Привязка служб направлена против атак с заманиванием, требуя от клиента отправки подписанного имени участника-службы (SPN) для службы SQL Server, с которой клиент пытается соединиться. При обработке ответа проверки подлинности служба проверяет, совпадает ли полученное в пакете имя участника-службы с ее собственным именем участника-службы. Если имеет место заманивающая атака, то клиент включит подписанное имя участника-службы атакующего. Атакующий не сможет передать этот пакет, чтобы пойти проверку подлинности как клиент в реальной службе SQL Server, поскольку он включает имя участника-службы атакующего. Привязка служб требует небольших разовых затрат, но не противодействует атакам с подделкой пакетов. Привязка службы происходит, когда клиентское приложение не использует шифрование для подключения к SQL Server.

привязка каналов

Привязка канала устанавливает защищенный канал (Schannel) между клиентом и экземпляром службы SQL Server. Служба проверяет подлинность клиента, сравнивая его токен привязки данного канала (СВТ) со своим собственным токеном СВТ. Привязка канала противодействует как заманивающим атакам, так и атакам с подделкой пакетов. Однако она требует более значительных затрат времени выполнения из-за шифрования системой защиты на транспортном уровне (TLS) всего трафика сеанса. Привязка канала происходит, когда клиентское приложение использует шифрование для подключения к SQL Server вне зависимости от принудительного применения шифрования клиентом или сервером.

Предупреждение

Поставщики данных SQL Server и Microsoft по умолчанию поддерживают только TLS 1.0 и SSL 3.0. Если применить другой протокол (например, TLS 1.1 или TLS 1.2), внеся изменения на уровне операционной системы SChannel, при подключении к SQL Server может возникнуть ошибка. Убедитесь, что у вас установлена последняя сборка SQL Server для поддержки TLS 1.1 или TLS 1.2. Дополнительные сведения см. в разделе https://support.microsoft.com/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe.

Поддержка операционных систем

Дополнительные сведения о поддержке расширенной защитыв ОС Windows можно найти по следующим ссылкам:

Настройки

Имеются три параметра подключения к SQL Server, влияющие на привязку служб и привязку каналов. Эти параметры можно настроить с помощью диспетчера конфигурации SQL Server или с помощью WMI, для их просмотра можно воспользоваться аспектом Параметры протокола сервера управления на основе политик.

  • Принудительное шифрование

    Возможные значения — Вкл. и Выкл. Для использования привязки каналов параметр Принудительное шифрование должен быть установлен в значение Вкл. и все клиенты должны принудительно выполнять шифрование. При значении Выкл. гарантируется только привязка служб. ПараметрПринудительное шифрование — это один из флажков на вкладке Свойства протоколов для MSSQLSERVER (вкладка "Флаги") в диспетчере конфигурации SQL Server.

  • Расширенная защита

    Возможными значениями являются Выкл. , Разрешенои Обязательно. Параметр Расширенная защита позволяет настраивать уровень расширенной защиты для каждого экземпляра SQL Server. ПараметрРасширенная защита находится на дополнительной вкладке Свойства протоколов для MSSQLSERVER в диспетчере конфигурации SQL Server.

    • Если задано значение Выкл. , Расширенная защита отключается. Экземпляр SQL Server принимает соединения от всех клиентов, независимо от того, является клиент защищенным или нет. При заданииВыкл. обеспечивается совместимость с предыдущими версиями операционных систем и версиями без установленных обновлений, но этот режим отличается меньшей безопасностью. Этот параметр может быть использован только в том случае, если известно, что клиентские операционные системы не поддерживают расширенную защиту.

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

    • Если выбрано Обязательно, то будут приниматься только соединения от защищенных приложений на защищенных операционных системах. Этот параметр обеспечивает наиболее высокий уровень защиты, но из операционных систем, которые не поддерживают расширенную защиту, нельзя будет подключиться к SQL Server.

  • Принятые имена участников-служб NTLM

    Переменная Принятые имена участников-служб NTLM необходима в том случае, когда для сервера известно более одного имени участника-службы. Когда клиент попытается подключиться к серверу с допустимым именем участника-службы, которое неизвестно серверу, то привязка службы завершится ошибкой. Чтобы избежать этого, пользователь может указать несколько имен участников-служб, представляющих сервер, с помощью параметра Принятые имена участников-служб NTLM. ПеременнаяПринятые имена участников-служб NTLM содержит последовательность имен участников-служб, перечисленных через точку с запятой. Например, чтобы разрешить имена участников-служб MSSQLSvc/ HostName1.Contoso.com и MSSQLSvc/ HostName2.Contoso.com, введите MSSQLSvc/HostName1.Contoso.com;MSSQLSvc/HostName2.Contoso.com в поле Принятые имена участников-служб NTLM . Максимальная длина этой переменной 2 048 символов. ПараметрПринятые имена участников-служб NTLM находится на дополнительной вкладке Свойства протоколов для MSSQLSERVER в диспетчере конфигурации SQL Server.

Включение расширенной защиты для компонента Database Engine

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

SQL Server поддерживает расширенную защиту, начиная с SQL Server 2008 R2 (10.50.x). Расширенная защита для некоторых предыдущих версий SQL Server будет доступна в следующих выпусках. После включения параметра Расширенная защита на компьютере сервера выполните следующие шаги, чтобы включить расширенную защиту.

  1. В меню Пуск выберите последовательно Все программы, Microsoft SQL Server и Диспетчер конфигурации SQL Server.

  2. Разверните узел Конфигурация сети SQL Server, щелкните правой кнопкой мыши элемент Протоколы для _<_Имя_экземпляра*>*, а затем выберите пункт Свойства.

  3. Для привязки каналов и служб на вкладке Дополнительно установите значение Расширенная защита для соответствующих параметров.

  4. Кроме того, если сервер имеет несколько имен участников-служб, то на вкладке Дополнительно настройте поле Принятые имена участников-служб NTLM , как описано в разделе «Параметры».

  5. Для привязки канала на вкладке Флаги установите параметр Принудительное шифрование в значение Вкл.

  6. Перезапустите службу ядра СУБД.

Настройка других компонентов SQL Server

Дополнительные сведения о настройке Reporting Services см. в разделе Расширенная защита для проверки подлинности служб Reporting Services.

При использовании IIS для получения доступа к данным Analysis Services по соединению с протоколами HTTP или HTTPS службы Analysis Services могут использовать расширенную защиту, реализуемую IIS. Дополнительные сведения о настройке IIS для использования расширенной защиты см. в разделе Настройка расширенной защиты в IIS 7.5.

См. также:

Сетевая конфигурация сервера
Конфигурация клиентской сети
Общие сведения о расширенной защите для проверки подлинности
Интегрированная проверка подлинности Windows с расширенной защитой