Встроенные средства безопасности и повышенные разрешения
Выполнение отчета под учетной записью, обладающей преобразованными разрешениями, несет в себе угрозу безопасности SQL Server, поскольку запросы, содержащиеся в отчетах, могут содержать злонамеренные инструкции Transact-SQL (например инструкции, которые могут создавать неавторизованные соединения, изменять или удалять данные, либо вносить неверные данные), а отчет выполняется пользователем, имеющим преобразованные разрешения на сервере, на котором размещен источник данных. Например если злоумышленник публикует отчет, содержащий вредоносный запрос, то этот запрос будет выполнен с правами администратора при соблюдении одного из следующих условий:
- Источник данных отчета сконфигурирован на использование встроенной безопасности, и пользователь, выполняющий отчет, зарегистрирован в системе как администратор.
- Источник данных отчета сконфигурирован на запрос учетных данных, а пользователь вводит для выполнения отчета учетные данные администратора.
Рекомендуемые методы сдерживания такого рода атак
Чтобы противодействовать этой угрозе, для обеспечения безопасности воспользуйтесь следующими рекомендациями:
- Для доступа к внешним источникам данных, поставляющим данные для отчета, пользуйтесь учетными записями с наименьшими правами доступа. Можно настроить источники данных для отчета таким образом, чтобы они всегда использовали сохраненные учетные данные учетной записи с наименьшими правами доступа.
- Используйте для указания сведений о соединении с источником данных общие источники данных. Для управления доступом к строке соединения и настройкам, определяющим, каким образом во время выполнения передаются учетные данные, можно использовать назначение ролей.
- Пользуйтесь назначением ролей и процессами потока операций, чтобы обеспечить публикацию на сервере только надежных отчетов. Назначение ролей позволяет ограничить возможности публикации отчетов только определенным набором папок, а затем обязать администраторов проверять каждый RDL-файл (и запрос) вновь опубликованного отчета, прежде чем он будет перемещен в место постоянного расположения. Обратите внимание на то, что службы Reporting Services не предоставляют способа обеспечения выполнения стандартных эксплуатационных процедур, которые определены для вашей организации. В них не предусматривается возможность принудительной предварительной проверки перед публикацией.
- Отключите встроенную авторизацию, чтобы предотвратить передачу учетных данных для соединения с источником данных отчета.
Использование встроенной безопасности для доступа к внешним источникам данных представляет особую проблему для тех пользователей, которые могут не знать, что их маркер безопасности передается внешнему источнику данных (пользователи не получают перед выполнением отчета предупреждения о том, что отчет сконфигурирован на использование встроенной безопасности). Кроме того, пользователи, открывая отчет, могут не испытывать тех сомнений, которые испытывали бы, открывая вложение в сообщении электронной почты, полученном из неизвестного источника, хотя с точки зрения безопасности в обоих случаях риск одинаков. Злонамеренный запрос может повредить или подвергнуть опасности сервер или причинить ему ущерб таким же образом, каким вредоносный сценарий, выполненный по открытии гиперссылки или скрытого вложения в электронное письмо, может повредить или подвергнуть опасности рабочую станцию.
Обратите внимание на то, что при отключении встроенной безопасности перестанут работать все источники данных, настроенные (как до, так и после отключения) на ее использование. Если на сервере отчетов не поддерживается встроенная авторизация, будет возвращаться следующая ошибка: «Источник данных настроен для использования встроенной авторизации Windows, но встроенная авторизация для этого сервера отключена».
Чтобы отключить безопасность Windows, сбросьте флажок Разрешить встроенную безопасность Windows для источников данных отчетов в средстве конфигурации контактной зоны SQL Server. Этот параметр доступен в разделе «Службы Reporting Services» в диалоговом окне «Конфигурация контактной зоны для компонентов». Можно также воспользоваться сценарием или программными возможностями, изменяющими системное свойство EnableIntegratedSecurity. Дополнительные сведения см. в разделах Диспетчер конфигурации SQL Server и Report Server System Properties.
См. также
Основные понятия
Обеспечение безопасности служб Reporting Services