FreeRADIUS - Au sujet des certificats !

Bonjour à tous, :slightly_smiling:

Je suis en train de mettre en place un serveur RADIUS afin d’authentifier des clients se présentant sur des switchs.
J’ai testé le bon fonctionnement du serveur en utilisant une authentification manuelle et en clair et tout fonctionne correctement.
Donc pour renforcer la sécurité sur ce serveur, l’authentification choisie est EAP-TLS et pour cela j’ai besoin d’intégrer un certificat à mes clients qui leur permettront de s’authentifier.

Je souhaiterais donc avoir quelques précisions sur la manière dont fonctionne les certificats car j’avoue ne pas connaître grand chose à la cryptographie !

En clair, je ne sais pas comment faire pour générer le certificat client qui sera intégré aux stations (Windows ou Linux).

Quelqu’un a une idée ?
Merci. :wink:

Regarde du côté d’OpenSSL je pense non? :wink:

Bien sûr que j’ai déjà regardé par là, le problème c’est que je ne sais pas générer mes certificats correctement car une fois généré et intégré à ma connexion, le certificat client ne part pas avec l’authentification (flagrant avec Wireshark) et il ne se passe rien du côté de mon serveur RADIUS (que je log en mode debug).

Dans le cas précis de FreeRADIUS quelle est la procédure à suivre afin que les certifs soient correctement générés ?

Si quelqu’un a déjà utilisé le service dans ce cas précis je suis preneur !
Merci. :wink:

J’ai l’impression que mon problème n’inspire pas grand monde ! :think:

Je reviens quelques mois après cette question où je me suis rendu compte que j’avais résolu ce problème et que je n’avais pas fermé le sujet.

Mon FreeRADIUS configuré en EAP-TLS ne fonctionnait pas car un firewall placé entre le supplicant et le serveur filtrait certaines de mes requêtes. Je n’avais pas pris la peine de vérifier étant convaincu qu’il n’y en avait pas, erreur de ma part ! :smiley:

Cela dit pour répondre à ma propre question et surtout pour aider ceux qui à l’avenir se poseront la même, je vais poster la procédure permettant de générer des certificats correctement sous openSSL :

Génération de la clef privée

/usr/bin/openssl req -config ca_openssl.cnf -new -x509 -keyout /path/to/my/certifs/demoCA/private/cakey.pem -out /path/to/my/certifs/demoCA/cacert.pem -days 3650 -passin pass:YourPassword -passout pass:YourPassword

Création du certificat au format P12 en utilisant la clef précédemment créée

/usr/bin/openssl pkcs12 -export -in /path/to/my/certifs/demoCA/cacert.pem -inkey /path/to/my/certifs/demoCA/private/cakey.pem -out /path/to/my/certifs/CERTIFICATS/Autorite_Certif_P12.p12 -cacerts -passin pass:YourPassword -passout pass:YourPassword

Création du certificat au format PEM à partir du certificat au format P12

/usr/bin/openssl pkcs12 -in /path/to/my/certifs/CERTIFICATS/Autorite_Certif_P12.p12 -out /path/to/my/certifs/CERTIFICATS/Autorite_Certif_PEM.pem -passin pass:YourPassword -passout pass:YourPassword

Conversion du certificat au format DER

/usr/bin/openssl x509 -inform PEM -outform DER -in /path/to/my/certifs/CERTIFICATS/Autorite_Certif_PEM.pem -out /path/to/my/certifs/CERTIFICATS/Autorite_Certif_DER.der

Il ne reste plus qu’à intégrer le certificat sur le supplicant et d’effectuer un test de connexion vers le serveur RADIUS.
:023

Merci pour ton retour, ça fais plaisir de voir que même résolu par toi même tu partage la solution avec les autres.