- •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-портала
- •Висновок
3. Безпечна інсталяція і конфігурація web-сервера
Після того, як ОС інстальована і зроблена безпечною, слід інсталювати вибране ПО web-сервера. Перед початком даного процесу слід прочитати документацію виробника і зрозуміти, які опції доступні при інсталяції. Також слід відвідати web-сайт виробника або web-сайт бази даних уязвимостей, такий як ICAT метабаза (http://icat.nist.gov/), для визначення всіх відомих уязвимостей і відповідних patches, які повинні бути інстальовані або конфігуровані як частина процесу установки. Тільки після завершення цих попередніх кроків слід почати інсталяцію. Розглядаються тільки загальні процедури інсталяції і конфігурації.
3.1. Безпечна інсталяція web-сервера
У багатьох аспектах безпечна інсталяція і конфігурація web-сервера аналогічна інсталяції і конфігурації ОС. Основний принцип полягає в тому, щоб інсталювати мінімальну кількість необхідних сервісів web-сервера і виключити всі відомі уразливості за допомогою patches або upgrades. Якщо програма інсталяції встановлює якісь непотрібні програми, сервіси або скрипти, вони повинні бути негайно видалені після завершення процесу. При інсталяції web-сервера повинні бути виконані наступні кроки:
Інсталювати ПО сервера на виділений хост;
Інсталювати мінімально необхідні сервіси Інтернету;
Застосувати всі patches або upgrades для коректування відомих уязвимостей;
Створити виділений фізичний диск або логічний розділ (окремий від ОС і сервера) для вмісту web;
Видалити або заборонити всі web-сервіси, інстальовані web-сервером, але не потрібні (наприклад, gopher, FTP і віддалене адміністрування);
З кореневої директорії web-сервера видалити всі файли, які не є частиною web-сайта;
Видалити всю документацію, а також приклади скриптів і виконувані коди;
Виконати різного роду зразки безпеки або “hardening” скрипти, що підсилюють безпеку web-сервера;
Переконфігурувати банер НТТР-сервіса (і інших сервісів, якщо вони використовуються), щоб він не повідомляв про тип і версію web-сервера і ОС. Це може бути виконано в IIS використанням вільного Microsoft IIS Lockdown Tool і в Apache за допомогою “ServerTokens” директиви.
3.2. Конфігурація управління доступом
Більшість ОС для web-серверів надають можливість вказати конкретні привілеї доступу для файлів, пристроїв і інших обчислювальних ресурсів на даному хості. Слід розуміти, що будь-яка інформація, до якої може бути здійснений доступ з каталогів, що належать web-серверу потенційно може стати доступною всім користувачам, що мають доступ до публічного web-сайту. Зазвичай ПО web-сервера забезпечує додаткове управління доступом до файлів, пристроїв і ресурсів. У випадку якщо дозволи доступу до ресурсів можуть бути встановлені як на рівні ОС, так і на рівні web-сервера, важливо, щоб вони були ідентичні один одному, інакше можлива ситуація, коли користувачам наданий або дуже великий, або дуже маленький доступ. Web-адміністратори повинні розглянути, яка конфігурація доступу до інформації, що зберігається в публічному web-сервері, є якнайкращою з наступних точок зору:
обмеження доступу ПО web-сервера до підмножини обчислювальних ресурсів засобами управління доступом ОС;
обмеження доступу користувачів за допомогою додаткового управління доступом, забезпечуваним web-сервером, коли потрібні детальніші рівні управління доступом.
Відповідна установка управління доступом може допомогти запобігти розкриттю чутливої інформації, яка не призначена для публічного розповсюдження. Додаткове управління доступом може бути використано для обмеження використання ресурсів у разі DoS-атаки на публічний web-сайт.
Зазвичай файлами, доступ до яких повинен контролюватися, є наступні:
ПО і конфігураційні файли програми;
Файли, що безпосередньо використовуються механізмами безпеки:
файли хешей паролів і інші файли, використовувані при аутентифікації;
файли, які містять авторизаційну інформацію, використовувану при управлінні доступом;
криптографічний матеріал ключа, використовуваний в сервісах конфіденційності, цілісності і неможливості відмови.
Логи сервера і файли системного аудиту;
Системне ПО і його конфігураційні файли.
