Расширенная защита для проверки подлинности служб Reporting Services
Расширенная защита — это набор усовершенствований, внесенных в последние версии операционной системы Microsoft Windows. С помощью расширенной защиты приложения могут лучше защищать учетные данные и проверку подлинности. Сама эта функция не обеспечивает защиту от определенных атак, например, таких как переадресация учетных данных, однако она предоставляет таким приложениям, как службы Reporting Services, инфраструктуру для ввода в действие расширенной защиты проверки подлинности.
Основными улучшениями процесса проверки подлинности, которые входят в расширенную защиту, являются привязка службы и привязка канала. Для привязки канала используется токен привязки канала (CBT), позволяющий удостовериться в целостности канала, установленного между двумя конечными точками. При привязке службы для проверки пункта назначения токенов проверки подлинности используются имена участников-служб (SPN). Дополнительные сведения о расширенной защите см. в разделе Интегрированная проверка подлинности Windows с расширенной защитой.
SQL Server 2019 (15.x) Reporting Services поддерживает и применяет расширенную защиту, которая была включена в операционной системе и настроена в Reporting Services. По умолчанию Reporting Services принимает запросы, в которых указана проверка подлинности Negotiate или NTLM, что позволяет ему пользоваться поддержкой расширенной защиты в операционной системе и функциями расширенной защиты в службах Reporting Services.
Важно!
По умолчанию расширенная защита в Windows отключена. Дополнительные сведения о включении расширенной защиты в Windows см. в разделе Расширенная защита для проверки подлинности. Для успешного прохождения проверки подлинности и операционная система, и стек проверки подлинности клиента должны поддерживать расширенную защиту. При использовании старых операционных систем для реализации на компьютере расширенной защиты может потребоваться установка нескольких обновлений. Сведения о последних изменениях, внесенных в расширенную защиту, см. в статье Новые сведения о расширенной защите.
Общие сведения о расширенной защите служб Reporting Services
SQL Server 2019 (15.x) Reporting Services поддерживает и применяет расширенную защиту, включенную в операционной системе. Если операционная система не поддерживает расширенную защиту или если эта функция в операционной системе отключена, то функция расширенной защиты служб Reporting Services не сможет провести проверку подлинности. Reporting Services расширенной защиты также требуется SSL-сертификат. Дополнительные сведения см. в разделе Настройка соединений SSL для сервера отчетов, работающего в собственном режиме.
Важно!
По умолчанию расширенная защита в Reporting Services отключена. Эту функцию можно включить, изменив файл конфигурации rsreportserver.config
или обновив этот файл с помощью средств WMI API. SQL Server 2019 (15.x)Reporting Services не предоставляет пользовательский интерфейс для изменения или просмотра параметров расширенной защиты. Дополнительные сведения см. в разделе с описанием параметров конфигурации в этой главе.
Обычные проблемы, возникающие из-за изменений параметров расширенной защиты или неверно заданных настроек, не сопровождаются понятными сообщениями об ошибках или диалоговыми окнами. Проблемы, связанные с конфигурацией расширенной защиты и совместимостью, ведут к возникновению сбоев при проверке подлинности и ошибок в журналах трассировки служб Reporting Services.
Важно!
Некоторые технологии доступа к данным могут не поддерживать расширенную защиту. Технология доступа к данным используется для подключения к источникам данных SQL Server и базе данных каталога служб Reporting Services. Если технология доступа к данным не поддерживает расширенную защиту, это влияет на службы Reporting Services следующим образом.
- На SQL Server, на котором расположен каталог базы данных служб Reporting Services, нельзя включать расширенную защиту, в противном случае сервер отчетов не сможет подключиться к каталогу базы данных и будет возвращать ошибки проверки подлинности.
- Ни на одном из серверов SQL Server, которые используются в качестве источников данных для отчетов служб Reporting Services, нельзя включать расширенную защиту, поскольку в случае ее включения попытки сервера отчетов подключиться к источнику данных для отчета завершатся неудачей и будут возвращены ошибки проверки подлинности.
В документации по технологии доступа к данным должны быть сведения о поддержке расширенной защиты.
Обновление
При обновлении сервера Reporting Services до SQL Server 2019 (15.x) в файл добавляются
rsreportserver.config
параметры конфигурации со значениями по умолчанию. Если параметры уже существуют, установка SQL Server 2019 (15.x) сохранит их вrsreportserver.config
файле .При добавлении параметров конфигурации в
rsreportserver.config
файл конфигурации по умолчанию Reporting Services функция расширенной защиты должна быть отключена, и необходимо включить эту функцию, как описано в этом разделе. Дополнительные сведения см. в разделе с описанием параметров конфигурации в этой главе.Значение по умолчанию для параметра
RSWindowsExtendedProtectionLevel
равноOff
.Значение по умолчанию для параметра
RSWindowsExtendedProtectionScenario
равноProxy
.SQL Server 2019 (15.x) Помощник по обновлению не проверяет, включена ли поддержка расширенной защиты для операционной системы или текущей установки Reporting Services.
Какие службы Reporting Services не охватываются расширенной защитой
Следующие области и варианты не поддерживаются функцией расширенной защиты служб Reporting Services:
Авторы настраиваемых модулей безопасности служб Reporting Services должны добавлять поддержку расширенной защиты в свои модули.
Сторонние компоненты, добавленные в установку служб Reporting Services или используемые ею, должны быть обновлены их поставщиками для обеспечения поддержки расширенной защиты. Обратитесь к сторонним поставщикам за дополнительными сведениями.
Рекомендации и варианты развертывания
Описанные далее варианты иллюстрируют разные развертывания и топологии, а также рекомендуемые конфигурации для их защиты с помощью расширенной защиты служб Reporting Services.
Прямой доступ
В этом сценарии описывается прямое соединение с сервером отчетов, например, в среде интрасети.
Сценарий | Диаграмма сценария | Инструкции по защите |
---|---|---|
Прямая связь по SSL. Сервер отчетов принудит клиента использовать привязку канала сервера отчетов. |
1) Клиентское приложение 2) Сервер отчетов |
Привязка службы не требуется, поскольку для привязки канала будет использоваться канал SSL. Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Direct . |
Прямая связь по HTTP. Сервер отчетов принудит клиента использовать привязку службы сервера отчетов. |
1) Клиентское приложение 2) Сервер отчетов |
Канал SSL отсутствует, поэтому введение в действие привязки канала невозможно. Привязку службы можно проверить, однако такая защита привязки канала является неполной; одна привязка службы защищает только от простых угроз. Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Any . |
Прокси и распределение сетевой нагрузки
Клиентские приложения подключаются к устройству или программному обеспечению, которое использует SSL и передает учетные данные серверу для проверки подлинности, например, в экстрасети, Интернете или защищенной интрасети. Клиент подключается к прокси или все клиенты используют прокси.
Такая же ситуация складывается при использовании устройства распределения сетевой нагрузки (NLB).
Сценарий | Диаграмма сценария | Инструкции по защите |
---|---|---|
Связь по HTTP. Сервер отчетов принудит клиента использовать привязку службы сервера отчетов. |
1) Клиентское приложение 2) Сервер отчетов 3) Прокси |
Канал SSL отсутствует, поэтому введение в действие привязки канала невозможно. Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Any .Обратите внимание, что сервер отчетов должен быть настроен на знание имени прокси-сервера, чтобы убедиться, что привязка службы правильно применяется. |
Связь по HTTP. Сервер отчетов принудит клиента использовать привязку канала прокси и привязку службы сервера отчетов. |
1) Клиентское приложение 2) Сервер отчетов 3) Прокси |
Имеется канал SSL к прокси, поэтому можно ввести в действие привязку канала к прокси. Привязку службы также можно ввести в действие. Сервер отчетов должен знать имя прокси, а администратор сервера отчетов должен либо создать для него резервирование URL-адреса с заголовком узла, либо указать имя прокси в записи реестра Windows BackConnectionHostNames .Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Proxy . |
Непрямая связь по HTTPS с защищенным прокси. Сервер отчетов принудит клиента использовать привязку канала прокси и привязку службы сервера отчетов. |
1) Клиентское приложение 2) Сервер отчетов 3) Прокси |
Имеется канал SSL к прокси, поэтому можно ввести в действие привязку канала к прокси. Привязку службы также можно ввести в действие. Сервер отчетов должен знать имя прокси, а администратор сервера отчетов должен либо создать для него резервирование URL-адреса с заголовком узла, либо указать имя прокси в записи реестра Windows BackConnectionHostNames .Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Proxy . |
Шлюз
В этом сценарии клиентское приложение соединяется с устройством или программным обеспечением, использующим SSL и выполняющим проверку подлинности пользователя. Затем устройство или программное обеспечение олицетворяет контекст данного пользователя или контекст другого пользователя перед отправкой запроса серверу отчетов.
Сценарий | Диаграмма сценария | Инструкции по защите |
---|---|---|
Непрямая связь по HTTP. Шлюз принудит клиента использовать привязку канала шлюза. На пути к привязке службы сервера отчетов имеется шлюз. |
1) Клиентское приложение 2) Сервер отчетов 3) Шлюзовое устройство |
Привязка канала от клиента к серверу отчетов невозможна, поскольку шлюз олицетворяет контекст, т. е. создает новый токен NTLM. На промежутке от шлюза до сервера отчетов нет SSL, поэтому ввести в действие привязку канала невозможно. Привязку службы ввести в действие можно. Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Any .Администратор должен настроить шлюзовое устройство на введение в действие привязки канала. |
Непрямая связь по HTTPS с защищенным шлюзом. Шлюз принудит клиента использовать привязку канала шлюза, а сервер отчетов принудит шлюз использовать привязку канала сервера отчетов. |
1) Клиентское приложение 2) Сервер отчетов 3) Шлюзовое устройство |
Привязка канала от клиента к серверу отчетов невозможна, поскольку шлюз олицетворяет контекст, т. е. создает новый токен NTLM. SSL от шлюза к серверу отчетов означает, что привязка канала может быть принудительно применена. Привязка службы не требуется. Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Direct .Администратор должен настроить шлюзовое устройство на введение в действие привязки канала. |
Сочетание
В этом сценарии описывается экстрасеть или Интернет в ситуации, когда клиент устанавливает соединение с прокси. Происходит это в сочетании со средой интрасети, в которой клиент устанавливает соединение с сервером отчетов.
Сценарий | Диаграмма сценария | Инструкции по защите |
---|---|---|
Непрямой и прямой доступ от клиента к службе сервера отчетов без SSL по каналу между клиентом и прокси или клиентом и сервером отчетов. | 1) Клиентское приложение 2) Сервер отчетов 3) Прокси 4) Клиентское приложение |
Привязку службы от клиента к серверу отчетов можно ввести в действие. Сервер отчетов должен знать имя прокси, а администратор сервера отчетов должен либо создать для него резервирование URL-адреса с заголовком узла, либо указать имя прокси в записи реестра Windows BackConnectionHostNames .Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Any . |
Непрямой и прямой доступ от клиента к серверу отчетов, когда клиент устанавливает соединение SSL с прокси или сервером отчетов. |
1) Клиентское приложение 2) Сервер отчетов 3) Прокси 4) Клиентское приложение |
Можно использовать привязку канала. Сервер отчетов должен знать имя прокси, а администратор сервера отчетов должен либо создать для прокси резервирование URL-адреса с заголовком узла, либо указать имя прокси в записи реестра Windows BackConnectionHostNames .Присвойте параметру RSWindowsExtendedProtectionLevel значение Allow или Require .Задайте для параметра RSWindowsExtendedProtectionScenario значение Proxy . |
Настройка расширенной защиты служб Reporting Services
Файл rsreportserver.config
содержит значения конфигурации, управляющие поведением Reporting Services расширенной защиты.
Дополнительные сведения об использовании и редактировании файла см. в rsreportserver.config
разделе Файл конфигурации RSReportServer. Параметры расширенной защиты также можно изменить и просмотреть с помощью средств WMI API. Дополнительные сведения см. в разделе Метод SetExtendedProtectionSettings (WMI MSReportServer_ConfigurationSetting).
Если параметры конфигурации не проходят проверку, на сервере отчетов отключаются типы проверки подлинности RSWindowsNTLM
, RSWindowsKerberos
и RSWindowsNegotiate
.
Параметры конфигурации для расширенной защиты служб Reporting Services
В следующей таблице приведены сведения о параметрах конфигурации, приведенных в файле rsreportserver.config
для расширенной защиты.
Параметр | Описание |
---|---|
RSWindowsExtendedProtectionLevel |
Указывает степень использования расширенной защиты. Допустимые значения: Off , Allow и Require .Значение по умолчанию — Off .Значение Off указывает отсутствие проверки привязки канала или привязки службы.Значение Allow означает поддержку расширенной защиты, при этом она не является обязательной. Значение Allow указывает следующее:Расширенная защита будет действовать для клиентских приложений, работающих в операционных системах, которые поддерживают расширенную защиту. То, как защита вводится в действие, определяется параметром RsWindowsExtendedProtectionScenario .Проверка подлинности будет разрешена для приложений, работающих в операционных системах, которые не поддерживают расширенную защиту. Значение Require указывает, что:Расширенная защита будет действовать для клиентских приложений, работающих в операционных системах, которые поддерживают расширенную защиту. Проверка подлинности не будет разрешена для приложений, работающих в операционных системах, которые не поддерживают расширенную защиту. |
RsWindowsExtendedProtectionScenario |
Указывает, какие формы расширенной защиты проверяются: привязка канала, привязка службы или оба варианта. Допустимые значения: Any , Proxy и Direct .Значение по умолчанию — Proxy .Значение Any указывает, что:— Аутентификация Windows NTLM, Kerberos и Negotiate и привязка канала не требуется. — Привязка службы применяется принудительно. Значение Proxy указывает, что:— Аутентификация Windows NTLM, Kerberos и Negotiate при наличии маркера привязки канала. — Привязка службы применяется принудительно. Значение Direct указывает, что:— Аутентификация Windows NTLM, Kerberos и Negotiate при наличии компьютеризованного обучения, соединения SSL с текущей службой и совпадении компьютеризованного обучения для соединения SSL с компьютеризованным обучением маркера NTLM, Kerberos или Negotiate. — Привязка службы не применяется принудительно. Примечание. Этот параметр игнорируется, если RsWindowsExtendedProtectionLevel имеет значение OFF . |
Образцы записей из файла конфигурации rsreportserver.config
:
<Authentication>
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionLevel>
</Authentication>
Привязка службы и включенные SPN
Привязка службы использует для проверки пункта назначения токенов проверки подлинности имена участников-служб (SPN). Reporting Services используют сведения о существующем резервировании URL-адресов для создания списка допустимых SPN. Благодаря использованию сведений резервирования URL-адреса для проверки и SPN и резервирования URL-адреса системные администраторы могут управлять обеими проверками из одного места.
Список действующих SPN обновляется при запуске сервера отчетов, при изменении параметров конфигурации расширенной защиты или при очистке домена приложений.
У каждого из приложений — свой список допустимых SPN. Например, диспетчер отчетов и сервер отчетов будут вычислять разные списки допустимых SPN.
Список допустимых SPN, вычисляемый для приложения, определяется следующими факторами:
Каждое резервирование URL-адресов.
Каждый SPN, полученный от контроллера домена для учетной записи служб Reporting Services.
Если в резервировании URL-адреса есть символы-шаблоны («*» или «+»), то сервер отчетов добавит каждую запись из коллекции узлов.
Источники коллекции узлов.
В следующей таблице перечислены потенциальные источники для коллекции узлов.
Тип источника | Описание |
---|---|
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 локального компьютера, а не виртуального сервера кластера. |
Дополнительные сведения см. в разделах Регистрация имени субъекта-службы (SPN) для сервера отчетов и Сведения о резервировании и регистрации URL-адресов (SSRS Configuration Manager).
См. также:
Подключение к ядру СУБД с помощью расширенной защитыдля проверки подлинности ОбзорВстроенная проверка подлинности Windows с расширенной защитойСоветы по безопасности Майкрософт. Расширенная защита для проверки подлинности Журнал трассировкислужбы сервера отчетовRSReportServer Файл конфигурацииSetExtendedProtectionSettings Method (WMI MSReportServer_ConfigurationSetting)