[J2EE] Tomcat security constraints IP en FORM

Pagina: 1
Acties:

  • tweakerbee
  • Registratie: Maart 2000
  • Laatst online: 18-02 22:54
Ik wil graag een context beveiligen met behulp van FORM-based authentication, maar voor bepaalde gebruikers (herkenbaar aan hun IP) deze check niet uitvoeren. Je kunt in een Servlet Container wel een paar constraints aanmaken, maar ik wil ze juist combineren. De form-based authentication moet overigens weer aan een LDAP server en/of SQL server gekoppeld worden, maar dat is een ander verhaal (daar ben ik nog mee bezig). Dat lijkt ook niet een groot probleem te vormen.
Momenteel denk ik er nog aan om Tomcat te gaan gebruiken, maar als een andere Servlet Container hier beter mee om gaat is dat een overweging.

Weet iemand een manier om dat te doen? Ik heb van Cafesoft wel wat gezien (CAMS) wat het zou moeten kunnen, maar dat pakket is veel te uitgebreid (en daardoor te duur). Ik heb wat gelezen over filters, maar dat leek niet echt een goede oplossing. Het schrijven van een eigen security realm zou (voor mij) redelijk ingewikkeld gaan worden, maar als dat de enige oplossing is moet dat maar. Ik zou nu alleen een zetje in de goede richting kunnen gebruiken, want ik verzuip er een beetje in.

You can't have everything. Where would you put it?


  • ari3
  • Registratie: Augustus 2002
  • Niet online
Ik denk eigenlijk dat of FORM-based authentication niet kan i.c.m. IP-authenticatie. Je hebt het dan immers over functionaliteit die niet in de FORM-based auth handler zit.

Indien je op beide manieren wilt authentificeren zou ik gewoon een filter implementeren die redirect naar de login-pagina als het request niet van een toegestaan IP-adres komt.

Mischien ten overvloedde, maar beveiliging op basis van IP-adres is een slecht idee voor productieomgevingen en servers die publiek aan internet hangen. IP is gemakkelijk te vervalsen.

[ Voor 3% gewijzigd door ari3 op 27-06-2006 23:14 ]

"Kill one man, and you are a murderer. Kill millions of men, and you are a conqueror. Kill them all, and you are a god." -- Jean Rostand


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:22

Janoz

Moderator Devschuur®

!litemod

Misschien is het een idee om eens naar Acegi te kijken. Hierbij kun je voor je security een filterchain opzetten. Op die manier kun je verschillende manieren van inloggen tegelijk gebruiken. Dat is precies wat je nodig hebt lijkt me.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • tweakerbee
  • Registratie: Maart 2000
  • Laatst online: 18-02 22:54
@ari3:

Het gaat om een applicatie die een naslagwerk digitaal presenteert. Institutionele gebruikers moeten daar zonder login bij kunnen (dat is in ieder geval de wens). Ik zou overigens niet weten hoe een IP adres in deze context makkelijk te vervalsen zou zijn. Spoofing is volgens mij alleen nog maar nuttig in het geval van DoS aanvallen e.d.

@Janoz:

Ben nu naar Acegi aan het kijken. Dat vereiste ook weer dat ik Spring ging bekijken. Het is in ieder geval genoeg om me even bezig te houden. Het lijkt erop dat Acegi zo uitbreidbaar is dat het inderdaad zou kunnen.

Een simpelere methode zou nog steeds mijn voorkeur hebben, maar het is in ieder geval op deze manier waarschijnlijk mogelijk. Het schrijven van een Filter zal ik ook nog eens goed gaan bekijken. Zou ik dan moeten kijken of het of van het juiste IP afkomt of er een geldige sessie is. Dat is ook niet 100% veilig, maar het voldoet verder wel.

You can't have everything. Where would you put it?