2009-09-25 2 views
1

Я участвую в процессе разработки веб-приложения Java EE. Он состоит из:Рекомендации по разработке безопасных веб-приложений Java SeE и Seam

  • модуля серверной (EJB 3.0)
  • 3 веб-модулей (JSF)

Наше приложение должно быть безопасным, поэтому некоторые его коллеги утверждают, что он должен быть разделен на два или более отдельные серверы - сервер на одном сервере, webapps в других (и). В нашем случае производительность не является проблемой, но эта архитектура требует использования удаленных интерфейсов в слое EJB.

Мы также планируем включить шов для упрощения разработки, но есть один drawback. Таким образом, мы пропускаем некоторые действительно интересные функции Seam, например. - extended persistence context in SFSB

Действительно ли использование архитектуры с двумя или несколькими отдельными серверами/машинами для каждого уровня веб-приложения Java EE действительно необходимо в аспектах высокой безопасности? Я не нашел ресурсов, объясняющих плюсы и минусы этой конфигурации. Каковы другие параметры конфигурации проекта/шаблоны безопасности, которые я должен учитывать, которые облегчают использование Seam? В других словах мы должны придерживаться этой архитектуры и добавлять Seam как есть или применять другое решение?

Если это помогает, мы можем использовать Spring вместо EJB, но EJB является более предпочтительным.

ответ

0

Вот простой ответ на ваш вопрос .... Безопаснее ли передавать данные через 3 сетевых подключения (Web-> веб-сервер 1, веб-сервер -> удаленный EJB - 2 и удаленный EJB-> DB - 3) или 2 сетевых подключения? 2 сетевое соединение по своей сути более безопасно, так как меньше подвержено враждебному прослушиванию на проводе. Если вы злоумышленник может прочитать память, используемую Java для очистки данных с вашего веб-сервера, у вас гораздо больше проблем, с которыми отдельный сервер просто не поможет.

+0

Я предполагаю, что веб-сервер находится в DMZ. Другие серверы находятся в частной сети, поэтому, не впадая в веб-сервер, трудно враждебно слушать провод? – cetnar

Смежные вопросы