Автор: Пользователь скрыл имя, 17 Марта 2013 в 20:02, курсовая работа
Окрім крадіжки інформації є можливість її пошкодження внаслідок помилки оператора або неправильно написаного додатка. Наслідки таких дій можуть спричинити серйозні фінансові втрати. Наприклад, якщо дані про клієнтів будуть втрачені, доведеться наново збирати потрібну інформацію. А це втрата часу та фінансів.
1. ПРАВИЛА БЕЗПЕКИ 3
2. АРХІТЕКТУРА СИСТЕМИ БЕЗПЕКИ SQL SERVER 2000 6
2.1. РЕЖИМИ АУТЕНТИФІКАЦІЇ 7
2.2. КОМПОНЕНТИ СТРУКТУРИ БЕЗПЕКИ 10
2.3. РОЛІ СЕРВЕРА 15
2.4. РОЛІ БАЗ ДАНИХ 16
2.5. РОЛІ ПРОГРАМИ 19
2.6. ЗАХИСТ ДАНИХ 21
Шифрування даних 21
3. ОБМЕЖЕННЯ ДОСТУПУ ДО ФАЙЛІВ SQL SERVER 22
3.1. ПРАВА ДОСТУПУ 23
3.2. ПРАВА НА ДОСТУП ДО ОБ'ЄКТІВ БАЗ ДАНИХ 24
3.3. ЗАБОРОНА ДОСТУПУ 28
4. ПІДВИЩЕННЯ РІВНЯ ЗАХИСТУ MICROSOFT SQL SERVER 2000 30
4.1. ЗАХИСТ МЕРЕЖЕВОГО ОБМІНУ 31
4.2. ЗАХИСТ ОПЕРАЦІЙНОЇ СИСТЕМИ 35
4.3. ЗАХИСТ КОМПОНЕНТІВ БАЗИ ДАНИХ 39
4.4. АУДИТ СЕРВЕРА SQL SERVER 41
5. СТВОРЕННЯ ГНУЧКОЇ СИСТЕМИ БЕЗПЕКИ MS SQL SERVER 7.0/2000 43
5.1. ВИБІР СХЕМИ АУТЕНТИФІКАЦІЇ 43
5.2. WEB-АУТЕНТИФІКАЦИЯ 45
5.3. ЗБІР КОРИСТУВАЧІВ В ГРУПИ 47
5.4. НАДАННЯ ДОСТУПУ ДО БАЗ ДАНИХ 49
5.5. ПРИЗНАЧЕННЯ ДОЗВОЛІВ 50
5.6. ПРОСТА СИСТЕМА БЕЗПЕКИ 51
ВИСНОВОК 52
Національна академія наук України
Інститут програмних систем НАН України
ЗАТВЕРДЖЕНО
05540149.90000.043.И3-01-АЗ
Програма інформатизації НАН України
Проект «Розробка та впровадження типових рішень
щодо комплексної системи захисту інформації в АІС НАНУ»
Шифр –КСЗІ АІС НАНУ
Технічні рішення щодо захисту сервера баз даних
SQL Server
05540149.90000.043.И3-03
2008
Зміст
На будь-якому функціонуючому підприємстві є певна група людей, які забезпечують ухвалення рішень і контроль їх виконання. Кожна людина повинна мати чітко окреслений круг обов'язків відповідно до своєї кваліфікації і посади. Наприклад, виконання щоденного резервного копіювання у великій організації краще всього доручити не системному адміністраторові, а спеціально підготовленому персоналу. Чітке розмежування сфер діяльності допомагає ефективніше контролювати роботу персоналу, відстежувати проведені операції і здійснювати перспективне планування.
Аналогічні вимоги існують і щодо розмежування доступу до інформації усередині підприємства. Деяка інформація може бути доступна всьому персоналу, можливо, навіть і клієнтам. Інша частина інформації не повинна виходити за рамки відділу. Наприклад, доступ до всієї інформації по заробітній платі співробітників повинен мати тільки працівник бухгалтерії, що займається її нарахуванням. Решта всіх співробітників підприємства в цьому випадку володіє інформацією тільки про розмір своєї заробітної плати. Третя категорія інформації є строго конфіденційною і повинна бути доступна тільки певним людям. Прикладом може служити відомості про власні оригінальні розробки і технології, які організація прагне вберегти від конкурентів. Вихід такої інформації за межі організації може принести великі збитки.
Окрім крадіжки інформації є можливість її пошкодження внаслідок помилки оператора або неправильно написаного додатка. Наслідки таких дій можуть спричинити серйозні фінансові втрати. Наприклад, якщо дані про клієнтів будуть втрачені, доведеться наново збирати потрібну інформацію. А це втрата часу та фінансів.
У сучасних умовах, коли інформація має величезне значення, вживання заходів для запобігання несанкціонованому доступу, попередження втрати або пошкодження інформації стають невід'ємною частиною роботи будь-якої організації. За даними статистики, в США 80 % компаній, що втратили інформацію, припиняли свою діяльність протягом року. Серед тих 20-%, що залишилися, близько половини проіснувала не більше 4 років.
Останнім часом все більше підприємств відмовляються від паперових сховищ інформації і переходять до комп'ютерної обробки документів. Система зберігання інформації повинна бути максимально захищена як від випадкового, так і від зловмисного пошкодження або спотворення інформації. При створенні бази даних розробник повинен спланувати її так, щоб будь-який користувач не міг зробити що-небудь, не маючи на це відповідних прав. Не слід сподіватися на компетентність користувача і його порядність. Можливе виправлення або видалення даних не по злому наміру, а просто із-за неуважності або помилки. Система, наскільки це можливо, повинна перешкоджати подібним діям.
Система управління базами даних Microsoft SQL Server 2000 має різноманітні засоби забезпечення захисту даних.
Загальні правила розмежування доступу
Якщо база даних призначена для використання більш ніж однією людиною, необхідно поклопотатися про розмежування прав доступу. В процесі планування системи безпеки слід визначити, які дані можуть переглядати ті або інші користувачі і які дії в базі даних їм дозволено при цьому робити.
Після проектування логічної структури бази даних, зв'язків між таблицями, обмежень цілісності і інших структур необхідно визначити круг користувачів, які матимуть доступ до бази даних. Щоб дозволити цим користувачам звертатися до сервера, необхідно створити для них облікові записи в SQL Server або надати їм доступ за допомогою облікових записів в домені, якщо використовується система безпеки Windows NT. Дозвіл доступу до сервера не дає автоматично доступу до бази даних і її об'єктів.
Другий етап планування системи безпеки полягає у визначенні дій, які може виконувати в базі даних конкретний користувач. Повний доступ до бази даних і всіх її об'єктів має адміністратор, який є свого роду господарем бази даних, — йому дозволено все. Друга людина після адміністратора — це власник об'єкту. При створенні будь-якого об'єкту в базі даних йому призначається власник, який може встановлювати права доступу до цього об'єкту, модифікувати його і видаляти. Третя категорія користувачів має права доступу, видані їм адміністратором або власником об'єкту.
Необхідно ретельно планувати права, що видаються користувачам відповідно до посади і необхідності виконання конкретних дій. Так зовсім необов'язково призначати права на зміну даних в таблиці, що містить зведення про зарплату співробітників, директорові організації. І, звичайно ж, не можна надавати подібні права рядовому співробітникові. Можна видати права тільки на введення нових даних, наприклад інформації про нових клієнтів. Неправильне введення такої інформації не нанесе серйозного збитку організації, але якщо додати до прав введення ще і можливість виправлення або видалення вже існуючих даних, то зловмисник, що оволодів паролем, може нанести істотні фінансові втрати. Окрім цього, слід врахувати збиток від роботи користувачів, що не сильно замислюються про наслідки своїх дій.
Правильно спроектована система безпеки не повинна дозволяти користувачеві виконувати дії, що виходять за рамки його повноважень. Не зайвим також буде передбачити додаткові засоби захисту, наприклад, не дозволяти видаляти дані, якщо термін їх зберігання не закінчився, тобто вони не втратили актуальність. Можна також надавати службовцям, які недавно влаштувалися на роботу, мінімальний доступ або доступ тільки в режимі читання. Пізніше їм можна буде дозволити і зміну даних.
Слід уважно відноситися до руху співробітників усередині організації, їх переходам з одного відділу в іншій. Зміни посади повинні негайно відбиватися на правах доступу. Слід своєчасно видаляти користувачів, які більше не працюють в організації. Якщо залишиться доступ до даних у людини, що посідав керівну посаду і що пішов в конкуруючу фірму, він зможе скористатися ними і завдати збитку організації. Якщо людина йде у відпустку або виїжджає в тривале відрядження, потрібно тимчасово заблокувати його обліковий запис.
При створенні
паролів важливо слідувати
Система безпеки SQL Server 2000 базується на користувачах і облікових записах. Користувачі проходять наступні два етапи перевірки системою безпеки. На першому етапі користувач ідентифікується по імені облікового запису і паролю, тобто проходить аутентифікацію. Якщо дані введені правильно, користувач підключається до SQL Server. Підключення до SQL Server, або реєстрація, не дає автоматичного доступу до баз даних. Для кожної бази даних сервера реєстраційне ім'я (або обліковий запис — login) повинне відображатися в ім'я користувача бази даних (user). На другому етапі, на основі прав, виданих користувачеві як користувачеві бази даних (user), його реєстраційне ім'я (login) отримує доступ до відповідної бази даних. У різних базах даних login одного і того ж користувача може мати однакові або різні імена user з різними правами доступу.
Для доступу програм до баз даних їм також знадобляться права. Найчастіше програмам видаються ті ж права, які надані користувачам, що запускають ці програми. Проте для роботи деяких програм необхідно мати фіксований набір прав доступу, не залежних від прав доступу користувача. SQL Server 2000 дозволяє надати такі права із застосуванням спеціальних ролей програми.
Отже, на рівні сервера система безпеки оперує наступними поняттями:
На рівні бази даних використовуються наступні поняття:
SQL Server 2000 може використовувати два режими аутентифікації користувачів:
Змішаний режим дозволяє користувачам реєструватися як засобами Windows NT, так і засобами SQL Server. Крім того, цей режим пропонує деякі зручності в порівнянні з першим. Зокрема, при аутентифікації тільки засобами домену Windows, якщо користувач не має облікового запису в домені Windows, то він не зможе дістати доступ до сервера баз даних. Змішаний режим аутентифікації дозволяє уникнути цієї проблеми.
При виборі режиму аутентифікації слід виходити як з вимог забезпечення найбільшої безпеки, так і з міркувань простоти адміністрування. Якщо організація невелика і посади адміністратора мережі і адміністратора баз даних суміщає одна людина, то зручніше використовувати аутентифікацію Windows. Якщо ж в організації сотні користувачів і функції системного адміністратора і адміністратора баз даних виконують різні люди, то може з’ясуватися, що аутентифікація засобами SQL Server зручніше. Інакше людині, що займається адмініструванням сервера баз даних, доведеться постійно звертатися до системного адміністратора для створення нового користувача, зміни пароля або для переводу користувача з однієї групи в іншу. До того ж системний адміністратор матиме можливість призначати права доступу на свій розсуд, а це зовсім ні до чого.
З іншого боку, кожен користувач організації, швидше за все, має в домені обліковий запис, адмініструванням якого займається системний адміністратор. Завдяки аутентифікації Windows адміністратор баз даних може використовувати вже готові облікові записи, а не відволікатися на створення нових.
Мова йде тільки про право підключення користувача до сервера баз даних. Після реєстрації користувача в SQL Server спосіб перевірки прав доступу до конкретної бази даних однаковий для обох режимів аутентифікації.
Режим аутентифікації SQL Server
Для установки з'єднання з сервером SQL Server 2000, що знаходиться в домені, з яким не встановлені довірчі відносини, можна використовувати аутентифікацію SQL Server. Аутентифікація SQL Server також використовується, коли взагалі немає можливості реєструватися в домені. Наприклад, при підключенні до SQL Server 2000 по Інтернету.
При роботі з
аутентифікацією SQL Server доступ також
надається на основі облікових записів.
Але в цьому випадку
Для аутентифікації засобами SQL Server член стандартної ролі сервера sysadmin або securityadmin повинен створити і сконфігурувати для користувача обліковий запис, в який входить ім'я облікового запису, унікальний ідентифікатор SQL Server і пароль. Вся ця інформація зберігатиметься в системній базі master. Створюваний обліковий запис не має відношення до облікових записів Windows.
У цьому режимі при спробі користувача дістати доступ до SQL Server, сервер сам перевіряє правильність імені користувача і пароль, порівнюючи їх з даними в системних таблицях. Якщо дані, введені користувачем, співпадають з даними SQL Server, користувачеві дозволяється доступ до сервера. Інакше спроба доступу відхиляється і видається повідомлення про помилку.
Аутентифікація SQL Server може застосовуватися в наступних випадках:
В цьому випадку адміністратор SQL Server 2000 сам повинен періодично попереджати користувачів про необхідність змінити пароль, щоб забезпечити систему від несанкціонованого доступу, оскільки на відміну від Windows NT, в SQL Server відсутні подібні засоби системи безпеки.
В більшості випадків обліковий запис в SQL Server створюється з метою надання доступу. Але бувають ситуації, коли необхідно заборонити доступ користувачеві або групі. Наприклад, за наявності складної системи безпеки Windows NT доступ зазвичай надається групі користувачів. Проте якщо в групі є людина, якій не можна надавати доступ до SQL Server, його необхідно прибрати з цієї групи. Але такий підхід незадовільний, якщо група призначена не тільки для об'єднання користувачів, що мають доступ до SQL Server, але має ще і якісь додаткові функції. SQL Server дозволяє створити обліковий запис з метою заборони доступу. Це гарантує, що користувач ніяким чином не зможе встановити з'єднання з сервером. Створивши групу Windows і заборонивши їй доступ до SQL Server, можна буде включати в неї користувачів, яким необхідно відмовити в доступі.