Назад | Перейти на главную страницу

Нужно ли использовать сервер nginx для использования с tomcat

Обязательно ли устанавливать сервер nginx перед использованием apache tomcat. Можем ли мы использовать только apache tomcat, есть ли плюсы и минусы, какой выбор лучше и почему. Я использую Fedora 22 для развертывания моего приложения на Tomcat 8 для приложения Java

Можно использовать только Tomcat, однако следует избегать некоторых очевидных ошибок. Самое важное

  • Запустите Tomcat под отдельной учетной записью пользователя с минимальными правами.
  • Если Tomcat не работает от имени root, он не сможет привязать привилегированный порт, что является хорошей функцией безопасности, а не проблемой. В эти дни я обычно использую xinetd переместить порт. я использовал iptables раньше это было сложнее, но тоже нормально работало.
  • Не забывайте периодически обновлять Tomcat и Java.
  • Заблокируйте все возможные порты брандмауэром, особенно все виды «удаленного управления». Оставьте только то, что вам действительно нужно, и пользуйтесь.

Даже не думай о

  • Запуск Tomcat от имени root.
  • Выход из любого из интерфейсов веб-управления Tomcat. Немедленно удалите. Они никогда не предлагали ничего, что наши не могли бы сделать из командной строки даже быстрее.
  • Работает без брандмауэра.

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

Если хотите, можете использовать только кота. Однако будьте осторожны!

Tomcat - это контейнер сервлетов. Он использует JSSE для реализации TLS и по умолчанию предоставляет службы управления в сети. Он также имеет большое количество уязвимостей безопасности (см. https://tomcat.apache.org/security-7.html например). Это несколько медленно и чрезвычайно сложно.

Практика безопасности, которую я рекомендую своим клиентам, заключается в том, чтобы запустить перед ним другой веб-сервер, если они не используют аутентификацию сертификата клиента. Другой веб-сервер может действовать как кэширующий прокси и проверяющий прокси (почти, но не совсем брандмауэр веб-приложений), может выгружать SSL, позволяет использовать openssl вместо JSSE, а иногда даже может выполнять балансировку нагрузки. Все это хорошие особенности.

Архитектура Tomcat также создает проблемы. Например, он может использовать только привилегированные порты, работая как root (очень плохо), или используя механизм authbind (который не поддерживает IPv6 до tomcat 8). Ему необходим постоянный доступ как к своим TLS-ключам, так и к файлу конфигурации, содержащему пароль, используемый для их шифрования, что является незначительной угрозой безопасности, которую устраняет любой крупный веб-сервер.

То, что вы используете в качестве прокси, на самом деле не имеет значения; любой способный демон HTTP должен быть достаточным. Однако я бы также порекомендовал брандмауэр веб-приложений для фильтрации запросов.

это не обязательно добавить nginx перед Tomcat.