2012-03-25 2 views
1

Рассмотрим следующую архитектуру с двумя веб-серверами (для балансировки) и около 10 серверов приложений Java для обработки сервлетов.Где должна выполняться проверка подлинности: «Веб-сервер или AppServer»?

Где, по вашему мнению, подходящее место для аутентификации. В ApacheWebserver или пользовательский код на одном из серверов приложений?

Если я выполняю аутентификацию на Web-сервере, как мы должны обрабатывать пользовательские вещи, такие как OPENId?

РЕДАКТИРОВАТЬ: И каковы последствия выбора либо по производительности, масштабируемости и безопасности?

ответ

2

Как обычно с архитектурой вопрос ответ зависит от многих вещей.

  • Сделай веб-серверы делать все, что нуждается в защите (например, обслуживания статического контента. Затем вы должны сделать проверку подлинности на (или раньше) веб-сервер

  • являются веб-серверы или серверы приложений близко к максимальной емкости? Попробуйте сделать аутентификацию на стороне

  • Может ли веб-сервер обрабатывать все требования к аутентификации? Или нужна логическая/информация, которая недоступна на веб-сервере (например, репутация здесь в SO, которая затрагивает , что может делать пользователь). Требование поддерживать OpenId может быть таким ограничивающий фактор.

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

+0

Как их обещают в плане безопасности и производительности? –

+0

Это немного похоже на вопрос: «Чем быстрее стул или помидор?» Укажите, каковы ваши потребности в аутентификации/авторизации, каковы ваши требования и какие векторы атаки вы беспокоитесь, чем добавьте несколько тысяч долларов для чтения, понимания и анализа всего этого, и кто-то, возможно, придумает ответ. Или просто примите «Это зависит», приведенное в первом предложении. :) –

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