Розмежування доступу для ПО web-сервера

Перший крок в конфігурації управління доступу полягає в гарантуванні того, що web-сервер виконується тільки від імені користувача і групи, які спеціально створені для цього і мають дуже обмежені права доступу. Таким чином, повинні бути введені спеціальні ідентифікатори користувача і групи, використовувані виключно ПО web-сервера. Новий користувач і нова група повинні бути унікальними і незалежними від решти всіх користувачів і груп. Це необхідно для реалізації управління доступом, описаного далі. Хоча сервер може починати виконуватися як root (Unix) або system/administrator (Windows NT/2000/XP) для прив'язки до ТСР-порту 80 і/або 443 (використовуваному для надання НТТР і НТТРS-сервісів відповідно), не слід допускати, щоб сервер продовжував виконуватися на даному рівні доступу.

Додатково слід використовувати можливості ОС для обмеження доступу до файлів, доступних процесів web-сервера. Ці процеси повинні мати доступ тільки по читанню до тих файлів, які необхідні для виконання сервісу, і не повинні мати доступу до решти файлів, таким як файли лога сервера. Слід використовувати управління доступом на рівні ОС для забезпечення наступного:

· процеси web-сервера повинні бути конфігуровані для виконання від імені користувача з дуже обмеженим множиною привілеїв (тобто не виконуватися як root, адміністратор або еквівалентні користувачі);

· до файлів вмісту web-сайтів процеси web-сервера повинні мати доступ по читанню, але не по запису;

· процеси web-сервера не повинні мати можливості запису в директорії, в яких зберігається публічний вміст web-сайтів;

· тільки процеси, авторизовані як адміністратор web-сервера, можуть писати у файли web-вмісту;

· програма web-сервера може писати у файли логів web-сервера, але лог-файли не можуть читатися програмою web-сервера. Тільки процеси рівня root/system/administrator можуть читати лог-файли web-сервера;

· тимчасові файли, що створюються застосуванням web-сервера, наприклад, ті, які виникають при формуванні динамічних web-сторінок, повинні бути розташовані в спеціальній і відповідним чином захищеній піддиректорії;

· доступ до будь-яких тимчасових файлів, створеним застосуванням web-сервера, обмежений процесами, які створили ці файли.

Також необхідно гарантувати, що програма web-сервера не може зберігати файли поза спеціальним підкаталогом, виділеним для публічного web-вмісту. Це може бути задано за допомогою конфігурації в ПО сервера або може контролюватися ОС. Слід гарантувати, що до директорій і файлів за межами спеціального піддерева директорій не може бути звернень, навіть якщо користувачі знають імена цих файлів.

Для зменшення дії основних типів DoS-атак потрібно конфігурувати web-сервер з обмеженою кількістю ресурсів ОС, яких він може використовувати. Найчастіше необхідно зробити наступні дії:

· інсталювати вміст web на окремому жорсткому диску або логічному розділі від ОС і web-забезпечення;

· якщо допустимі завантаження (uploads) на web-сервер, встановити обмеження на об'єм дискового простору, який виділяється для цієї мети;

· якщо допустимі завантаження (uploads) на web-сервер, ці файли не повинні бути відразу ж читані web-сервером і, тим самим, видимі користувачам по протоколу НТТР. Вони повинні бути читані web-сервером тільки після деякого автоматизованого або ручного процесу перегляду. Це запобігає від використання web-сервера для передачі піратського ПО, інструментальних засобів атак, порнографії і т.п.;

· гарантувати, що лог-файли зберігаються у відповідному місці, в якому вони не зможуть вичерпати ресурси файлової системи.

Ці дії в деякій мірі захистять від атак, які спробують заповнити файлову систему інформацією, що може викликати крах системи. Вони можуть також захистити проти атак, які намагаються заповнити RAM пам'ять непотрібними процесами для уповільнення або краху системи, тим самим, обмеживши доступність сервісу. Інформація в логах, створених ОС, може допомогти розпізнати такі атаки.

Додатково часто буває необхідно сконфігурувати таймаути і інші способи управління для подальшого зменшення впливу основних DoS-атак. Один з типів DoS-атаки полягає в тому, щоб одночасно встановлювати мережеві з'єднання максимально допустимого, щоб ніякий новий законний користувач не міг дістати доступ. Коли таймаути встановлені на мережеві з'єднання (час, після якого неактивне з'єднання скидається) в мінімально допустиме обмеження, існуючі з'єднання завершуватимуться по таймауту так швидко, як тільки можливо, створюючи можливість встановлювати нові з'єднання законним користувачам. Дана міра тільки пом'якшує DoS-атаку, але не знищує її.

Якщо максимальне число відкритих з'єднань (або з'єднань, які є напіввідкритими, – це означає, що перша частина ТСР-рукопожаття завершилася успішно) встановити в найменше число, той, що атакує може легко витратити доступні з'єднання помилковими запитами (часто званими SYN flood). Установка в максимум даного числа може пом'якшити ефект такої атаки, але ціною витрачання додаткових ресурсів. Відмітимо, що це є проблемою тільки тих web-серверів, які не захищені firewall-ом, що зупиняє SYN flood атаки. Більшість сучасних firewall-ів захищають web-сервер від SYN flood атаки, перериваючи її перш, ніж вона досягне web-сервера.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: