Как предотвратить доступ к внутреннему приложению, защищенному TAM WebSEAL?

У меня есть веб-приложение Java/JEE, работающее на Apache Tomcat 7.x. Допустим, он работает по этому URL-адресу:

http://app.example.com:9080/app

Я хочу контролировать доступ к этому приложению через сервер WebSEAL (TAM для электронного бизнеса 6.0). Итак, я создал перекресток с прозрачным путем /app для доступа к приложению.

Итак, теперь я могу получить к нему доступ через URL-адрес WebSEAL, например:

https://secure.example.com/app

Я также создал ACL-список, который действует как сквозной и позволяет любому получить доступ к приложению, используя приведенный выше URL-адрес WebSEAL. Аутентификация контролируется непосредственно приложением. Итак, мне не нужен TAM для аутентификации пользователя.

Мой вопрос: как запретить пользователю доступ к приложению напрямую через этот URL: http://app.example.com:9080/app?

Я хочу знать, могу ли я использовать какую-либо идентификацию, которая сообщает мне, поступает ли запрос с сервера WebSEAL или непосредственно на URL-адрес приложения.

Я попытался включить следующие параметры в WebSEAL Junction:

Под заголовками идентификации клиента

User Name (Short)
User Name (Full DN)
User Groups List
User Credential

Общие настройки

Insert client IP header
Insert WebSEAL cookies
Preserve names of cookies
Add cookie path to cookie names

Эти параметры не добавляют никаких заголовков HTTP, если пользователь не аутентифицирован TAM, что для меня не вариант. Если бы они могли, я мог бы создать WebFilter, который мог бы читать этот заголовок в приложении Java и предотвращать запрос, если заголовок отсутствует. Но не повезло с этим.

Какие-либо предложения?


person anacron    schedule 04.08.2016    source источник


Ответы (1)


На этот вопрос не обязательно отвечать из области веб-печати.

  1. Если вы хотите запретить соединения только с других серверов, в брандмауэре вы можете разрешить запросы только с IP/DNS вашего сервера WebSeal. Или вы можете сделать из tomcat, см.:

    Tomcat Ограничить доступ по IP-адресу

  2. Если вы хотите проверить в своем приложении происхождение приложения запроса, вы можете найти HTTP-заголовок iv-cred или iv-user. Это не на 100% эффективно, может кто-то может поставить заголовок искусственно. Хорошая идея — добавить в iv-cred определенный элемент, смешанный с отметкой времени, чтобы проверить в приложении источник и время запроса. Видеть:

    https://www.ibm.com/developerworks/tivoli/tutorials/tz-tamauthapi/

person Mauro    schedule 14.02.2017
comment
спасибо, что нашли время и предоставили ответ. Я смог заставить его работать несколько дней назад. Я хотел опубликовать здесь ответ о том, что я сделал; но не было возможности сделать это. Я сделаю это как можно скорее. Спасибо. - person anacron; 14.02.2017