Documentation
Support
Téléchargements
À propos

www.inl.fr

Authentification unique (Single Sign On)

Une authentification unique (SSO) sécurisée

NuFW fournit un cadre élégant et sécurisé pour construire des solutions d’authentification unique. Le principe en est complètement naturel puisque c’est la passerelle, point de passage obligé, qui centralise et répond aux requêtes d’authentification.

Principes du SSO

NuFW 0.7.1 a introduit une option permettant de maintenir à jour en temps réel une table des connexions authentifiées : c’est une table de conntrack où chaque entrée contient les paramètres IP d’une connexion, l’identité de l’utilisateur qui en est à l’origine et l’état de cette connexion (fermée, établie, ouverte). Cette table est stockée dans une base SQL (MySQL et PostgreSQL sont supportés, des connecteurs pour d’autres types de bases pouvant être développés ).

Comme un serveur (comme Apache par exemple) connais les paramètres IP des connexions qu’il reçoit, il peut effectuer une requête sur la base de donnée SQL pour trouver l’entrée correspondant à cette connexion. Cette entrée contenant l’identifiant de l’utilisateur, il y a authentification.

Cette authentification de l’utilisateur est entièrement transparente. Par conséquent, ce principe permet de construire des systèmes complets de SSO où la clé est un parefeu Netfilter intégrant NuFW.

Description du SSO

Le schéma suivant décrit le fonctionnement du SSO NuFW :

La partie client est omise du schéma pour clarifier la situation.

  1. L’utilisateur, nommé 1, envoie un paquet au serveur qui est stoppé par la passerelle.
  2. La passerelle vérifie l’autorisation de passage
  3. si le paquet est autorisé, la passerelle remplit la table de conntrack SQL.
  4. La passerelle transmet le paquet au serveur.
  5. Le serveur connait les paramètres IP de la connexion qu’il veut authentifier. Il demande donc au serveur SQL qui est l’utilisateur à l’origine de cette connexion.
  6. Connaisant maintenant l’utilisateur, l’application répond.
  7. La passerelle retourne le paquet à l’utilisateur A qui est maintenant authentifié.

Une méthode fiable

La méthode utilisée est prouvée : la connexion est arrivée au serveur après avoir été authentifiée par la passerelle. Le serveur effectue donc une requête sur des informations vérifiées auparavant par le système NuFW.

Une implémentation simple

Du côté du serveur, la procédure d’authentification est limitée à :

  1. récupérer les coordonnées IP de la connexion
  2. faire un SELECT sur la base SQL

L’implémentation est donc très facile et ne repose pas sur des interactions entre les applications comme c’est le cas avec beaucoup de solutions moins évoluées.