- •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-портала
- •Висновок
5.8. Перевірка цифрового підпису xml
Процедура перевірки проста і логічно може бути виведена з методики формування цифрового підпису XML, розглянутого вище. Вона розпадається на три етапи.
По-перше, необхідно канонізувати елемент SignedInfo. Нагадаємо, що елемент CanonicalizationMethod встановлює алгоритм канонізації. Тому слід скористатися цією канонічною формою елементу SignedInfo для частини процесу перевірки, що залишилася.
По-друге, необхідно проконтролювати цілісність повідомлення, перевіривши дайджест, який знаходиться в елементі Reference, сформованому раніше, на кроці 2. При перевірці дайджеста потрібно мати в своєму розпорядженні інформацію, яка включає:
Дані, по яких побудований дайджест. Слід розіменувати атрибут Reference елементу, щоб отримати ці дані;
Будь-які трансформації, які можуть застосовуватися до цих даних до запуску алгоритму профілю. У елементі Transforms міститься ця інформація. Перш ніж отримувати дайджест даних, необхідно застосувати до них ті ж трансформації;
Алгоритм дайджеста. Ця інформація знаходиться в значенні атрибуту Algorithm елементу DigestMethod. Необхідно застосувати цей дайджест повідомлення і перевірити, чи не відрізняється значення дайджеста від тієї, що міститься в елементі DigestValue.
Якщо перевірка дайджеста приводить до негативного результату, то процес перевірки закінчується і вважається незадовільним.
Якщо з'ясовується, що з величиною профілю все гаразд, наступає черга третього етапу - перевірки підпису. Для перевірки підпису необхідний ключ сторони, що підписала (відкритий або загальний секретний). Інформацію про ключ можна отримати з елементу KeyInfo, якщо він присутній (або якщо застосуванню вже відома така інформація). Як тільки ключ, використовуваний при перевірці підпису, відомий, потрібно прочитати метод підпису, який застосовувався при створенні цього підпису. Атрибут Algorithm елементу SignatureMethod містить цю інформацію. Після чого слід скористатися канонічною формою елементу SignedInfo і ключем, щоб підтвердити величину підпису.
При реалізації специфікації “Цифровий підпис XML” можна створювати заголовки SOAP для генерації підписаних SOAP-повідомлень. Брандмауер XML, що знаходиться на стороні одержувача, обробляє цей заголовок SOAP, щоб перевірити підписи, перш ніж переслати запит на SOAP-сервер. Завдання забезпечення безпеки може бути досягнуті таким чином:
Можна перевірити, що отримане SOAP-повідомлення було дійсно відправлене відомим відправником;
Можна перевірити, що отримані дані не були змінені, поки вони передавалися, і що вони не відрізняються від тих, що відправник збирався відправити.
Таким чином, стосуючись даного прикладу, можна бути упевненим, що запит про резервування за спеціальною ціною із знижкою був відправлений дійсно партнером, і що ці дані не були змінені, поки вони передавалися. Проте, можливо ситуація, коли дані, передавані по Інтернет, можуть бути проглянуті хакерами. Розглянемо, як ця проблема може бути вирішена за допомогою специфікації “Шифрування XML”.
