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


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

Расширенная защита — это набор усовершенствований, внесенных в последние версии операционной системы Microsoft Windows. Расширенная защита улучшает способ защиты учетных данных и проверки подлинности приложений. Сама функция не обеспечивает прямую защиту от конкретных атак, таких как перенаправление учетных данных, но предоставляет инфраструктуру для приложений, таких как службы Reporting Services, для применения расширенной защиты для проверки подлинности.

Основными улучшениями процесса проверки подлинности, которые входят в расширенную защиту, являются привязка службы и привязка канала. Привязка канала использует маркер привязки канала (CBT), чтобы убедиться, что канал, установленный между двумя конечными точками, не был скомпрометирован. При привязке службы для проверки пункта назначения токенов проверки подлинности используются имена участников-служб (SPN). Дополнительные сведения о расширенной защите см. в статье "Встроенная проверка подлинности Windows с расширенной защитой".

SQL Server Reporting Services (SSRS) поддерживает и применяет расширенную защиту, которая была включена в операционной системе и настроена в службах Reporting Services. По умолчанию Reporting Services принимает запросы, в которых указана проверка подлинности Negotiate или NTLM, что позволяет ему пользоваться поддержкой расширенной защиты в операционной системе и функциями расширенной защиты в службах Reporting Services.

Внимание

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

Обзор расширенной защиты служб Reporting Services

SSRS поддерживает и применяет расширенную защиту, которая была включена в операционной системе. Если операционная система не поддерживает расширенную защиту или компонент в операционной системе не включен, функция расширенной защиты служб Reporting Services завершается ошибкой проверки подлинности. Расширенная защита Reporting Services также требует TLS/SSL-сертификат. Дополнительные сведения см. в разделе "Настройка подключений TLS" на сервере отчетов в собственном режиме

Внимание

По умолчанию расширенная защита в Reporting Services отключена. Эту функцию можно включить, изменив файл конфигурации rsreportserver.config или используя API WMI для обновления файла конфигурации. В службах SSRS нет пользовательского интерфейса для изменения или просмотра параметров расширенной защиты. Дополнительные сведения см. в разделе с описанием параметров конфигурации в этой главе.

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

Внимание

Некоторые технологии доступа к данным могут не поддерживать расширенную защиту. Технология доступа к данным используется для подключения к источникам данных SQL Server и базе данных каталога служб Reporting Services. Если технология доступа к данным не поддерживает расширенную защиту, это влияет на службы Reporting Services следующим образом.

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

В документации по технологии доступа к данным должны быть сведения о поддержке расширенной защиты.

Обновление

  • При обновлении сервера служб Reporting Services до версии SQL Server 2016 в файл rsreportserver.config добавляются параметры конфигурации со значениями по умолчанию. Если параметры уже присутствуют, установка SQL Server 2016 сохраняет их в файле rsreportserver.config .

  • При добавлении параметров конфигурации в файл конфигурации rsreportserver.config поведение по умолчанию предназначено для функции расширенной защиты служб Reporting Services, и необходимо включить эту функцию, как описано в этой статье. Дополнительные сведения см. в разделе параметров конфигурации в этой статье.

  • Значение по умолчанию для параметра RSWindowsExtendedProtectionLevel равно Off.

  • Значение по умолчанию для параметра RSWindowsExtendedProtectionScenario равно Proxy.

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

Какие службы Reporting Services не охватываются расширенной защитой

Функция расширенной защиты служб Reporting Services не поддерживает следующие области функций и сценарии:

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

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

Сценарии развертывания и рекомендации

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

Напрямую

В этом сценарии описывается прямое соединение с сервером отчетов, например, в среде интрасети.

Сценарий Диаграмма сценария Инструкции по защите
Прямая связь по TLS.

Сервер отчетов принудительно применяет клиент к привязке канала сервера отчетов.
Схема, показывающая прямую связь TLS.

1) Клиентское приложение

2) Сервер отчетов
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Direct.



-Привязка службы не требуется, так как канал TLS используется для привязки канала.
Прямая связь по HTTP. Сервер отчетов принудительно применяет клиент к привязке службы сервера отчетов. Схема, показывющая http-связь.

1) Клиентское приложение

2) Сервер отчетов
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Any.



— Канал TLS отсутствует, поэтому введение в действие привязки канала невозможно.

-Привязка службы может быть проверена, однако она не является полной защитой без привязки канала и привязки службы только защищает от основных угроз.

Балансировка нагрузки прокси-сервера и сети

Клиентские приложения подключаются к устройству или программному обеспечению, которое использует TLS и передает учетные данные серверу для проверки подлинности, например в экстрасети, Интернете или защищенной интрасети. Клиент подключается к прокси или все клиенты используют прокси.

Ситуация аналогична использованию устройства балансировки сетевой нагрузки (NLB).

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

1) Клиентское приложение

2) Сервер отчетов

3) Прокси
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Any.



— Канал TLS отсутствует, поэтому введение в действие привязки канала невозможно.

— В настройках сервера отчетов должно быть указано имя прокси-сервера, чтобы сервер отчетов мог принудительно применять привязку службы должным образом.
Связь по HTTP.

Сервер отчетов применяет клиент к привязке прокси-канала и клиенту к привязке службы сервера отчетов.
Схема, показывающая непрямую связь SSL.

1) Клиентское приложение

2) Сервер отчетов

3) Прокси
Задайте значение .
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Proxy.



— Доступен канал TLS к прокси, поэтому можно ввести в действие привязку канала к прокси.

— Привязку службы также можно принудительно применить.

-Имя прокси-сервера должно быть известно серверу отчетов, а администратор сервера отчетов должен создать резервирование URL-адресов для него, заголовок узла или настроить имя прокси-сервера в записи BackConnectionHostNamesреестра Windows.
Непрямая связь по HTTPS с защищенным прокси. Сервер отчетов применяет клиент к привязке прокси-канала и клиенту к привязке службы сервера отчетов. Схема, показывающая непрямую связь HTTPS с безопасным прокси-сервером.

1) Клиентское приложение

2) Сервер отчетов

3) Прокси
Задайте значение .
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Proxy.



— Доступен канал TLS к прокси, поэтому можно ввести в действие привязку канала к прокси.

— Привязку службы также можно принудительно применить.

-Имя прокси-сервера должно быть известно серверу отчетов, а администратор сервера отчетов должен создать резервирование URL-адресов для него, заголовок узла или настроить имя прокси-сервера в записи BackConnectionHostNamesреестра Windows.

Шлюз

В этом сценарии клиентское приложение соединяется с устройством или программным обеспечением, использующим TLS и выполняющим проверку подлинности пользователя. Затем устройство или программное обеспечение олицетворяет контекст данного пользователя или контекст другого пользователя перед отправкой запроса серверу отчетов.

Сценарий Диаграмма сценария Инструкции по защите
Непрямая связь по HTTP.

Шлюз принудительно применяет привязку клиента к каналу шлюза. Существует шлюз для привязки службы сервера отчетов.
Схема, показывающая непрямую связь SSL.

1) Клиентское приложение

2) Сервер отчетов

3) Шлюзовое устройство
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Any.



-Привязка канала от клиента к серверу отчетов невозможна, так как шлюз олицетворяет контекст и, следовательно, создает новый токен NTLM.

-Нет TLS из шлюза к серверу отчетов, поэтому привязка канала не может быть применена.

— Привязку службы можно принудительно применить.

-Администратор должен настроить устройство шлюза для принудительной привязки канала.
Непрямая связь по HTTPS с защищенным шлюзом. Шлюз принудительно применяет привязку канала шлюза к шлюзу, а сервер отчетов применяет шлюз к привязке канала сервера отчетов. Схема, показывающая непрямую связь HTTPS с безопасным шлюзом.

1) Клиентское приложение

2) Сервер отчетов

3) Шлюзовое устройство
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Direct.



-Привязка канала от клиента к серверу отчетов невозможна, так как шлюз олицетворяет контекст и, следовательно, создает новый токен NTLM.

— Наличие TLS на промежутке от шлюза до сервера отчетов означает, что можно принудительно применить привязку канала.

-Привязка службы не требуется.

-Администратор должен настроить устройство шлюза для принудительной привязки канала.

Комбинация

В этом сценарии описаны экстрасети или интернет-среды, в которых клиент подключает прокси-сервер в сочетании с средой интрасети, где клиент подключается к серверу отчетов.

Сценарий Диаграмма сценария Инструкции по защите
Непрямой и прямой доступ от клиента к службе сервера отчетов без TLS по каналу между клиентом и прокси или клиентом и сервером отчетов. 1) Клиентское приложение

2) Сервер отчетов

3) Прокси

4) Клиентское приложение
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Any.



— Привязку службы от клиента к серверу отчетов можно принудительно применить.

-Имя прокси-сервера должно быть известно серверу отчетов, а администратор сервера отчетов должен создать резервирование URL-адресов для него, заголовок узла или настроить имя прокси-сервера в записи BackConnectionHostNamesреестра Windows.
Непрямой и прямой доступ от клиента к серверу отчетов, когда клиент устанавливает TLS-соединение с прокси или сервером отчетов. Схема, показывающая косвенный и прямой доступ от клиента к серверу отчетов.

1) Клиентское приложение

2) Сервер отчетов

3) Прокси

4) Клиентское приложение
Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require.

Задайте для параметра RSWindowsExtendedProtectionScenario значение Proxy.



— Можно использовать привязку канала.

-Имя прокси-сервера должно быть известно серверу отчетов, а администратор сервера отчетов должен создать резервирование URL-адресов для прокси-сервера, заголовок узла или настроить имя прокси-сервера в записи BackConnectionHostNamesреестра Windows.

Настройка расширенной защиты служб Reporting Services

Файл rsreportserver.config содержит значения конфигурации, управляющие поведением расширенной защиты служб Reporting Services.

Дополнительные сведения об использовании и изменении файла конфигурации rsreportserver.config см . в файле конфигурации RsReportServer.config. Параметры расширенной защиты также можно изменить и проверить с помощью API WMI. Дополнительные сведения см. в статье о методе SetExtendedProtectionSettings (WMI MSReportServer_ConfigurationSetting).

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

Параметры конфигурации для расширенной защиты служб Reporting Services

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

Параметр Description
RSWindowsExtendedProtectionLevel Указывает степень использования расширенной защиты. Допустимые значения:

Off: по умолчанию. Указывает на отсутствие проверки привязки канала или привязки службы.

Allow поддерживает расширенную защиту, но не требует ее. Указывает следующее.

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

-Проверка подлинности разрешена для приложений, работающих в операционных системах, которые не поддерживают расширенную защиту.

Require задает:

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

-Проверка подлинности не допускается для приложений, работающих в операционных системах, которые не поддерживают расширенную защиту.
RsWindowsExtendedProtectionScenario Указывает, какие формы расширенной защиты проверяются: привязка канала, привязка службы или то и другое. Допустимые значения:

Proxy: по умолчанию. Указывает следующее.

— Аутентификация Windows NTLM, Kerberos и Negotiate при наличии маркера привязки канала.

— Привязка службы применяется принудительно.

Any Указывает:

-Windows NTLM, Kerberos и Согласование проверки подлинности и привязка канала не требуются.

— Привязка службы применяется принудительно.

Direct Указывает:

— Аутентификация Windows NTLM, Kerberos и Negotiate при наличии компьютеризованного обучения, TLS-соединения с текущей службой и совпадении компьютеризованного обучения для TLS-соединения с компьютеризованным обучением маркера NTLM, Kerberos или Negotiate.

-Привязка службы не применяется.



Примечание. Параметр RsWindowsExtendedProtectionScenario игнорируется, если RsWindowsExtendedProtectionLevel задано значение OFF.

Образцы записей из файла конфигурации rsreportserver.config :

<Authentication>  
         <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>  
         <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionLevel>  
</Authentication>  

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

Привязка службы использует для проверки пункта назначения токенов проверки подлинности имена участников-служб (SPN). Reporting Services используют сведения о существующем резервировании URL-адресов для создания списка допустимых SPN. Сведения о резервировании URL-адресов для проверки резервирования имени субъекта-службы и URL-адресов позволяют системным администраторам управлять как из одного расположения.

Список допустимых имен субъектов-служб обновляется при возникновении одного из следующих действий:

  • Запускается сервер отчетов.
  • Параметры конфигурации для расширенной защиты изменяются.
  • Домен приложения перезапускается.

У каждого из приложений — свой список допустимых SPN. Например, диспетчер отчетов и сервер отчетов имеют разные списки допустимых субъектов-служб.

Следующие факторы определяют допустимые имена субъектов-служб, вычисляемые для приложения:

  • Каждое резервирование URL-адресов.

  • Каждое имя субъекта-службы, полученное из контроллера домена для учетной записи службы для служб Reporting Services.

  • Если резервирование URL-адресов содержит подстановочные знаки ("*" или "+"), сервер отчетов добавляет каждую запись из коллекции узлов.

Источники коллекции узлов.

В следующей таблице перечислены потенциальные источники для коллекции узлов.

Тип источника Description
ComputerNameDnsDomain Имя домена DNS, назначенное локальному компьютеру. Если локальный компьютер является узлом или кластером, используется доменное имя DNS виртуального сервера кластера.
ComputerNameDnsFullyQualified Полное имя DNS, служащее уникальным идентификатором локального компьютера. Это имя является сочетанием DNS-имени узла и dns-доменного имени, использующего имя узла формы.Имя домена. Если локальный компьютер является узлом или кластером, используется полное имя DNS виртуального сервера кластера.
ComputerNameDnsHostname Имя узла DNS локального компьютера. Если локальный компьютер является узлом или кластером, используется имя узла DNS виртуального сервера кластера.
ComputerNameNetBIOS Имя NetBIOS локального компьютера. Если локальный компьютер является узлом или кластером, используется имя NetBIOS виртуального сервера кластера.
ComputerNamePhysicalDnsDomain Имя домена DNS, назначенное локальному компьютеру. Если локальный компьютер является узлом или кластером, используется доменное имя DNS локального компьютера, а не виртуального сервера кластера.
ComputerNamePhysicalDnsFullyQualified Полное имя DNS, служащее уникальным идентификатором компьютера. Если локальный компьютер является узлом или кластером, используется полное имя DNS локального компьютера, а не виртуального сервера кластера.

Полное DNS-имя — это сочетание DNS-имени узла и dns-доменного имени, которое использует имя узла формы.Имя домена.
ComputerNamePhysicalDnsHostname Имя узла DNS локального компьютера. Если локальный компьютер является узлом или кластером, используется имя узла DNS локального компьютера, а не виртуального сервера кластера.
ComputerNamePhysicalNetBIOS Имя NetBIOS локального компьютера. Если локальный компьютер является узлом в кластере, это имя NetBIOS локального компьютера, а не имя виртуального сервера кластера.

Дополнительные сведения см. в разделе "Регистрация имени субъекта-службы" для сервера отчетов и регистрации URL-адресов (диспетчер конфигурации сервера отчетов).