Управління доступом до функціональних можливостей компонентів


Для зменшення поверхні атаки і поліпшення безпеки сервера слід включити тільки ті функціональні можливості, які дійсно потрібно для роботи користувачів і додатків. Це обмежить набір способів для зловмисного використання сервера і закриє шляхи можливої атаки. Хоча конфігурацією поверхні атаки можна управляти через налаштування параметрів в SQL Server Management Studio і через процедури, що зберігаються, найпростішим способом все ж буде використання утиліти адміністрування SQL Server 2005 Surface Area Configuration. Вона дає можливість управляти усіма запущеними екземплярами Database Engine (Ядро бази даних), Analysis Services (Аналітичні служби) і Reporting Services (Служби звітів).

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

Щоб перевірити або змінити налаштування функціональних можливостей, що визначають поверхню атаки, виконаєте наступну послідовність дій.

Запустите утиліту SQL Server 2005 Surface Area Configuration, потім клацніть посилання Surface Area Configuration For Features (Налаштування поверхні атаки для функціональних можливостей), яке знаходиться в головному вікні.

У діалоговому вікні Surface Area Configuration For Features (Налаштування поверхні атаки для функціональних можливостей) виберіть вкладку View By Instance (Перегляд по екземплярах) і розкрийте вузол екземпляра SQL Server, з яким працюватимете, наприклад екземпляр за умовчанням MSSQLSERVER.

У таблиці. 3-1 перераховані функціональні можливості компонентів, визначальні поверхню атаки, якими можна управляти для Database Engine (Ядро бази даних), Analysis Services (Аналітичні служби) і Reporting Services (Служби звітів). Виберіть можливість, яку необхідно настроїти, як показано на мал. 3-5.

Включите можливість, встановивши відповідний прапорець. Або, при необхідності, відключите її, знявши прапорець.

Клацніть кнопку Apply (Застосувати).

 

 

Мал. 3-5. Прапорець для включення або виключення функціональної можливості, що визначає поверхню атаки

Таблиця. 3-1. Функціональні можливості компонентів, визначальні поверхню атаки

Функціональна можливість Database Engine (Ядро бази даних) Ad Hoc Remote Queries (Видалені нерегламентовані запити) CLR Integration (Інтеграція із загальномовним виконуючим середовищем) Database Mail Опис Функції openrowset() і opendatasource() можуть використовувати довільні підключення для роботи з видаленими джерелами даних, без спеціально налагоджених адміністратором пов'язаних або видалених серверів. Якщо додатки або сценарії використовують вказані функції, їх слід дозволити. Інакше ця можливість має бути відключена Інтеграція із загальномовним виконуючим середовищем дозволяє писати процедури, що зберігаються, тригери, призначені для користувача типи даних і призначені для користувача функції, використовуючи VB.NET, C# і будь-які інші мови, підтримувані .NET Framework. Якщо додатки або сценарії використовують мови .NET Framework, включите цю можливість. Інакше її слід відключити Компонент Database Mail прийшов на зміну службі SQL Mail. Для відправки повідомлень електронної пошти, що використовують протокол SMTP, рекомендується саме він. Включите цю можливість, коли необхідно, щоб додатки і сценарії використовували процедуру sp_send_dbmail, що зберігалася, для відправки повідомлень електронної пошти (для цього слід створити БД поштового сервера, виконавши на сервері сценарій %ProgramFiles%\ Microsoft SQL Server\MSSQL.1\MSSQL\Install\Install_ DBMail_Upgrade.sql, і необхідні поштові профілі БД). Інакше ця можливість має бути відключена
Функціональна можливість DAC ((виділене з'єднання адміністратора) Native XML Web Services (Власні веб-служби XML) OLE Automation (Автоматизація OLE) Service Broker (Брокер служб) Опис Запускаючи утиліту командного рядка SQLCMD з параметром - A, адміністратори можуть встановити виділене з'єднання з SQL Server для виконання операцій обслуговування з командного рядка. З'єднання може бути локальним і видаленим. За умовчанням дозволені тільки локальні виділені з'єднання. Якщо необхідно дозволити видалені виділені з'єднання, включите цю можливість. Інакше вона має бути відключена За допомогою Native XML Web Services можна дістати доступ до SQL Server через протокол HTTP, використовуючи повідомлення SOAP (simple object access protocol*, простий протокол доступу до об'єктів). Повідомлення SOAP містять текстові команди, які форматуються за допомогою XML. Якщо планується використовувати SOAP для обміну даними і для цього були налагоджені необхідні кінцеві точки HTTP, можна встановити стан кожної кінцевої точки як Started (Запущена), Stopped (Зупинена) або Disabled (Відключена). Якщо кінцеві точки HTTP не були визначені, ця можливість недоступна для налаштування і управління. Слід зазначити, що веб-служба Report Server (Сервер звітів), компонент ядра бази даних SQL Server Service Broker (Брокер служб SQL Server) і компоненти, що здійснюють дзеркальне відображення БД, використовують Native Web Services (Власні веб-служби XML), проте настроюються окремо Автоматизація OLE дозволяє в пакетах інструкцій Transact - SQL, процедурах, що зберігаються, і тригерах звертатися до об'єктів SQL DMO (SQL Distributed Management Objects, розподілені об'єкти управління SQL) і призначеним для користувача об'єктам автоматизації OLE. Включите цю можливість, якщо необхідно використовувати автоматизацію OLE, у тому числі розширені процедури sp_OACreate, що зберігаються, sp_OADestroy, sp_OAGetErrorInfo, sp_OAGetProperty, sp_OAMethod, sp_OASetProperty і sp_OAStop. Інакше ця можливість має бути відключена Service Broker (Брокер служб) забезпечує для ядра бази даних організацію черг повідомлень, обмін повідомленнями і використовується додатками для зв'язку між екземплярами SQL Server. Якщо при цьому визначені необхідні кінцеві точки HTTP, стан кожної з них можна настроїти як Started (Запущена), Stopped (Зупинена) або Disabled (Відключена). Якщо ж кінцеві точки HTTP не були визначені, ця можливість недоступна для налаштування і управління
Функціональна можливість SQL Mail Web Assistant xp_cmdshell Analysis Services (Аналітичні служби) Ad Hoc Data Mining Queries (Нерегламентовані запити для пошуку знань в даних) Опис Служба SQL Mail використовується для відправки повідомлень електронної пошти з додатків, що підтримують протокол SMTP, які були написані для попередніх версій SQL Server. Якщо необхідно, щоб успадковані застосування і сценарії використовували процедуру xp_sendmail, що зберігалася, для відправки повідомлень електронної пошти з SQL Server, включите цю можливість. Інакше вона має бути відключена У попередніх версіях SQL Server процедури утиліти Web Assistant Wizard, що зберігаються, могли бути використані для генерування файлів HTML на підставі даних SQL Server. У SQL Server 2005 Reporting Services (Служби звітів) прийшли на зміну цим процедурам, що зберігалися, надаючи ширші функціональні можливості і параметри налаштування. Якщо необхідно підтримувати успадковані застосування або сценарії, які використовують процедури Web Assistant Wizard, що зберігаються, включите цю можливість. Інакше вона має бути відключена Процедура xp_cmdshell, що зберігається, виконує рядки команд, використовуючи командний процесор операційної системи, і повертає результати у вигляді текстових рядків. Коли необхідно, щоб додатки і сценарії запускали команди операційної системи, треба включити цю можливість. За умовчанням тільки члени вбудованої ролі сервера sysadmin можуть виконувати процедуру xp_cmdshel, що зберігається, але можна дозволити виконувати її і іншим користувачам. Для користувачів, що є членами ролі сервера sysadmin, процедура xp_cmdshell, що зберігається, виконується в контексті безпеки самої служби SQL Server. Для інших користувачів xp_cmdshell виконуватиметься в контексті безпеки представницького облікового запису SQL Server Agent (яку можна визначити, використовуючи процедуру xp_sqlagent_proxy_account, що зберігається). Якщо представницький обліковий запис недоступний, запуск xp_cmdshell завершиться невдало) Функція openrowset() мови DMX (Data Mining Extensions - розширення мови SQL для пошуку знань в даних) встановлює з'єднання з об'єктом джерела даних, використовуючи ім'я постачальника даних і рядок з'єднання. Це дозволяє встановлювати довільні з'єднання до видалених джерел даних і не вимагає від адміністратора спеціально настроювати пов'язані або видалені сервери. Включите цю можливість, якщо додатки або сценарії використовують функцію openrowset() для операцій пошуку знань в даних. Інакше ця можливість має бути відключена, що не дозволить додаткам передавати ім'я постачальника і рядки з'єднання при використанні функції openrowset()
Функціональна можливість Anonymous Connections (Анонімні з'єднання) Linked Objects (Пов'язані об'єкти) User - defined Functions (Призначені для користувача функції) Reporting Services (Служби звітів) Scheduled Events and Report Delivery (Події і доставка звітів за розкладом) HTTP and Web Service Requests (Запити HTTP і веб-служб) Опис Використовуючи анонімні з'єднання, неаутентифициро- ванні користувачі можуть встановити з'єднання з Analysis Services (Аналітичні служби). Включите цю можливість, якщо додатки і сценарії вимагають доступу неаутентифицированных користувачів. Інакше відключите її У Analysis Services (Аналітичні служби) можна використовувати пов'язані об'єкти для об'єднання вимірів і груп заходів між серверами. Якщо необхідно, щоб Analysis Server (Аналітичний сервер) зв'язував об'єкти з інших екземплярів, встановите прапорець Enable links to other instances (Дозволити з'єднання з іншими екземплярами). Коли треба, щоб інші екземпляри зв'язували об'єкти з вашого Analysis Server (Аналітичний сервер), встановите прапорець Enable links from other instances (Дозволити з'єднання з інших екземплярів). Якщо ж зв'язування вимірів і груп заходів не використовується, зніміть обидва прапорці для відключення цієї можливості Analysis Services (Аналітичні служби) інтегровані з .NET Framework і завантажують складки, що містять призначені для користувача функції. Ці функції можуть бути написані з використанням об'єктів CLR або COM. Об'єкти і функції CLR мають інтегровану модель безпеки. Об'єкти COM не використовують таку модель, отже, вони менш безпечні. Включите цю можливість, якщо додатки і сценарії використовують призначені для користувача функції COM. Інакше відключите її, щоб дозволити тільки функції CLR У Report Services (Служби звітів) використовуються звіти на вимогу і звіти за розкладом. Зазвичай при установці Reporting Services (Служби звітів) обидва типи звітів включено. Якщо звіти за розкладом не використовуються, можна відключити цю можливість, знявши прапорець Enable Scheduled Events And Report Delivery (Включити події і доставку звітів за розкладом) Для зв'язку компонентів Report Services (Служби звітів) використовують обмін повідомленнями SOAP через протокол HTTP. З його допомогою також виконується обробка запитів доступу до адрес URL (Uniform Resource Locator - однаковий визначник місця розташування ресурсу). Ці можливості управляються веб-службою Report Server (Сервер звітів) і дозволяють працювати з Reporting Services (Служби звітів), використовуючи такі утиліти, як Report Manager (Диспетчер звітів) Report Builder (Конструктор звітів) і SQL Server Management Studio. Зазвичай при установці Reporting Services (Служби звітів) обробка запитів HTTP і веб-служб включена. Якщо Reporting Services (Служби звітів) не використовуються, відключите цю можливість, знявши прапорець Enable Web Service And URL Access (Дозволити доступ веб-служб і доступ до адрес URL)