- •1. Безпека www-серверів 6
- •2. Безпека ос, що лежить в основі web-сервера 15
- •3. Безпечна інсталяція і конфігурація web-сервера 28
- •4. Безпека програмного середовища 42
- •5. Використання криптографії в захисті www-серверів 45
- •6. Захист web-портала від інформаційних атак 68
- •1. Безпека www-серверів
- •1.1. Короткий опис проблеми
- •1.2. Принципи безпеки веб-серверів
- •1. Слід реалізувати відповідну практику управління безпекою і контроль за функціонуванням системи.
- •2. Слід зробити кроки для гарантування того, що на web-сайті публікується тільки коректний вміст.
- •3. Слід гарантувати захист web-вмісту від неавторизованого доступу або модифікації.
- •4. Слід використовувати активний вміст тільки після ретельного зважування отримуваних при цьому переваг порівняно із збільшенням ризиків.
- •5. Слід використовувати аутентифікацію, засновану на криптографічних технологіях, для забезпечення відповідного захисту чутливих даних.
- •6. Слід гарантувати постійне функціонування системи забезпечення безпеки.
- •1.3. Причини уразливості web-сервера
- •1.4. Планування розгортання web-сервера
- •2. Безпека ос, що лежить в основі web-сервера
- •2.1. Безпечна інсталяція і конфігурація ос
- •2.2. Видалення або заборона непотрібних сервісів і програм
- •2.3. Конфігурація аутентифікації користувача в ос
- •2.4. Управління ресурсами на рівні ос
- •2.6. Використання Appliances для web-сервера
- •2.7. Спеціально посилені (pre-hardened) ос і web-сервери
- •2.7.1. Тестування безпеки операційної системи
- •2.7.2. Список дій для забезпечення безпеки ос, на якій виконується web-сервер
- •2.7.3. Застосування patch-ів і upgrade-ів ос
- •2.7.4. Видалення або заборона непотрібних сервісів і програм, конфігурація аутентифікації користувачів в ос.
- •2.7.5. Тестування безпеки ос
- •3. Безпечна інсталяція і конфігурація web-сервера
- •3.1. Безпечна інсталяція web-сервера
- •3.2. Конфігурація управління доступом
- •3.3. Розмежування доступу для по web-сервера
- •3.4. Управління доступом до директорії вмісту web-сервера
- •Управління впливом web Bots
- •Використання програм перевірки цілісності файлів
- •Список дій для безпечної інсталяції і конфігурації web-сервера
- •3.5. Конфігурація безпечної директорії web-вмісту
- •3.6. Використання програм перевірки цілісності
- •4. Безпека програмного середовища
- •5. Використання криптографії в захисті www-серверів
- •5.1. Асиметрична криптографія
- •5.2. Симетрична криптографія
- •5.3. Дайджести повідомлень
- •5.4. Цифрові підписи
- •5.5. Сертифікати
- •5.6. Забезпечення цілісності даних і призначеної для користувача аутентифікації за допомогою підписів xml
- •5.7. Формування цифрового підпису xml: основні чотири кроки
- •5.8. Перевірка цифрового підпису xml
- •5.9. Шифрування xml
- •5.9.1. Шифрування цілого xml-файла
- •5.9.2. Шифрування окремого елементу
- •5.9.3. Шифрування змісту елементу
- •5.9.4. Обробка шифрування xml
- •5.10. Введення в безпеку Web-сервісів
- •6. Захист web-портала від інформаційних атак
- •6.1. Підсистема розмежування доступу
- •6.2. Підсистема антивірусного захисту
- •6.3. Підсистема контролю цілісності
- •6.4. Підсистема виявлення вторгнень
- •6.5. Підсистема аналізу захищеності
- •6.6. Підсистема криптографічного захисту
- •6.7. Підсистема управління засобами захисту Web-портала
- •Висновок
2.7.1. Тестування безпеки операційної системи
Періодичне тестування безпеки ОС є важливим способом ідентифікувати уразливості і гарантувати, що існуючі заходи забезпечення безпеки ефективні. Найбільш популярними методами тестування ОС є сканування уязвимостей і тестування проникнення. Зазвичай використовують автоматизовані сканери уязвимостей для сканування уязвимостей застосування, мережі або ОС на хості або групі хостів в мережі. Тестування проникнення є процесом тестування, розробленим для перевірки можливості компрометації мережі, при цьому використовуються інструментальні засоби і методики того, що атакує. Це ітеративний процес тестування, який ідентифікує найбільш слабкі області мережі і використовує їх для отримання доступу до мережі, що залишилася. Результатом зазвичай є компрометація безпеки всієї мережі. Сканування уязвимостей повинне проводитися періодично, принаймні, раз на тиждень або в місяць. Тестування проникнення повинне бути мінімум щорічним. Оскільки обидві ці технології тестування застосовуються також для тестування програм web-сервера, далі вони обговорюватимуться детальніше.
2.7.2. Список дій для забезпечення безпеки ос, на якій виконується web-сервер
Складання плану конфігурації і розгортання web-сервера.
Визначити функції web-сервера;
Визначити категорії інформації, яка зберігатиметься, оброблятиметься і передаватиметься web-сервером;
Визначити вимоги безпеки для даної інформації.
Визначити способи публікації інформації на web-сервері;
Визначити необхідність мати виділений хост для web-сервера;
Визначити користувачів і категорії користувачів web-сервера і визначити привілеї кожної категорії користувачів;
Визначити методи аутентифікації користувачів на web-сервері.
Вибір відповідної ОС для web-сервера.
Максимальна захищеність від уязвимостей;
Можливість обмежити діяльність рівня адміністратора або root тільки аутентифікованими і авторизованими користувачами;
Можливість заборонити доступ до інформації на сервері всім, окрім явно вказаних користувачів;
Можливість зробити недоступними непотрібні мережеві сервіси, які могли бути вбудовані до ОС або ПО сервера;
Можливість управління доступом до різних програм, пов'язаних з web-сервером, таким як CGI-скрипты і plug-ins сервера у разі web-сервера.
2.7.3. Застосування patch-ів і upgrade-ів ос
Визначити і інсталювати всі необхідні patches і upgrades для ОС;
Визначити і інсталювати всі необхідні patches і upgrades для програм і сервісів, включених в ОС.
2.7.4. Видалення або заборона непотрібних сервісів і програм, конфігурація аутентифікації користувачів в ос.
Видалити або заборонити непотрібні акаунти і групи, що існують за умовчанням;
Заборонити не інтерактивні акаунти;
Створити групи користувачів для даного екземпляра ОС;
Створити акаунти користувачів для даного екземпляра ОС;
Перевірити політику пароля в організації і встановити відповідні паролі акаунтів (довжина, складність);
Конфігурувати ОС для заборони входу після невеликого числа невдалих спроб;
Інсталювати і конфігурувати інші механізми безпеки для посилення аутентифікації.
2.7.5. Тестування безпеки ос
Протестувати ОС після початкової інсталяції для визначення уязвимостей.
Проводити часте тестування ОС для визначення нових уязвимостей.
