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


Подключение к ядру СУБД с расширенной защитой

Область применения:SQL Server

SQL Server поддерживает расширенную защиту , начиная с SQL Server 2008 R2 (10.50.x).

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

расширенная защита — это функция сетевых компонентов, реализованных операционной системой. Расширенная защита поддерживается в Windows 7 и Windows Server 2008 R2. Расширенная защита входит в пакет обновления для более старых операционных систем Microsoft.

SQL Server является более безопасным, если подключения выполняются с помощью расширенной защиты.

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

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

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

  • В атаках типа заманивания клиент вовлекается, чтобы подключиться к злоумышленнику добровольно.

  • В спуфинговой атаке клиент намерен подключиться к действительной службе, но не знает, что DNS и IP-маршрутизация подделаны, чтобы перенаправить подключение к злоумышленнику.

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

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

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

Привязка канала

Привязка канала устанавливает защищенный канал (Schannel) между клиентом и экземпляром службы SQL Server. Служба проверяет подлинность клиента, сравнивая маркер привязки канала клиента (CBT), специфичный для этого канала, с собственным CBT. Привязка канала противодействует как заманивающим атакам, так и атакам с подделкой пакетов. Тем не менее, это увеличивает затраты на выполнение, так как требуется шифрование 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 принимает подключения от любого клиента независимо от того, защищен ли клиент. Off совместим со старыми и неисправленными операционными системами, но менее безопасен. Используйте этот параметр, если клиентские операционные системы не поддерживают расширенную защиту.

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

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

Принятые SPNs NTLM

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

Включение расширенной защиты ядра СУБД

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

Хотя расширенная защита и NTLMv2 по умолчанию включены во всех поддерживаемых версиях Windows, расширенная защита по умолчанию не включена для подключений SQL Server. Пользователи должны вручную включить его в SQL Server Configuration Manager.

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

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

  1. В меню "Пуск" выберите Все программы, наведите указатель на Microsoft SQL Server, а затем выберите SQL Server Configuration Manager.

  2. Развернитеконфигурации сети SQL Server , а затем щелкните правой кнопкой мыши протокол ы __InstanceName**, а затем выберите Свойства.

  3. на вкладке Advanced установите Extended Protection на соответствующий параметр как для привязки канала, так и для привязки службы.

  4. При необходимости, если несколько SPN знают сервер, на вкладке "Дополнительно" настройте поле Принятые NTLM SPN, как описано в разделе "Настройки".

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

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

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

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

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