2016-08-04 28 views
0

Ich habe eine Java/JEE-Webanwendung auf Apache Tomcat 7.x ausgeführt. Lassen Sie uns sagen, dass es auf dieser URL läuft:Wie Verhindern des Zugriffs auf eine Back-End-Anwendung, die von einem TAM-WebSEAL geschützt wird?

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

Ich möchte steuern den Zugriff auf diese App über einen WebSEAL-Server (TAM für eBusiness 6.0). Also, ich habe eine Transparentpfadverbindung /app erstellt, um auf die Anwendung zuzugreifen.

So, jetzt kann ich darauf zugreifen über die WebSEAL URL, etwa so:

https://secure.example.com/app

Ich habe auch eine ACL, die als Passthrough wirkt und erlaubt es jedem, die App unter Verwendung der oben für den Zugriff auf WebSEAL-URL Die Authentifizierung wird direkt von der App gesteuert. Also brauche ich TAM nicht, um den Benutzer zu authentifizieren.

Meine Frage ist, wie kann ich verhindern, dass ein Benutzer über diese URL direkt auf die App zugreifen: http://app.example.com:9080/app?

Ich möchte wissen, ob ich eine Art von Identifikation verwenden kann, die mir sagt, ob die Anfrage von einem WebSEAL-Server oder direkt an die App-URL kommt.

Ich habe versucht, diese Optionen auf der WebSEAL Junction zu aktivieren:

Unter Clientidentität Headers

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

Allgemeine Optionen

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

Diese Optionen es sei denn, die alle HTTP-Header nicht hinzufügen Benutzer wird von TAM authentifiziert, was für mich keine Option ist. Wenn dies möglich ist, kann ich einen Webfilter erstellen, der diesen Header in der Java-App liest und die Anforderung verhindert, wenn der Header fehlt. Aber kein Glück damit.

Irgendwelche Vorschläge?

Antwort

1

Diese Frage muss nicht unbedingt vom webseal-Bereich beantwortet werden.

  1. Wenn Sie nur Verbindungen von anderen Servern verweigern, in dem Firewall Sie nur von der IP/DNS Ihrer WebSeal Serveranforderungen zulassen. Oder Sie können von tomcat finden Sie unter:

    Tomcat Restrict access by IP address

  2. Wenn Sie den Ursprung der Anfrage Anwendung in der Anwendung überprüfen möchten, können Sie die iv-cred oder iv-user HTTP-Header finden. Dies ist nicht 100% effektiv, vielleicht kann jemand den Header künstlich setzen. Eine gute Idee ist, fügen Sie ein bestimmtes Element in iv-cred mit Zeitstempel gemischt, um in Ihrer Anwendung den Ursprung und die Uhrzeit der Anfrage zu überprüfen. Siehe:

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

+0

Dank für die Zeit nehmen und eine Antwort zu geben. Ich konnte es vor ein paar Tagen zur Arbeit bringen. Ich wollte hier eine Antwort darauf schreiben, was ich getan habe. aber ich hatte keine Chance dazu. Ich werde es so bald wie möglich tun. Vielen Dank. – anacron