Apache Tomcat Руководство по усилению безопасности

Практическое руководство по укреплению и защите Apache Tomcat Server с лучшими практиками.


Tomcat является одним из самых популярных серверов сервлетов и JSP-контейнеров. Он используется некоторыми из следующих веб-сайтов с высоким трафиком:

  • LinkedIn.com
  • Dailymail.co.uk
  • Comcast.net
  • Wallmart.com
  • Reuters.com
  • Meetup.com
  • Webs.com

На приведенном ниже графике показана рыночная позиция Tomcat на сервере приложений Java..

Источник: Пламбр

Технически вы можете использовать Tomcat в качестве интерфейсного сервера для непосредственного обслуживания запросов сайта. Однако в производственной среде вы можете использовать некоторые веб-серверы, такие как Apache, Nginx, в качестве внешнего интерфейса для маршрутизации запросов к Tomcat..

Использование веб-сервера для обработки запросов дает представление а также безопасность льготы. Если вы используете Apache HTTP в качестве интерфейсного веб-сервера, то вам следует подумать и об обеспечении его безопасности..

Наличие конфигурации Tomcat по умолчанию может предоставлять конфиденциальную информацию, которая помогает хакеру подготовиться к атаке на приложение..

Следующие тестируются на Tomcat 7.x, среде UNIX.

Зрительская аудитория

Это предназначено для администратора промежуточного программного обеспечения, поддержки приложений, системного аналитика или любого, кто работает или хочет изучить Tomcat Hardening and Security..

Хорошее знание Tomcat & UNIX команда обязательна.

Ноты

Нам нужен какой-то инструмент для проверки заголовков HTTP для проверки. Есть два способа сделать это.

Если тестирование Интернет-облицовочный приложения, то вы можете использовать следующие инструменты HTTP-заголовка для проверки реализации.

И для Интранет-приложение, Вы можете использовать Google Chrome, инструменты разработчика Firefox.

Как лучшая практика, вы должны взять резервный любого файла, который вы собираетесь изменить.

Мы будем называть папку установки Tomcat как $ мартовский кот на протяжении всего этого руководства.

Давайте пройдем через закалку & процедуры обеспечения.

Удалить баннер сервера

Удаление Server Banner из заголовка HTTP – одна из первых вещей, которую нужно сделать, чтобы укрепить.

Наличие на баннере сервера информации об используемом вами продукте и его версии приводит к уязвимости утечки информации..

По умолчанию страница, обслуживаемая Tomcat, будет выглядеть так.

Давайте скрыть информацию о продукте и версии от заголовка сервера.

  • Перейдите в папку $ tomcat / conf
  • Измените server.xml с помощью vi
  • Добавьте следующее к порту Connector

Сервер = “”

Пример: –

  • Сохраните файл и перезапустите Tomcat. Теперь, когда вы получаете доступ к приложению, вы должны увидеть пустое значение для заголовка сервера.

Запуск Tomcat с менеджером безопасности

Security Manager защищает вас от ненадежного апплета, запущенного в вашем браузере.

Запускать Tomcat с менеджером безопасности лучше, чем без него. Tomcat имеет отличную документацию по Tomcat Security Manager.

Хорошо, что вам не нужно менять какой-либо файл конфигурации. Это просто способ запуска файла startup.sh.

Все, что вам нужно сделать, это запустить tomcat с аргументом –security.

[[Электронная почта защищена] bin] # ./startup.sh -security
Использование CATALINA_BASE: / opt / tomcat
Использование CATALINA_HOME: / opt / tomcat
Использование CATALINA_TMPDIR: / opt / tomcat / temp
Использование JRE_HOME: / usr
Использование CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Использование Security Manager
Tomcat начал.
[[Электронная почта защищена] бен] #

Включить SSL / TLS

Обслуживание веб-запросов через HTTPS имеет важное значение для защиты данных между клиентом и Tomcat. Чтобы сделать ваше веб-приложение доступным через HTTPS, вам необходимо внедрить сертификат SSL.

Предполагая, что у вас уже есть готовое хранилище ключей с сертификатом, вы можете добавить строку ниже в файле server.xml в разделе порта Connector.

SSLEnabled ="правда" схема ="HTTPS" keystoreFile ="SSL / bloggerflare.jks" keystorePass ="Chandan" clientAuth ="ложный" SSLProtocol ="TLS"

Измените имя файла и пароль Keystore на свой.

Если вам нужна помощь с хранилищем ключей & Процесс КСО, затем обратитесь к этому руководству.

Применять HTTPS

Это применимо только тогда, когда вы включили SSL. Если нет, это сломает приложение.

После того, как вы включили SSL, было бы хорошо принудительно перенаправить все HTTP-запросы на HTTPS для безопасной связи между пользователем и сервером приложений Tomcat..

  • Перейдите в папку $ tomcat / conf
  • Изменить web.xml с помощью vi
  • Добавить следующий перед синтаксисом

Защищенный контекст
/ *

КОНФИДЕНЦИАЛЬНО

  • Сохраните файл и перезапустите Tomcat.

Добавить безопасный & HttpOnly флаг для Cookie

Можно украсть или манипулировать сеансом веб-приложения и файлами cookie без использования безопасного файла cookie. Это флаг, который вводится в заголовок ответа..

Это делается путем добавления ниже строки в разделе session-config файла web.xml

правда
правда

Скриншот конфигурации:

Сохраните файл и перезапустите Tomcat, чтобы проверить заголовок ответа HTTP..

Запустите Tomcat из непривилегированного аккаунта

Хорошо использовать отдельного непривилегированного пользователя для Tomcat. Идея здесь состоит в том, чтобы защитить другие службы, работающие в случае взлома любого аккаунта..

  • Создайте пользователя UNIX, скажем, tomcat

юсрадд кот

  • Остановите Tomcat, если работает
  • Изменить принадлежность $ tomcat на пользователя tomcat

чоун -R кот: кот кот /

Запустите Tomcat и убедитесь, что он работает с пользователем Tomcat

Удалить стандартные / нежелательные приложения

По умолчанию Tomcat поставляется со следующими веб-приложениями, которые могут или не требуются в производственной среде..

Вы можете удалить их, чтобы сохранить их в чистоте и избежать любой известной угрозы безопасности с приложением по умолчанию Tomcat.

  • ROOT – страница приветствия по умолчанию
  • Документы – документация Tomcat
  • Примеры – JSP и сервлеты для демонстрации
  • Менеджер, хост-менеджер – администрация Tomcat

Они доступны в папке $ tomcat / webapps

[[Электронная почта защищена] webapps] # ls -lt
drwxr-xr-x 14 кот кот 4096 сент 29 15:26 документы
drwxr-xr-x 7 tomcat tomcat 4096 сен 29 15:26 примеры
drwxr-xr-x 5 tomcat tomcat 4096 сен 29 15:26 хост-менеджер
drwxr-xr-x 5 tomcat tomcat 4096 сент. 29 15:26 менеджер
drwxr-xr-x 3 tomcat tomcat 4096 сен 29 15:26 ROOT
[[Электронная почта защищена] WebApps] #

Изменить порт и команду выключения

По умолчанию Tomcat настроен на отключение на порт 8005.

Знаете ли вы, что можете отключить экземпляр tomcat, выполнив команду telnet to IP: port и выполнив команду SHUTDOWN?

Чанданс # телнет localhost 8005
Trying :: 1 … telnet:
подключиться к адресу :: 1:
Отказ в соединении. Попытка 127.0.0.1….
Подключено к localhost.
Escape-символ ‘^]’.
ВЫКЛЮЧЕНИЕ Соединение закрыто внешним хостом.
Чанданс #

опасно!

Видите ли, наличие конфигурации по умолчанию приводит к высокому риску безопасности.

Рекомендуется изменить порт отключения tomcat и команду по умолчанию на что-то непредсказуемое.

  • Измените следующее в server.xml

8005 – перейти на другой неиспользуемый порт

ВЫКЛЮЧЕНИЕ – изменить на что-то сложное

бывший-

Заменить по умолчанию 404, 403, 500 страниц

Наличие страницы по умолчанию для не найден, запрещен, ошибка сервера выставляет детали версии.

Давайте посмотрим на страницу 404 по умолчанию.

Чтобы смягчить, вы можете сначала создать страницу с общей ошибкой и настроить web.xml для перенаправления на страницу с общей ошибкой.

  • Перейдите в приложение $ tomcat / webapps / $
  • Создайте файл error.jsp с помощью редактора vi

Страница ошибок

Это ошибка!

  • Перейдите в папку $ tomcat / conf
  • Добавьте следующее в файл web.xml. Убедитесь, что вы добавили перед синтаксисом

404
/error.jsp

403
/error.jsp

500
/error.jsp

  • Перезапустите сервер Tomcat, чтобы проверить его

Намного лучше!

Вы можете сделать это и для java.lang.Exception. Это поможет не раскрывать информацию о версии tomcat, если есть какое-либо исключение Java-языка..

Просто добавьте следующее в web.xml и перезапустите сервер Tomcat.

java.lang.Exception
/error.jsp

Надеюсь, что приведенное выше руководство даст вам представление о безопасности Tomcat. Если вы хотите узнать больше об администрировании Tomcat, проверьте это онлайн курс.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map