- Формування культури безпеки
- HTTP-сервер Apache
- Що таке збір банерів?
- Малюнок 1. Запит до хост-серверу
- Малюнок 2. Сторінка Tomcat з повідомленням про помилку
- Як усунути можливість збору банерів
- Крок 1. Редагування файлу server.xml
- Малюнок 3. Порт коннектора
- Малюнок 4. Новий параметр server
- Крок 2. Редагування файлу ServerInfo.properties
- Малюнок 5. Параметри server.info і server.number
- Крок 3. Перезапуск сервера Apache Tomcat
- Малюнок 6. Перевірка реакції нового хост-сервера
- висновок
- Ресурси для скачування
Наши партнеры ArtmMisto
Не дозволяйте своєму середовищі Tomcat інформувати зловмисників
Формування культури безпеки
Компанії переміщують свої додатки в Інтернет, щоб поліпшити взаємодію з клієнтами, знизити витрати на ведення бізнесу і прискорити отримання результатів. Однак такі дії мають і свій зворотний бік - вони підвищують вразливість, якщо безпека не є невід'ємним компонентом процесу розробки додатків. Щоб дізнатися більше про формування культури безпеки в організації, завантажте і прочитайте огляд Secure Web Applications: Creating a Security Culture (Захист веб-додатків: формування культури безпеки).
Apache Tomcat - один з найпопулярніших в світі веб-серверів з відкритим вихідним кодом. Він застосовується як в великомасштабних виробничих середовищах, так і невеликих початківців компаніях, а також в експериментальних реалізаціях. На жаль, популярність Tomcat зробила його і метою для хакерів, які прагнуть виявляти і використовувати уразливості в системі забезпечення безпеки цього веб-сервера, особливо в старіших версіях.
У цій статті я продемонструю що складається з трьох кроків процедуру для захисту веб-сервера Tomcat від збору банерів - методики, яку хакери використовують для виявлення цінної інформації про додатки і про корпоративну архітектурі з метою подальшого використання цієї інформації при здійсненні кібератаки.
HTTP-сервер Apache
У той час як про запобігання збору банерів на HTTP-сервері Apache є велика кількість інформації (див. Розділ ресурси ), Вибір документації про захист Tomcat від подібних атак вельми обмежений. У зв'язку з цим дана стаття орієнтована саме на Apache Tomcat.
Я почну з короткого вступу в методику збору банерів, а потім покажу, як захистити веб-сервер Tomcat від цієї методики. Зверніть увагу, що викладені інструкції підходять для сервера Tomcat будь-якої версії, що виконується в середовищі Linux® або Windows®.
Що таке збір банерів?
Ймовірно, вам знайома картинка, показана нижче - так виглядає екран хост-додатки (в даному випадку веб-сервера Tomcat) в режимі доступу за допомогою SSH-термінал і простий Telnet-команди.
Малюнок 1. Запит до хост-серверу
Якщо атакуючий зловмисник хоче відшукати уразливості в системі, одним з простих шляхів вирішення цього завдання є т.зв. методика «збору банерів». Як показано на Мал. 1 , «Банер» (текст, який відображається хост-сервером) містить відомості про програмне забезпечення, яке виповнюється в системі, включаючи номер версії. Після цього атакуючий може пошукати відомі для цієї версії уразливості, якими він міг би скористатися. За замовчуванням сервери додатків відображають цю інформацію під час вступу запиту.
Атакуючий також може переглянути сторінки веб-сервера з повідомленнями про помилки в пошуках вразливої інформації системного рівня. на Мал. 2 показано вікно веб-браузера, перенаправленого на сторінку сервера з повідомленням про помилку, в якому вказано номер версії сервера.
Малюнок 2. Сторінка Tomcat з повідомленням про помилку
Збір банерів не складає ніяких труднощів, тому ця методика нерідко є першим кроком для хакера, який бажає знайти уразливості в додатках і скористатися ними.
Як усунути можливість збору банерів
Примітка: Перед внесенням будь-яких змін в свою реалізацію сервера Tomcat обов'язково створіть резервні копії відповідних файлів.
У цьому розділі я демонструю трьохетапну процедуру усунення можливостей збору банерів у вашій реалізації веб-сервера Tomcat. По суті ви блокуєте відповідь свого сервера Tomcat на Telnet-команду або на іншу команду. Описувана процедура досить проста.
Крок 1. Редагування файлу server.xml
Файл server.xml зазвичай знаходиться в кореневому каталозі вашої установки Tomcat. У разі двійковій установки він буде перебувати в каталозі / etc / tomcat "X", де X - це версія сервера. Таким чином, в середовищі Debian Linux з встановленим двійковим пакетом Tomcat файл server.xml буде знаходитися в наступному місці: /etc/tomcat6/server.xml. Якщо ви завантажили TAR-файл з домашньої сторінки Apache і витягли файл server.xml в каталог / opt, то цей файл буде знаходитися в наступному місці: / opt / apache-tomcat- "X" /conf/server.xml. У деяких випадках цей каталог носить ім'я $ CATALINA_HOME, в результаті чого місце розташування файлу буде мати вигляд: $ CATALINA_HOME / server.xml.
Для відшукання маршруту до файлу server.xml можна виконати наступну команду:
#> Find / -name server.xml
Потім у файлі server.xml знайдіть рядок порту коннектора. показана на Мал. 3 рядок повідомляє сервер Tomcat, який порт прослуховує сервіс.
Малюнок 3. Порт коннектора
Додайте до цього рядка параметр server, що дозволяє задати реакцію сервера Tomcat на запит користувача про версію системи. Приклад.
<Connector port = "8080" ..... server = "APPSRV"
Помістіть в параметр server будь-яку інформацію за своїм вибором: Apache, APPSRV, server, MyTeam і т. Д. Єдине правило полягає в тому, що це значення не може бути порожнім і що воно не повинно показувати інформацію, яку шукає хакер.
Малюнок 4. Новий параметр server
Змінивши файл server.xml, збережіть його і вийдіть з редактора файлів. В результаті виконання цього першого кроку ви успішно перешкодили тому, щоб сервер Tomcat демонстрував свою версію будь-якого цікавиться.
Крок 2. Редагування файлу ServerInfo.properties
Тепер сконфігуріруем сервер Tomcat таким чином, щоб він не показував свою версію в публічно доступних повідомлення про помилки. Це складніше, але не набагато.
Спочатку знайдіть у своїй установці Tomcat файл catalina.jar і вийміть з нього файл ServerInfo.properties. Зазвичай файл catalina.jar знаходиться в двійковій установці за наступним маршрутом: / usr / share / tomcat "X" / lib. У разі встановлення за допомогою TAR-файлу він буде перебувати в кореневому маршруті установки Tomcat в каталозі lib.
Таким чином, в середовищі Debian Linux з встановленим двійковим пакетом Tomcat файл catalina.jar буде знаходитися в наступному місці: /usr/share/tomcat6/lib/catalina.jar. Якщо ви завантажили TAR-файл з домашньої сторінки Apache і витягли файл catalina.jar в каталог / opt, то він буде перебувати в наступному місці: $ CATALINA_HOME / lib / catalina.jar.
Для відшукання маршруту до цього файлу можна виконати наступну команду:
#> Find / -name catalina.jar
Перед переходом до подальших дій обов'язково зробіть резервну копію свого файлу catalina.jar.
Потім вийміть файл ServerInfo.properties з файлу catalina.jar, для чого виконайте наступну команду:
#> Jar xf catalina.jar org / apache / catalina / util / ServerInfo.properties
Ця команда витягує файл ServerInfo.properties, який розташований за наступним маршрутом: / org / apache / catalina / util inside catalina.jar.
Параметри server.info і server.number в цьому файлі показані на Мал. 5 .
Малюнок 5. Параметри server.info і server.number
Ви можете змінити ці значення довільним чином або видалити будь-яке значення. Наприклад, ви можете змінити показані нижче параметри:
server.info = Apache Tomcat 6.0.xx / x server.number = 6.0.3.1
наступним чином:
server.info = server.number = 0.0.0.0
Після успішного внесення змін збережіть цей файл і вийдіть з редактора. Тепер вам необхідно помістити цей змінений файл назад в стислий файл catalina.jar, що можна зробити за допомогою наступної команди:
#> Jar uf catalina.jar org / apache / catalina / util / ServerInfo.properties
Примітка. Після заміни вихідного каталогу org своїм зміненим каталогом org ви можете видалити колишній каталог org.
Тепер ваша установка Apache Tomcat налаштована для протидії збору банерів з повідомлень про типові помилки.
Крок 3. Перезапуск сервера Apache Tomcat
Останній крок полягає в перезапуску Apache Tomcat. У разі двійковій установки виконайте наступну команду:
#> /Etc/init.d/tomcat6 restart
або
#> Service tomcat6 restart
У разі встановлення за допомогою витягнутого TAR-файлу виконайте наступну команду:
#>. /$CATALINA_HOME/bin/shutdown.sh #>. /$CATALINA_HOME/bin/startup.sh
Для підтвердження змін в установці Tomcat виконайте наступні дії:
- Відкрийте сеанс Telnet для свого зміненого сервера Tomcat на порту, який сервер прослуховує: #> telnet 192.168.237.119 8080
- Після відповіді сервера пошліть запит про підтримувані їм опціях (options): #> OPTIONS / HTTP / 1.1 #> HOST: 192.168.237.119 #> [ENTER]
- Відповідь сервера показаний на Мал. 6 - на екрані відображається значення параметра server, які ви задали в файлі server.xml.
Малюнок 6. Перевірка реакції нового хост-сервера
- Тепер відкрийте свій браузер і перенаправьте його до основній сторінці своєї установки Tomcat, додавши такий запит на сторінку, який здатний викликати помилку, наприклад, http://192.168.237.119:8080/index
- Tomcat не розпізнає цей URL і відправить повідомлення про помилку, однак в цьому повідомленні не буде інформації про версії цього сервера:
Малюнок 7. Перевірка нового відповіді з повідомленням про помилку
З повідомлення на Мал. 7 атакуючий дізнається лише про наявність встановленого сервера Apache, але не впізнає нічого про те, який саме сервер виконується і якої версії. Готово!
висновок
Найкращий спосіб захисту додатків від відомих серверних експлойтів - це підтримка актуального стану установки сервера Tomcat. Перевизначення відповідних повідомлень Tomcat за замовчуванням з метою приховування інформації про версії також є ефективним засобом захисту. Це ускладнює хакерам організацію кібератаки і допомагає вам спокійно спати по ночах.
Ресурси для скачування
Схожі теми
- Оригінал статті: Eliminate banner grabbing in Apache Tomcat .
- Securing Tomcat : Додаткова інформація про захист веб-серверів Tomcat.
- How (and why) to disable Apache server signature on your web pages : Керівництво по блокуванню збору банерів на сервері Apache.
- Web server security (DeveloperWorks, вересень 2002 р.) Стаття про захист динамічного контенту на HTTP-сервері Apache.
- Apache Tomcat 7 - Security Considerations : Інформація щодо забезпечення безпеки та рекомендації по конфігурації Tomcat 7.
- Блог Security On developerWorks : Нові практичні рекомендації, статті і демонстраційні відеоматеріали з питань безпеки.
- Підпишіться на щотижневу розсилку новин з питань безпеки в розділі Security на порталі developerWorks .
- В Твіттері ( @dwsecurity ) Публікуються відомості про поновлення на сайті developerWorks з питань безпеки.
Підпишіть мене на повідомлення до коментарів
Що таке збір банерів?