Qu’est ce que le Web SSO ?

L’authentification unique web, ou Web Single Sign-on permet aux utilisateurs de ne procéder qu’à une seule authentification pour accéder à un ensemble de serveurs web demandant une authentification. Le Web-SSO réduit considérablement le risque de perte des identifiants, et limite le nombre d’appel au help-desk pour débloquer les utilisateurs. Les utilisateurs ne doivent plus mémoriser un grand nombre d’identifiants et de mots de passe associés à des serveurs web de technologies diverses. Le Web SSO est donc bénéfique aux utilisateurs en simplifiant leurs accès, et bénéfique à l’entreprise en allégeant l’effort de support applicatif.

Les technologies du Web SSO

Il existe principalement deux techniques différentes pour mettre en place du Web SSO :
  • La gestion du SSO à l’intérieur de l’application web ou par l’utilisation d’agents dans les applications protégées.
  • La gestion du SSO en amont de l’application web, par l’utilisation de reverse-proxy web pour jouer les informations d’authentification dans l’application ; les données d’authentification secondaire.

Les Agents

Agents Web SSO

Les requêtes d’authentification sont interceptées par un module Agent qui doit être inséré dans l’application. Cet agent doit assurer l’authentification et la gestion du contrôle d’accès applicatif. Cette technologie possède plusieurs inconvénients :
  • Les applications doivent être modifiées pour prendre en compte l’agent de SSO. Cela dépend de la technologie de l’application web et du système d’exploitation, c’est souvent impossible dans des applications non maîtrisées.
  • L’application doit être directement visible depuis le navigateur de l’utilisateur. Lorsque l’utilisateur est sur Internet,  cela signifie que l’application est directement publiée sur Internet.

 Les Reverse-Proxy

Web SSO Reverse Proxy

Un serveur intermédiaire, le reverse-proxy, joue le rôle de passerelle entre le navigateur web de l’utilisateur et le serveur web à protéger. Le reverse proxy masque le serveur web protégé en présentant des URLs externes différentes des URLs internes. Il devient le point de passage et peut contrôler les accès et effectuer les opérations de Single Sign-On. Dans le cas idéal, il n’est pas nécessaire de modifier l’application protégée. Cette technologie présente néanmoins des inconvénients :
  • L’application web doit être correctement écrite et présenter des URLs propres, les URLs doivent être relatives à la racine du site web. La majorité des reverse-proxy ne modifient que les entêtes HTTP et sont incapables de modifier le contenu HTML des pages.
  • L’avènement des technologies AJAX et des manipulations d’URLs en JavaScript, rendent difficiles l’analyse des liens des pages et la reconstruction des URLs externes pour les reverse proxy.
  • L’application web ne doit pas contenir de liens en dur vers d’autres applications internes qui seraient elles aussi accessibles derrière un reverse proxy.
Mais cette technologie possède plusieurs avantages :
  • Elle est complètement indépendante des serveurs web, sur le plan technique et environnemental.
  • Plusieurs reverse-proxy peuvent protéger le même serveur web et assurer une haute disponibilité et une répartition de charge des points d’accès.
 

La technologie Web SSO dans Evidian Web Access Manager

Evidian Web Access Manager est basé sur l’utilisation de reverse-proxy intelligents. Evidian Web Access Manager utilise une technologie de reverse-proxy, capable de traiter en profondeur le flux HTTP entre le navigateur de l’utilisateur et le serveur web protégé.

Architecture de Web Access Manager

Web Access Manager utilise des reverse-proxy configurables dans trois modes différents en fonctions des contraintes de déploiement et des applications protégées :
  • Le mode « portal » ; une instance d’un reverse-proxy est utilisée pour protéger plusieurs applications web. L’URL externe « http://wam.domain.com/app1 » protégera l’application 1, l’URL externe « http://wam.domain.com/app2 » protégera l’application 2. Evidian Web Access Manager effectuera toutes les translations d’URLs nécessaires pour maintenir cohérentes toutes les URLs.
  • Le mode « remote web agent » ; une instance d’un reverse proxy est utilisée pour protéger une seule application. L’URL externe « http://wam.domain.com/ » protégera une seule application, les translations d’URLs seront faites à l’intérieur des pages web de l’application pour s’assurer qu’aucune URL interne ne soit publiée à l’extérieur.
  • Le mode « local web agent » ; une instance d’un reverse-proxy est déployée sur la même machine que l’application à protéger. Le reverse-proxy doit utiliser le port TCP de l’application, et l’application doit être déplacée sur un autre port ou alias de l’adresse de la machine. Le reverse-proxy n’effectue qu’une translation d’URL minimale dans le flux HTTP. Cette configuration possède l’inconvénient d’avoir un impact sur la configuration de l’application protégée, elle est donc utilisée dans des cas très spécifiques, dans le cas général elle n’est que peu applicable.

Web SSO Configurations

Toutes ces configurations sont combinables. Evidian Web Access Manager supporte la possibilité de configurer, de déployer, et d’administrer plusieurs « portal » et « agents » dans une même configuration, sur une ou plusieurs machines, administrés depuis une console unique. Le web SSO de Evidian Web Access Manager est non-intrusif pour les applications web.

Un processeur de requêtes et de réponses HTTP puissant

Le cœur de Evidian Web Access Manager  repose sur l’analyse de toutes les requêtes qui transitent entre le client et le serveur. Le processeur de requêtes effectue les tâches suivantes :
  • Détermine si une authentification primaire est nécessaire.
  • Effectue le contrôle d’accès, le filtrage et les autorisations.
  • Analyse  en profondeur le contenu des requêtes et réponses.
  • Effectue les translations d’URLs et les modifications de contenu et des entêtes protocolaires.
  • Réalise les authentifications secondaires et les injections de données dans le flux HTTP.