Аналіз захищеності web-серверів

Як вже було відмічено, аудитор може проводити інструментальні перевірки, що охоплюють різні елементи ПІБ Для прикладу того, як можуть проходити такі перевірки, розглянемо можливий набір засобів і ме-тодов проведення інструментальної перевірки підсистеми захисту web-сервера

Як відомо, web-сервер являє собою клієнт-серверне прило-

ються, що використовує для передачі даних протокол HTTP і стандартний порт 80/tcp web-сервер очікує HTTP-запит від клієнта При отриманні HTTP-запиту web-сервер відповідає HTTP-відповіддю, який може містити

HTML-, XML-документ або інший тип даних (зображення, текстовий до-кумент, мультимедійний файл та ін) Якщо HTTP-запит від клієнта не може бути оброблений (помилка в запиті або нездійсненний запит), то web-сервер повинен послати відповідь, що містить код і опис помилки

Оскільки протокол HTTP є протоколом рівня додатків,

використовують текстові команди, подивитися передаються web-сервером дані можна з використанням утиліти NetCat (nc) У прикладі нижче осуще ствляется стандартне TCP-підключення з використанням цієї утиліти з перенаправленням потоку вводяться з клавіатури даних на сервер:

nc <ім'я або адресу вузла> <Номер порту>

nc 192168103 80

GET / HTTP/10

Серверу передається команда GET, запраши-вающая кореневої документ сервера, із зазначенням-ем версії HTTP 10 Після введення цієї коман-ди необхідно двічі натиснути Enter

HTTP/10 200 OK

Сервер відповідає кодом 200, що означає, що запит клієнта оброблений успішно і відповідь сервера містить витребувані дані

Server: Apache/1337 (Unix) PHP/444

Рядок ідентифікує імя і версію web-

сервера

Date: Wed, 29 Nov 2006

18:19:11 GMT

Поточний час і дата системних годин серве-

ра

Last-Modified: Sun, 15

Jun 2003 17:34:53 GMT

Час останньої модифікації переданого документа

Content-Type: text/html

Тип переданих даних (HTML)

Content-Length: 620

Довжина переданих даних

&lthtml&gt

&lthead&gt

&lt/html&gt

Власне передані дані

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

Для обстеження web-сервера в першу чергу необхідно провести обстеження ОС мережевого вузла, на якому він запущений Потім можна викорис-

зовать тести, специфічні для web-сервера

Для автоматизації пошуку доступних файлів і каталогів, маю-

щихся на web-сервері, можна використовувати утиліту Cgichk Для тестування web-вузла 192168101 з використанням цієї утиліти можна скористатися командою:

&gt CGICHKEXE 192168101

HEADER:

HTTP/11 200 OK

Server: Microsoft-IIS/50

Date: Sun, 15 Oct 2006 18:47:54 GMT

Connection: Keep-Alive

Content-Length: 1295

Content-Type: text/html

Set-Cookie: ASPSESSIONIDQQGGGRUC=IFFBLHDBEBLBFMDEHGNMOOBL path=/ Cache-control: private

———————————————————— DIRECTORIES:

Found /images (403) Found /test (200) Found /_private (403) Found /scripts (403)

INTEREST:

Found /cgi-bin/ (403) SPECIFIC:

Found /robotstxt (200)

Зазначена утиліта повертає вміст заголовків HTTP-відповіді, а також проводить пошук web-директорій, що розташовуються на сервері З ви-вода цієї утиліти видно, що на сервері є доступні директорії

«Images», «test», «_privat», «scripts» Виходячи з назви цих директорій,

можна зробити припущення про інформацію, яка знаходиться в них

Також вказується список «цікавих» директорій, які можуть містити вразливі компоненти Секція виведення «SPECIFIC» містить додаткового-тельно знайдені елементи сайту Наприклад, знайдений файл «robotstxt» може бути використаний для пошуку прихованих web-директорій сервера

Для автоматизації пошуку відомих вразливостей web-додатків можна використовувати утиліту Nikto Утиліта Nikto являє собою сканер,

написаний на мові, що інтерпретується Perl, який реалізує всесторон-неї тестування web-сервера і web-додатків Даний сканер включає базу про більш ніж 3200 потенційно небезпечних файлах і 624 web-серверах Мо-

дулі сканування і база вразливостей часто оновлюються

Для запуску утиліти nikto можна скористатися командою perl niktopl-h 192168103, ключ-h призначений для вказівки IP-адреси або DNS-імені обстежуваного вузла Символом «#» відзначені коммен- таріі висновку утиліти

&gt perl niktopl -h 192168103

# Версія утиліти

– Nikto 135/134

# IP-адреса обстежуваного сервера

+ Target IP:      192168103

# Імя обстежуваного сервера (можливо імя віртуального сервера)

+ Target Hostname: 192168103

# Номер порту, на якому функціонує сервер

+ Target Port:    80

# Мітка часу початку сканування

+ Start Time:     Sun Oct 15 23:42:54 2006

—————————————————————–

# Вказівка ​​на те, що обстежуваний сервер не обовязково буде повертати

# Правильний параметр «Server» (тип і версія обстежуваного сервера), з

# Використанням опції-g можна явно задати версію сервера Від цього

# Параметра буде залежати складу тестів, які буде проводити nikto

– Scan is dependent on &quotServer&quot string which can be faked, use -g to override

# Виявлені тип і версія сервера

+ Server: Apache/1333 (Debian GNULinux)

# Перелік доступних серверних HTTP-команд (запитів)

+ Allowed HTTP Methods: GET, HEAD, OPTIONS, TRACE

# Вказівка ​​на те, що команда TRACE повинна бути дозволена тільки для

# Налагоджувальних завдань

+ HTTP method TRACE is typically only used for debugging It should be disabled OSVDB-877

# Вказує на те, що версія web-сервера Apache на обстежуваному вузлі

# Є застарілою, проте до цих пір підтримується розробником і вважається безпечною

+ Apache/1333 appears to be outdated (current is at least Apache/2054) Apache 1333 is still maintained and considered secure

# Включено індексування каталогу / icons / Воно має бути включено

# Для спеціальних каталогів У дужках вказується тип запиту,

# За допомогою якого було отримано інформацію

+ /icons/ – Directory indexing is enabled, it should only be en- abled for specific directories (if required) If indexing is not used all, the /icons directory should be removed (GET)

# Використовуючи каталог / server-status, можна отримати багато інформації про

# Сервері Apache Рекомендується обмежити доступ до цього ресурсу

+ /server-status – This gives a lot of Apache information Com- ment out appropriate line in httpdconf or restrict access to al- lowed hosts (GET)

# Невідключеному команда TRACE може бути використана для реалізації

# Атаки типу XSS (міжсайтовий скриптинг) або для крадіжки

# Ідентифікаційних даних Вказується посилання на адресу, за якою

# Можна отримати детальний опис знайденої вразливості

+ / – TRACE option appears to allow XSS or credential theft See http://wwwcgisecuritycom/whitehat-mirror/WhitePaper_screenpdf for details (TRACE)

# Каталог / doc відкритий для перегляду

+ /doc/ – The /doc directory is browsable This may be /usr/doc (GET)

# Було проведено 2563 тесту, знайдено 5 елементів

+ 2563 items checked – 5 item(s) found on remote host(s)

+ End Time:        Sun Oct 15 23:43:07 2006 (13 seconds)

—————————————————————–

+ 1 host(s) tested

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

Частковий аналітичного звіту за результатами тестування подсис-

теми захисту web-сервера, встановленого на мережевому вузлі з IP-адресою

192168103, може мати наступний вигляд

Джерело: Андрончик А Н, Богданов В В, Домуховскій Н А, Коллеров А С, Синадський Н І, Хорьков Д А, Щербаков М Ю, Захист інформації в компютерних мережах Практичний курс

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*