[Linux] Mise en place d’un serveur FreeRADIUS

 

Mise en place d’un serveur FreeRADIUS sur Linux
Article original Publié le : 21 novembre 2020
Mise a jour le :

 

Pour les besoins de faire de l’authent sur un serveur proxy Opnsense et des switchs, voici un simple tuto pour la mise en place de FreeRADIUS sur une Centos 7.x et sa configuration pour pouvoir l’utiliser en tant qu’interface vers un serveur FreeIPA

 

Ce tuto est dans la continuité de ces articles

https://it.izero.fr/freeipa-installation-du-serveur-et-premiers-pas/

https://it.izero.fr/proxy-mise-en-place-dopnsense (prochainement)

l’IP du serveur FreeRADIUS est 192.168.3.203
l’IP du serveur FreeIPA est 192.168.3.225
l’IP du serveur Opnsense est 192.168.3.202

Basé sur la doc FreeIPA avec quelques ajustements

 

 

  • Préparation de l’environnement
  • Ajout des règles sur firewalld
  • Configuration de Freeradius
  • Test du FreeRadius interfacé avec FreeIPA
  • Démarrage du service
  • Référentiel et doc

 

 

I. Préparation de l’environnement

  • Mise a jour du système

  • Installation des paquets nécessaires

  • Installer les paquets utiles

/!\ pwgen n’est pas natif dans les repo centos, il faut installer le repo epel

 

 

II. Ajout des règles sur firewalld

Si utilisé, prévoir l’ouverture des ports 1812/1813 en udp puis recharger la conf

 

 

III. Configuration de Freeradius

Différents fichiers de configuration doivent être modifiés

Pour commencer générer le secret partagé avec pwgen

 

Éditer le fichier clients.conf et ajouter le champs ci dessous en spécifiant le subnet et le secret partagé

 

Éditer le vhost default

Rechercher et remplacer le champs

Par

Et dé-commenter les lignes suivantes

 

Apporter les mêmes modifications au fichier inner-tunnel

Rechercher et remplacer le champs

Par

Et dé-commenter les lignes suivantes

 

Éditer le fichier ldap et remplacer le serveur et les valeurs de son domaine FreeIPA
Ce n’est pas indiqué dans la doc officiel mais il faut ajouter le cn=users,cn=accounts au base_dn sinon cela ne match pas

par

et

par

 

Puis faire un lien symbolique

 

Faire un test avec telnet (389 ou 636) pour vérifier la connexion avec le serveur Freeipa

 

Le serveur est normalement opérationnel, faire un test, cela renverra toute la conf brut mais ne doit pas renvoyer d’erreur

 

 

IV. Test du FreeRadius interfacé avec FreeIPA

Pour faire le test, lancer la commande radtest avec les credentials d’un compte sous FreeIPA, le nom ou l’ip du serveur, le port et la clé partagé.
Puis dans un second terminal, lancer un process freeradius en mode debug pour vérifier en live la connectivité dans les logs

 

Sur le  second terminal lancer la commande suivie de son paramètre

Voici dans l’exemple pour un compte et un secret valide ce que cela renverra

 

Pour un mot de passe erroné

 

Pour un utilisateur inexistant

 

Pour un secret erroné

 

A garder en mémoire, quand ça match ça renvoi un code 2 (Access-Accept),
quand c’est en erreur cela renvoi un code 3 (Access-Reject)

Les codes sont définis dans la doc

RADIUS Codes (decimal) are assigned as follows:

  • 1 Access-Request
  • 2 Access-Accept
  • 3 Access-Reject
  • 4 Accounting-Request
  • 5 Accounting-Response
  • 11 Access-Challenge
  • 12 Status-Server (experimental)
  • 13 Status-Client (experimental)
  • 255 Reserved

 

Il existe un client sous Windows NTRadPing 1.5 RADIUS Test Utility qui est assez complet

 

 

V. Démarrage du service

Penser a stopper le process actif de debug puis démarrer et vérifier le status du process

 

 

En cas de fail du service, vérifier la cause dans le fichier radius.log

 

 

VI. Référentiel et doc

Doc officiel

https://freeradius.org/rfc/rfc2865.html

https://www.freeipa.org/page/Using_FreeIPA_and_FreeRadius_as_a_RADIUS_based_software_token_OTP_system_with_CentOS/RedHat_7

 

 

No votes yet.
Please wait...

2 thoughts to “[Linux] Mise en place d’un serveur FreeRADIUS”

  1. Salut
    Joli tuto J’aimerai savoir si les clients LDAP ont des mots de passe chiffrés et qu’ils pourront se connecter à un point d’accès mode wpa entreprise et radius défini.?

    No votes yet.
    Please wait...
    1. Bonjour,
      Les mots de passe dépendent des serveurs d’authent. Le Freeradius est juste une interface entre le serveur et le client

      No votes yet.
      Please wait...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.