Home > PKI, SSO > OpenSSO, EJBCA : Cas d’utilisation

OpenSSO, EJBCA : Cas d’utilisation

December 26th, 2008 Leave a comment Go to comments

Suite à une petite discussion avec Tomas (de PrimeKey) sur OpenSSO, nous nous étions dis qu’un petit exemple d’utilisation conjointe d’OpenSSO et d’EJBCA serait intéressant (ne serait-ce qu’au niveau marketing :), voici le résultat de mon travail.

Avant tout, voici le cas d’utilisation, assez simple en fait. Soit une application disposant de trois parties :

  • une partie publique, accessible à tout le monde
  • une partie privée, accessible uniquement aux membres d’un groupe donné
  • une partie super privée (oui bon, si vous avez un meilleur terme !), accessible uniquement aux membres d’un groupe (qui peut être le même que précédemment), mais dont l’authentification doit être obligatoirement effectuée par certificats.

En fait, suite aux divers billets du présent blog, cela peut paraître relativement simple, et étrangement, une fois les petits soucis réglés, ca se fais assez bien. Cela m’a permis d’aborder pas mal de nouvelles notions dans OpenSSO, notamment sur les stratégies (pour le contrôle d’URL), qui n’est pas forcément très intuitif. J’ai surtout passé du temps sur l’écriture des règles, car dans mon cas (une petite application JSF développée très rapidement avec NetBeans) l’URL que je dois préciser dans les règles sont différentes de celles visibles par le navigateur. J’imagine que l’ordre dans lequel les filtres sont déclarés dans le fichier web.xml de l’application y sont pour quelques choses.

Quelques points à retenir (surtout un pense bête personnel) :

  • pour la configuration de la chaîne d’authentification, j’en ai créée une nouvelle avec les deux modules (X509 et DataStore) en SUFFISANT, attention l’ordre est important, l’instance du module X509 doit donc être placé avant celle du DataStore)
  • l’accès aux pages publiques s’effectuent via la propriété NOT ENFORCED URI (qui permet de dire à l’agent d’ignorer certaiens URL)
  • définir l’URL du 403 dans le web.xml, la rajouter en NOT ENFORCED URI
  • si l’url du 403 est défini dans le web.xml, ne pas la définir au niveau de l’agent
  • j’ai attribué un score de 10 à l’authentification par certificat
  • j’ai utilisé deux stratégies, l’une pour autoriser l’accès à la partie sécurisée (en ayant un pattern matching d’URL assez fin). Une autre pour autoriser l’accès à tout (donc y compris la partie super sécurisée) mais en rajoutant une condition sur le niveau d’authentification
  • ne pas oublier de modifier le fichier bootstrap si on ne veut pas utiliser le royaume par défaut

Je mettrais bientôt en ligne une image VMWare (fusion, je ne sais pas si elles sont compatibles avec les autres) qui contient le serveur opensso, l’ejbca, et l’application. Prévoyez au moins 1GB de RAM rien que pour la machine virtuelle !

Categories: PKI, SSO Tags: ,
  1. December 28th, 2008 at 01:17 | #1

    Yo,

    Je vois à quoi tu as passé Noël 🙂

    A la finalité, c’est comment OpenSSO par rapport aux autres solutions OpenSource ?

  1. No trackbacks yet.