- •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-портала
- •Висновок
Використання програм перевірки цілісності файлів
Програма перевірки цілісності файлу є програмним забезпеченням, яке обчислює і зберігає криптографічну контрольну суму кожного файлу, що захищається, і підтримує базу даних контрольних сум файлів. Це дозволяє системному адміністраторові легко розпізнати зміни, зокрема, неавторизовані, зроблені в критичних файлах. Контрольні суми повинні переобчислюватися регулярно для порівняння поточного значення із значенням, що зберігається, що дозволить визначити будь-які модифікації файлу. Можливість перевірки цілісності файлів часто включається в системи виявлення проникнень для хоста, але така перевірка може бути доступна і у вигляді окремої програми.
Хоча програма перевірки цілісності і є корисним інструментальним засобом, який не вимагає великої участі людини, для гарантії ефективності вона повинна використовуватися продумано.
При створенні першого варіанту бази даних файлом перевірки цілісності потрібна гарантія, що система знаходиться в безпечному стані. Інакше можуть бути створені криптографічні хеші скомпрометованої системи, і тим самим створиться помилкове відчуття безпеки у того, що тестує.
База даних контрольних сум повинна зберігатися off-line, щоб той, що атакує не міг скомпрометувати систему і модифікувати базу даних заховати сліди атаки.
Програма перевірки цілісності файлів може також створювати помилкові позитивні попередження. Кожна зміна файлу і кожен системний patch змінює файл і, отже, потрібно змінити базу даних контрольних сум. Таким чином, тримати базу даних актуальною може бути непросто.
Проте навіть якщо програма перевірки цілісності виконується тільки один раз (при першій інсталяції системи), вона може бути корисна для визначення того, які файли були модифіковані у разі передбачуваної компрометації. Нарешті, той, що атакує може так модифікувати файл, що використання 32-бітової циклічної контрольної суми (Cyclic Redundancy Check – CRC) не визначить модифікацію. Отже, рекомендуються сильніші алгоритми підрахунку контрольних сум для гарантування цілісності даних.
Програми перевірки цілісності повинні виконуватися вночі для перевірки деякої файлової системи, яка могла бути скомпрометована. Якщо програма перевірки цілісності визначить неавторизовані модифікації системних файлів, повинна бути розглянута можливість інциденту, пов'язаного з безпекою, і здійснені відповідні процедури, згідно встановленої політики безпеки.
Список дій для безпечної інсталяції і конфігурації web-сервера
Безпечна інсталяція web-сервера:
Інсталювати ПО сервера на виділений хост;
Інсталювати мінімально необхідні сервіси Інтернету;
Застосувати всі patches і upgrades для усунення відомих уязвимостей;
Створити виділений фізичний диск або логічний розділ (окремо від ОС і сервера) для web-вмісту;
Видалити або заборонити всі сервіси, інстальовані програмою web-сервера, але в даному випадку не потрібні (наприклад, gopher, FTP і віддалене адміністрування);
Видалити всі приклади сторінок, скриптів і виконувані коди;
Видалити з сервера всю документацію виробника;
Протестувати сервер, застосувавши різні зразки безпеки або скрипти злому;
Переконфігурувати банер НТТР-сервіса (і банери інших сервісів, якщо потрібно), щоб він не повідомляв про тип і версію web-сервера і ОС.
Конфігурація управління доступом web-сервера з боку ОС:
Конфігурувати доступ до файлів з боку ОС так, щоб процеси web-сервера могли тільки читати файли web-вмісту, але не могли записувати в них;
Конфігурувати доступ до файлів з боку ОС так, щоб процеси web-сервера не могли записувати в директорії, в яких розташований вміст web;
Конфігурувати доступ до файлів з боку ОС так, щоб тільки процеси, авторизовані для адміністрування web-сервера, могли записувати у файли вмісту web;
Конфігурувати доступ до файлів з боку ОС так, щоб web-забезпечення могло писати в лог-файли web-сервера, але лог-файли не могли бути читані забезпеченням web-сервера;
Конфігурувати доступ до файлів з боку ОС так, щоб тимчасові файли, що створюються забезпеченням web-сервера, були розташовані тільки у вказаній і відповідним чином захищеній піддиректорії;
Конфігурувати доступ до файлів з боку ОС так, щоб доступ до будь-яких тимчасових файлів, створеним забезпеченням web-сервера, був обмежений тільки процесами, які створили ці файли;
Інсталювати web-вміст на окремому жорсткому диску або логічному розділі, відмінному від ОС і web-забезпечення;
Конфігурувати доступ до файлів з боку ОС так, що якщо допустиме завантаження на web-сервер, то повинне існувати обмеження на простір жорсткого диска або логічного розділу, який виділений для цих цілей;
Конфігурувати доступ до файлів з боку ОС так, щоб лог-файли мали відповідний максимальний розмір.
