Dans certains contextes, ces 3 fonctions sont utilisées simultanément. Dans d'autres, c'est uniquement la première (l'authentification) qui est utilisée. Tout dépendra du niveau de sécurité souhaité, du nombre d'équipements ou d'utilisateurs, des besoins de contrôle ou encore des obligations légales.
3 fonctions essentielles
Ces trois fonctions sont regroupées sous le triptyque "AAA" qui en anglais correspond à "Authentication" (authentification), "Autorization" (autorisation) et "Accounting" (comptabilisation).
Serveur centralisé
C'est sur un serveur central que ces 3 fonctions sont accessible pour les clients. On parle communément de "serveur AAA" (prononcer "serveur triple A"). Un client envoie une requête et le serveur répond.
Deux grands types de serveurs AAA se taillent la part du lion : D'un coté il y a les serveurs RADIUS et de l'autre les serveurs TACACS.
Malgré leurs différentes, ces deux protocoles ont un même objectif : Authentifier les accès, gérer les droits et tracer les actions effectuées. Le tout de façon centralisée s'il vous plait ! L'authentification ("Authentication") - 1ère fonction
Cette fonction est essentielle : Elle permet d'authentifier un utilisateur ou système via la vérification d'un mot de passe (par exemple). Le serveur répondra par l'affirmative si le login et le mot de passe soumis ont été reconnus. Dans le contraire ce sera un "non" impératif.
A noter que dans le cas d'une réponse affirmative, la réponse contient des informations utiles à l'établissement de la session (par exemple, l'adresse IP à allouer à un utilisateur, son niveau de droits par défaut, ...). Ce sont les "attributs" de la réponse.
Pour une requête d'authentification, le mot de passe transmis est sécurisé via des protocoles comme PAP (Password Authentication Protocol) ou mieux encore CHAP (Challenge Handshake Authentication Protocol).
Point de "triple A" sans la fonction d'authentification : C'est la fonction "reine" sans lesquelles les deux autres n'auraient pas de sens ou d'utilité. Elle est donc obligatoirement activée.
L'autorisation ("Autorization") - 2nde fonction
Avec une requête d'autorisation, la commande soumise à l'assentiment du serveur AAA ne pourra être exécutée sur le client que si la réponse donnée est positive.
L'autorisation permet de gérer en central les commandes pouvant être exécutées ou non sur un système.
Dans le cas d'un accès en ligne de commande sur un routeur, chaque commande est préalablement autorisée via cette fonction. Il est évident que l'activation de cette fonction sur un parc très important de routeurs peut générer un très grand nombre de requêtes : Le serveur AAA devra être donc être dimensionné en conséquence.
Cette fonction d'autorisation est optionnelle : Elle ne sera activée qu'en cas de besoin (par exemple sur des équipements très sensibles ou pour des contextes ou les équipements sont gérés par de multiples parties).
La comptabilisation ("Accounting") - 3ième fonction
Et enfin, si c'est une requête de type comptabilisation, les données transmises par le client seront purement et simplement enregistrées dans un fichier ou une base de données.
Ces requêtes sont lancées suite à différents évènements : Début ou fin de connexion d'un utilisateur, au bout d'une certaine durée de connexion, suite à l'exécution d'une commande, etc...
En fait, les évènements déclencheurs sont variés et dépendent du type de client et de sa configuration. Pour des accès réseau, des requêtes de comptabilisation vont être générées lors du début de la connexion, au bout de quelques heures de connexion et lors de la déconnexion. Dans le cas des accès en ligne de commande pour administrer un routeur c'est à chaque commande que ces requêtes de comptabilisation peuvent être générées.
L'utilisation de cette fonction de comptabilisation est optionnelle. Dans le cas des accès réseau elle est systématiquement utilisée (pour générer la facturation notamment) alors que dans d'autres contextes elle n'est activée que si le niveau de sécurité demandé est particulièrement élevé.
Panachage selon les goûts
Comme cela a été évoqué plus haut, seule la première fonction dite d'authentification est obligatoire : Les 2 autres fonctions que sont l'autorisation et la comptabilité sont optionnelles.
Pour illustrer les choix, je vous propose une illustration pour deux systèmes différents :
Les routeurs d'infrastructure (backbone)
Ces routeurs backbone sont physiquement dans les salles blanches d'un opérateur. Il est essentiel que tous les moyens utiles soient mis pour assurer leur sécurité.
Outre un réseau dédié et des protocoles d'administration sécurisés c'est du (Triple A ou "AAA") complet (Authentication, Autorization et Accounting), qui est principalement déployé : Cela va permettre de gérer en central qui a le droit de connecter aux routeurs, de spécifier les commandes permises en fonction du rôle de chacun des administrateurs et de tracer qui a fait quoi.
L'augmentation du volume de requêtes provoquée par l'activation de l'autorisation (Autorisation) et de la comptabilité (Accounting) est contre-balancée par un nombre assez raisonnable de routeurs (de plusieurs centaines) et une infrastructure de serveurs AAA fiable et redondée.
Routeurs d'interconnexion clients
Ces routeurs se trouvent dans les locaux des clients , dans le verbiage opérateur on parle de CPE (Customer Premisses Equipment). Les personnes en charge du SAV ou de la supervision des accès clients accèdent à ces équipement à distance.
De part leur nombre particulièrement grand (plusieurs centaines de milliers, ou dans certains cas quelques millions) et de part leur niveau de sensibilité moindre, seul la fonction d'Authentification est typiquement activé sur ces équipements. On parle de "simple A".
Il reste possible d'activer le "triple A" ou "AAA" pour des clients spécifiques demandant un niveau de sécurité plus élevé que le niveau standard. Évidemment, il est possible de mettre en place un "AAA" complet sur tout un parc de routeurs mais cela aura un coût important car l'infrastructure de serveurs AAA devra être particulièrement robuste et performante pour encaisser la charge.