Безопасный контент на HttpServer с помощью приложения Tomcat - есть идеи? - PullRequest
0 голосов
/ 07 октября 2011

У нас есть веб-приложение на Tomcat. Приложение получает доступ к содержимому (конфиденциальному) от выделенных HTTPS-серверов Apache. Мы не хотим, чтобы неавторизованные пользователи имели доступ к этому контенту. Т.е. только пользователи, прошедшие аутентификацию через WebApp (на Tomcat), могут получить доступ к содержимому HttpServer. (Мы используем HTTPS для защиты сети, но если кто-то получает прямой URL-адрес http-сервера для контента, он может загружать контент).

Мы думаем о размещении контента в том же веб-приложении на Tomcat. Есть идеи?

1 Ответ

0 голосов
/ 07 октября 2011

Простой / ленивый способ сделать это - обеспечить, чтобы HTTP Referrer при каждом обращении к серверам Apache являлся адресом вашего сервера Tomcat.Страница с этим: http://www.htaccess -guide.com / deny-посетителей-по-рефереру /

Однако для хакера довольно просто подделать реферер HTTP, если они выяснятэто ваша схема защиты.

Два более сложных, но безопасных метода, в порядке усилий:

  1. Создать JSP-страницу или что-то на сервере Tomcat, которое проверяет, вошел ли пользователь в систему, затем выбираетданные от Apache по HTTP, а затем выводит данные обратно конечному пользователю.Делая это, вы фактически пишете свой собственный обратный прокси.Затем заблокируйте сервер Apache, чтобы обслуживать страницы только по IP-адресу (ам) сервера Tomcat (и любым другим разрешенным / внутренним IP-адресам, которые вы хотите разрешить).Плюсы: все еще довольно быстро сделать.Минусы: вы используете ресурсы tomcat для отображения каждой страницы на другом сервере, это может привести к проблемам с масштабируемостью, особенно если серверы Apache обслуживают большое количество байтов (например, если Apache обслуживает файл размером 500 Мб, это исчерпает весь ресурс)Память вашего скрипта Tomcat? Это зависит от того, насколько хорошо вы кодируете и тестируете свою страницу JSP! Осторожно!).Если страницы крошечные, это, вероятно, не проблема.

  2. Реализация какого-либо единого входа между Apache и Tomcat.Это может быть на основе файлов cookie или что-то более причудливое (например, с помощью внутреннего сервера аутентификации, отслеживающего сеансы).Таким образом, Apache будет знать, что пользователь, запрашивающий страницу https: //, был должным образом аутентифицирован и в противном случае отклонит запрос.Плюсы: полностью масштабируемыйМинусы: сложнее в настройке, многие решения есть коммерческие / платные продукты.

...