Рекомендации по безопасности Tomcat
Ниже описаны некоторые основные методы защиты экземпляра Apache Tomcat. Это базовый список обязательных условий и не должен считаться исчерпывающим. Более подробные сведения о безопасности см. В разделе «Дополнительная информация» ниже.
Пользовательские разрешения
Tomcat никогда не должен запускаться как привилегированный пользователь (корень в UNIX или Admistrator или Local System в Windows).
Tomcat должен запускаться как пользователь с низким уровнем привилегий. В идеале он должен запускаться как пользователь, созданный только для запуска одного приложения.
На практике это означает, что вы не можете запустить его на порту 80. Если вам нужно запустить Tomcat на порт 80, вы должны поместить его за веб-сервер, такой как Apache; см. Интеграция JIRA с Apache как пример конфигурации.
Unix / Linux шпаргалка (памятка)
Создайте пользователя JIRA:
sudo adduser jira-tomcat
Запуск Tomcat как конкретного пользователя:
sudo -u jira-tomcat ${CATALINA_HOME}/bin/catalina.sh run
Памятка по Windows
Создайте непривилегированную учетную запись (если ваш хост является частью Active Directory, может быть уже шаблон для пользователей службы). Пользователь должен иметь права «Вход в систему», назначенные ему.
Убедитесь, что служба Apache Tomcat настроена на запуск в качестве этого пользователя. Если Tomcat был установлен с помощью установщика JIRA Windows, утилита в системном лотке позволяет установить ее через Configuration -> Log On:
РИСУНОК
Разрешения на установку Tomcat
Каталог установки Tomcat (иногда называемый CATALINA_HOME) должен быть установлен как пользователь, который отличается от того католога, в котором он будет запущен. Под Linux распаковка дистрибутива Tomcat как корневого - это самый простой способ сделать это.
К сожалению, Tomcat действительно требует доступа к некоторым каталогам в каталоге дистрибутива, но они должны быть включены только по мере необходимости.
Tomcat поставляется с некоторыми административными приложениями по умолчанию в своем каталоге webapps. Если вам это не нужно, они должны быть отключены.
Unix / Linux памятка
Распакуйте Tomcat как корневой каталог:
sudo tar xzvf apache-tomcat-6.0.20.tar.gz
Удалите веб-приложения по умолчанию:
sudo rm -rf apache-tomcat-6.0.20 / webapps / *
Удалите разрешения на запись:
sudo chmod -R go-w apache-tomcat-6.0.20
Разрешите запись только на нужные каталоги:
cd apache-tomcat-6.0.20 /; sudo chown -R jira-tomcat work / temp / logs /
Памятка Windows
Примечание. Если ваш хост является частью домена / Active Directory, обратитесь к системным администраторам сисадминам Windows, чтобы получить правильные разрешения.
- Распакуйте и установите Tomcat и обновите разрешения для CATALINA_HOME, чтобы их можно было писать только администраторам и системе. Пользователь службы Tomcat должен иметь права на чтение, выполнение и привелегии перемещения каталога
РИСУНОК
РИСУНОК
- В разделе CATALINA_HOME каталогам работы, временных файлов temp и журналов требуется доступ для записи и удаления для пользователя Tomcat. Убедитесь, что у него нет прав на изменение разрешения или права владения.
РИСУНОК
Разрешения на установку веб-приложений
Каталог, в который вы распаковываете приложение WAR WAR, не должен быть доступен для записи пользователю Tomcat (т. е. Jira-tomcat в приведенных выше примерах). Опять же, самый простой способ сделать это - распаковать WAR как root.
Unix / Linux памятка
Распакуйте war как корень:
sudo unzip confluence-webapp-3.2.war
Памятка Windows
- Распакуйте war в качестве пользователя и убедитесь, что пользователь Tomcat не имеет доступа на запись в webapp.
Дальнейшая информация
- Обеспечение безопасности Tomcat в OWASP.
- Критические шаги для защиты Tomcat в Windows NT / 2K / XP
- Вопросы по безопасности Tomcat