Afin de contrôler les accès distants à un système informatique, il est tout d'abord nécessaire (1) d'authentifier la personne souhaitant se connecter ; (2) s'assurer qu'elle n'utilise ou ne lance que des actions pour lesquelles elle est autorisée et enfin (3) qu'il soit possible de d'enregistrer ses actions à des fins d'audit ou de contrôle à postériori.
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.