Le wi-fi sécurisé
 09/03/2007 
 Christian CALECA 
Liste des cours

Les certificats

Accueil ] [ Introduction ] [ Solutions ] [ Authenticator ] [ WPA2 ] [ Authentifications ] [ Les certificats ]


Nous allons créer tous les certificats nécessaires à l'utilisation de EAP-TLS. Il nous faudra :

Pour réaliser tout ceci, nous faisons appel à OpenSSL. Mais la ligne de commande n'est pas bien ergonomique. Fort heureusement, il existe un outil qui va nous aider grandement : TinyCA.

TinyCA est une application (perl/GTK) qui permet de manipuler plus facilement OpenSSL. Nous pourrons réaliser et gérer avec les divers certificats qui nous seront nécessaires. Il n'est ni utile ni même souhaitable d'effectuer cette opération sur le serveur FreeRADIUS. Au contraire, il est même vivement conseillé de réaliser les opérations qui suivent sur une machine inaccessible depuis le réseau.

Création d'une CA

C'est bien sûr la première opération à réaliser. D'ailleurs la fenêtre qui suit est la première que vous verrez au premier lancement de tinyca :

création CA

Puis vient la configuration. Pour les tests, nous garderons les valeurs par défaut :

configuration CA

Le temps que les clés se construisent, et nous obtenons :

CA

Configuration des préférences

Le menu "préférences" va nous permettre de donner quelques directives fondamentales pour ce que nous avons à faire.

Pour les certificats du serveur, nous devons ajouter l'extension 1.3.6.1.5.5.7.3.1, ce qui, en français, signifie que le certificat est destiné à un serveur d'authentification. De même, choisissez la durée de validité du certificat (ici, un an). A échéance, il faudra penser faire un nouveau certificat.

préférences

Pour les certificats des clients, nous devons ajouter l'extension 1.3.6.1.5.5.7.3.2, qui signifie que les certificats sont destinés à authentifier les clients. Pensez aussi à leur durée de validité.

settings

Création du certificat du serveur

La création des divers certificats (serveur et clients) suit la même procédure, en utilisant le paramétrage par défaut effectué plus haut. Il suffit de compléter les champs vides :

serveur

En réalité, nous n'avons créé qu'une requête de certificat. Cette requête doit maintenant être validée par la CA, ce qui se traduit par l'apposition de la signature de la CA. Il s'agit du mot de passe choisi lors de la création de la CA :

sign

Notez que lors de cette opération, il est possible de modifier la durée de validité. C'est important surtout pour les certificats clients. Il est en effet possible d'envisager la création de certificats à durée très courte, dans le cas de clients de passage, par exemple, ou pour des autorisations ponctuelles.

valider

A l'issue de la signature, assurez-vous que le compte-rendu est positif. Nous devons retrouver le certificat inscrit dans la liste :

certif

Création d'un certificat client :

Procédure identique :

procédure

Je passe les détails de signature. Au final, nous avons :

Tiny

Exportation des certificats

Il nous faut maintenant exporter les certificats à installer sur le serveur et sur le(s) client(s).

Certificat de la racine de confiance (CA)

Ce certificat, qui représente la racine de confiance, devra être présent sur le serveur RADIUS et sur tous les clients. Nous devons donc l'exporter dans des formats compatibles avec OpenSSL (pem) et Windows (der).

Rappelons que c'est ce certificat qui permettra :

export

Vérifions que l'exportation est réussie :

succes

Et recommençons l'opération, mais au format .der (je passe les détails).

Certificat du serveur

Ce certificat ne sera installé que sur le serveur FreeRADIUS, donc le format pem (avec la clé privée et l'empreinte intégrées) suffira :

serveur

Certificat client

Ce certificat servira à "user1". Suivant qu'il utilisera Windows ou GNU/Linux, il lui faudra un .pem ou un .pkcs#12 (clé privée intégrée). C'est un utilisateur bicéphale, son portable est en "dual-boot".

L'exportation au format .pem se fait de la même manière que pour le serveur, passons les détails. En revanche, pour le format pkcs#12, c'est un petit peu plus compliqué :

client

Deux mots de passe sont demandés :

mdp

Au final, nous avons dans notre répertoire d'exportation :

Et la révocation

Il peut se faire, pour de multiples raisons, que l'on doive rendre inopérant un certificat avant sa date d'expiration :

Il faut donc disposer d'un moyen pour que le serveur RADIUS puisse rejeter des certificats non expirés, mais désormais interdits d'accès.

Dans un tel cas, il faut alors pouvoir créer un certificat de révocations qu'il sera nécessaire d'installer sur le serveur, et le configurer pour qu'il le consulte à chaque authentification. Tinyca sait réaliser de tels certificats. Ici, nous avons révoqué le certificat de "user2" :

Tiny

Il nous faut maintenant exporter un certificat des révocations :

export

30Attention à la durée de validité d'un tel certificat. Bien entendu, ce certificat ne doit jamais expirer.

Nous retrouvons dans le répertoire d'exportation le certificat :

root_maison_CA-crl.pem

 

 

 

 


Précédente ] [ Accueil ]