Java-приложение защищено KERBEROS

1

Я хотел бы защитить свое веб-приложение Java от KERBEROS. Кто-нибудь знает, что требуется для этого, и сколько мне потребуется изменить мое приложение, если мои текущие пользователи хранятся в базе данных MySQL? Нужно использовать VPN? Если я не прав, каждый из клиентов проверяет подлинность над KDS в том же домене, но мое приложение находится на удаленном сервере (не в том же домене?).

Теги:
kerberos

1 ответ

2
Лучший ответ

Вы должны предоставить нам более подробную информацию о вашем приложении и вашей среде. То, что делает kerberos, дает пользователю возможность доказать, что он действительно тот, кем он себя утверждает. При желании вы можете проверить, что он поступает с IP-адреса, на который он претендует, хотя позже пользователи редко пользуются из-за балансировщиков NAT/Proxies/Load.

В каком контейнере работает ваше приложение? Большинство современных контейнеров сервлетов (JBoss/Websphere) предоставляют аутентификацию Kerberos из коробки. Вам просто нужно настроить ваш web.xml или в случае, если websphere просто настроит приложение правильно.

У вас есть инфраструктура kerberos? Если вы находитесь в среде корпоративных окон с контроллером домена Active Directory, вы уже это сделали. В этом случае вам нужно настроить рабочие станции в домене. Самый простой случай: если ваши рабочие станции являются членами домена, а активный контроллер каталогов также является вашим DNS-сервером, а ваше приложение работает в локальном домене, а ваш браузер - IE или Chrome. В противном случае вам нужно выполнить дополнительную настройку.

VPN не требуется, хотя, если у вас есть, это немного упростит ситуацию.

Что касается вопроса о вашем домене, есть большая путаница, особенно с администраторами Windows над тем, что на самом деле является доменом. Домен может быть доменом DNS, таким как stackoverflow.com, и домен может быть активным доменом каталога, который является чем-то совершенно безразличным. В классическом Unix kerberos домен kerberos называется REALM, и есть файл конфигурации, который отображает домены DNS в области Kerberos.

Ваше приложение может быть в любом DNS-домене, который вы хотите, он также может быть в любом домене Active Directory, но в этом случае между различными доменами должно быть установлено доверительное отношение.

В нижней строке, как минимум, вам нужно настроить две вещи. DNS-сервер должен иметь записи SRV, чтобы браузер мог найти сервер KDC. И вам нужно зарегистрировать свое приложение в KDC.

Для получения дополнительной информации google смотрите здесь:

  • 1
    Мое приложение работает на Tomcat. Там нет никакого KDC. Каждый из пользователей находится в разных местах (разных локальных сетях) в мире. Моя цель - использовать кереброс для безопасного общения. Но Kerberos требует аутентификации пользователей, а мне это не нужно. Мое приложение сейчас не защищено, и мой руководитель сказал мне, что я должен найти какой-нибудь способ защитить его с помощью Kerberos. Только проверьте, сложно это или нет, и насколько мы должны изменить наше приложение. Поэтому я не хотел бы решать серверы вокруг, а только реализацию Kerberos для приложения.
  • 0
    Как я уже сказал, это зависит от многих вещей. Если вы используете стандартные java-модули безопасности и роли, это просто вопрос замены модуля аутентификации на тот, который выполняет Kerberos. В противном случае вам нужно сделать кодирование. Kerberos немного сложен в настройке, если вы не находитесь в корпоративной среде, но это возможно. Одна из проблем заключается в том, что пользователи должны настраивать свои браузеры соответствующим образом, что может быть плохо для вашей ситуации. С другой стороны, преимущество Kerberos в том, что он аутентифицирует каждый запрос, тем сложнее украсть сеанс.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню