17.5. Configuration de FreeRADIUS pour authentifier les clients du réseau en toute sécurité à l'aide d'EAP


FreeRADIUS prend en charge différentes méthodes du protocole d'authentification extensible (EAP). Cependant, pour un réseau sécurisé, configurez FreeRADIUS pour qu'il prenne en charge uniquement les méthodes d'authentification EAP sécurisées suivantes :

  • EAP-TLS (transport layer security) utilise une connexion TLS sécurisée pour authentifier les clients à l'aide de certificats. Pour utiliser EAP-TLS, vous avez besoin de certificats clients TLS pour chaque client du réseau et d'un certificat serveur pour le serveur. Notez que les certificats doivent être émis par la même autorité de certification (AC). Utilisez toujours votre propre autorité de certification pour créer des certificats, car tous les certificats clients émis par l'autorité de certification que vous utilisez peuvent s'authentifier auprès de votre serveur FreeRADIUS.
  • EAP-TTLS (tunneled transport layer security) utilise une connexion TLS sécurisée et authentifie les clients à l'aide de mécanismes tels que le protocole d'authentification par mot de passe (PAP) ou le protocole d'authentification par challenge handshake (CHAP). Pour utiliser EAP-TTLS, vous avez besoin d'un certificat de serveur TLS.
  • EAP-PEAP (protected extensible authentication protocol) utilise une connexion TLS sécurisée comme protocole d'authentification externe pour établir le tunnel. L'authentificateur authentifie le certificat du serveur RADIUS. Ensuite, le demandeur s'authentifie par le biais du tunnel crypté en utilisant le protocole d'authentification Microsoft challenge handshake version 2 (MS-CHAPv2) ou d'autres méthodes.
Note

Les fichiers de configuration par défaut de FreeRADIUS servent de documentation et décrivent tous les paramètres et directives. Si vous souhaitez désactiver certaines fonctionnalités, commentez-les au lieu de supprimer les parties correspondantes dans les fichiers de configuration. Cela vous permet de préserver la structure des fichiers de configuration et la documentation incluse.

Conditions préalables

  • Vous avez installé le paquetage freeradius.
  • Les fichiers de configuration du répertoire /etc/raddb/ sont inchangés et fournis par le paquetage freeradius.
  • Les fichiers suivants existent sur le serveur :

    • Clé privée TLS de l'hôte FreeRADIUS : /etc/raddb/certs/server.key
    • Certificat de serveur TLS de l'hôte FreeRADIUS : /etc/raddb/certs/server.pem
    • Certificat d'autorité de certification TLS : /etc/raddb/certs/ca.pem

    Si vous stockez les fichiers à un autre endroit ou s'ils portent des noms différents, définissez les paramètres private_key_file, certificate_file et ca_file dans le fichier /etc/raddb/mods-available/eap en conséquence.

Procédure

  1. Si le site /etc/raddb/certs/dh avec les paramètres Diffie-Hellman (DH) n'existe pas, créez-en un. Par exemple, pour créer un fichier DH avec une primauté de 2048 bits, entrez :

    # openssl dhparam -out /etc/raddb/certs/dh 2048
    Copy to Clipboard

    Pour des raisons de sécurité, n'utilisez pas un fichier DH avec moins de 2048 bits. Selon le nombre de bits, la création du fichier peut prendre plusieurs minutes.

  2. Définissez des autorisations sécurisées pour la clé privée TLS, le certificat du serveur, le certificat de l'autorité de certification et le fichier contenant les paramètres DH :

    # chmod 640 /etc/raddb/certs/server.key /etc/raddb/certs/server.pem /etc/raddb/certs/ca.pem /etc/raddb/certs/dh
    # chown root:radiusd /etc/raddb/certs/server.key /etc/raddb/certs/server.pem /etc/raddb/certs/ca.pem /etc/raddb/certs/dh
    Copy to Clipboard
  3. Modifiez le fichier /etc/raddb/mods-available/eap:

    1. Définissez le mot de passe de la clé privée dans le paramètre private_key_password:

      eap {
          ...
          tls-config tls-common {
              ...
              private_key_password = key_password
              ...
          }
      }
      Copy to Clipboard
    2. En fonction de votre environnement, définissez le paramètre default_eap_type de la directive eap en fonction du type d'EAP primaire que vous utilisez :

      eap {
          ...
          default_eap_type = ttls
          ...
      }
      Copy to Clipboard

      Pour un environnement sécurisé, utilisez uniquement ttls, tls ou peap.

    3. Commentez les directives md5 pour désactiver la méthode d'authentification non sécurisée EAP-MD5 :

      eap {
          ...
          # md5 {
          # }
          ...
      }
      Copy to Clipboard

      Notez que, dans le fichier de configuration par défaut, les autres méthodes d'authentification EAP non sécurisées sont commentées par défaut.

  4. Modifiez le fichier /etc/raddb/sites-available/default et mettez en commentaire toutes les méthodes d'authentification autres que eap:

    authenticate {
        ...
        # Auth-Type PAP {
        #     pap
        # }
    
        # Auth-Type CHAP {
        #     chap
        # }
    
        # Auth-Type MS-CHAP {
        #     mschap
        # }
    
        # mschap
    
        # digest
        ...
    }
    Copy to Clipboard

    Seule l'option EAP est activée et les méthodes d'authentification en texte clair sont désactivées.

  5. Modifiez le fichier /etc/raddb/clients.conf:

    1. Définissez un mot de passe sécurisé dans les directives client localhost et localhost_ipv6:

      client localhost {
          ipaddr = 127.0.0.1
          ...
          secret = client_password
          ...
      }
      
      client localhost_ipv6 {
          ipv6addr = ::1
          secret = client_password
      }
      Copy to Clipboard
    2. Si des clients RADIUS, tels que des authentificateurs de réseau, sur des hôtes distants doivent pouvoir accéder au service FreeRADIUS, ajoutez les directives client correspondantes pour eux :

      client hostapd.example.org {
          ipaddr = 192.0.2.2/32
          secret = client_password
      }
      Copy to Clipboard

      Le paramètre ipaddr accepte les adresses IPv4 et IPv6, et vous pouvez utiliser la notation facultative CIDR (classless inter-domain routing) pour spécifier des plages. Toutefois, vous ne pouvez définir qu'une seule valeur pour ce paramètre. Par exemple, pour accorder l'accès à une adresse IPv4 et IPv6, ajoutez deux directives client.

      Utilisez un nom descriptif pour la directive client, tel qu'un nom d'hôte ou un mot décrivant l'endroit où la plage IP est utilisée.

  6. Si vous souhaitez utiliser EAP-TTLS ou EAP-PEAP, ajoutez les utilisateurs au fichier /etc/raddb/users:

    example_user        Cleartext-Password := "user_password"
    Copy to Clipboard

    Pour les utilisateurs qui doivent utiliser l'authentification par certificat (EAP-TLS), n'ajoutez aucune entrée.

  7. Vérifier les fichiers de configuration :

    # radiusd -XC
    ...
    Configuration appears to be OK
    Copy to Clipboard
  8. Activez et démarrez le service radiusd:

    # systemctl enable --now radiusd
    Copy to Clipboard

Résolution de problèmes

  1. Arrêtez le service radiusd:

    # systemctl stop radiusd
    Copy to Clipboard
  2. Démarrer le service en mode débogage :

    # radiusd -X
    ...
    Ready to process requests
    Copy to Clipboard
  3. Effectuer les tests d'authentification sur l'hôte FreeRADIUS, comme indiqué dans la section Verification.

Prochaines étapes

  • Désactivez les méthodes d'authentification qui ne sont plus nécessaires et les autres fonctions que vous n'utilisez pas.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat