Mise en place d’un serveur Radius
  pour authentification sur une
    serveur VPN sous LinuX
Retour d’expérience sur la mise en place d’un
            serveur FreeRadius
                     Dominique CARON

                  Ing´ nieur de Recherche CNRS
                     e
   Administrateur Syst` me UNIX, Universit´ MONTPELLIER II
                      e                    e
                       Powered By ’Puissance du Poing’




                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.1/14
Le serveur VPN (POPTop)
      POPTop est un serveur qui implémente le protocole pptpd

   
      (Point to Point Tunneling Protocol). Il encapsule des
      paquets PPP dans du GRE (Generic Routine Encapsulation)




                       Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
Le serveur VPN (POPTop)
      POPTop est un serveur qui implémente le protocole pptpd

   
      (Point to Point Tunneling Protocol). Il encapsule des
      paquets PPP dans du GRE (Generic Routine Encapsulation)
      POPTop ne gère ni l’encryptage du tunnel, ni
   




      l’authentification.




                        Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
Le serveur VPN (POPTop)
      POPTop est un serveur qui implémente le protocole pptpd

   
      (Point to Point Tunneling Protocol). Il encapsule des
      paquets PPP dans du GRE (Generic Routine Encapsulation)
      POPTop ne gère ni l’encryptage du tunnel, ni
   




      l’authentification.
      POPTop s’appuie sur PPP. PPP implémente plusieurs
   




      protocoles d’authentification dont MSchap(Microsoft
      compatible authentication and encryption) v1 et v2, PAP
      (Password authentication protocol) ,CHAP etc...




                        Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
Le serveur VPN (POPTop)
      POPTop est un serveur qui implémente le protocole pptpd

   
      (Point to Point Tunneling Protocol). Il encapsule des
      paquets PPP dans du GRE (Generic Routine Encapsulation)
      POPTop ne gère ni l’encryptage du tunnel, ni
   




      l’authentification.
      POPTop s’appuie sur PPP. PPP implémente plusieurs
   




      protocoles d’authentification dont MSchap(Microsoft
      compatible authentication and encryption) v1 et v2, PAP
      (Password authentication protocol) ,CHAP etc...
      La seule façon, à ma connaissance, de créer un canal crypté
   




      est d’utiliser le protocole mppe qui nécessite de compiler le
      module ppp_mppe dans le noyau Linux du serveur et dans
      les noyaux des clients Linux!
                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
PPPd
      Avec PPPD l’authentification par défaut se fait
   
      par fichier (/etc/ppp/pap-secrets ou chap-secret).
      Ce qui rend la gestion des utilisateurs pénible
   




      pour ne pas dire impossible par exemple dans le
      cas de changement de mot de passe.
      Pour remédier à ce problème on a pensé à radius
   




      (en plus ça fait très Pro ;-)
      Comme on est radin et qu’on veut (un peu)
   




      comprendre, on se tourne vers le libre
      (FreeRadius ou GNURadius)



                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.3/14
FreeRadius
      Radius = Remote Authentification in Dial-In
   
      User Service .




                     Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
FreeRadius
      Radius = Remote Authentification in Dial-In
   
      User Service .
      Radius ne VA PAS ENCRYPTER le tunnel
   




                     Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
FreeRadius
      Radius = Remote Authentification in Dial-In
   
      User Service .
      Radius ne VA PAS ENCRYPTER le tunnel
   




      Radius va se charger : ( de l’authentification, des
   




      autorisations, des informations de sessions).




                       Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
FreeRadius
      Radius = Remote Authentification in Dial-In
   
      User Service .
      Radius ne VA PAS ENCRYPTER le tunnel
   




      Radius va se charger : ( de l’authentification, des
   




      autorisations, des informations de sessions).
      Attention , pour qu’un serveur VPN de type
   




      POPTop puisse correspondre avec un serveur
      Radius IL FAUT RECOMPILER PPPd afin
      d’avoir le module radius.so




                       Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
FreeRadius
      Radius = Remote Authentification in Dial-In
   
      User Service .
      Radius ne VA PAS ENCRYPTER le tunnel
   




      Radius va se charger : ( de l’authentification, des
   




      autorisations, des informations de sessions).
      Attention , pour qu’un serveur VPN de type
   




      POPTop puisse correspondre avec un serveur
      Radius IL FAUT RECOMPILER PPPd afin
      d’avoir le module radius.so
      On installe freeradius par rpm ou tar.gz , pas de
   




      problème particulier.


                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
Authentification
      Par le Système
   
      - Le nom et le mot de passe de l’utilisateur sont ceux du
      système (UNIX), Freeradius utilise /etc/passwd et/ou NIS.
      C’est la config par défaut de FreeRadius




                        Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.5/14
Authentification
      Par le Système
   
      - Le nom et le mot de passe de l’utilisateur sont ceux du
      système (UNIX), Freeradius utilise /etc/passwd et/ou NIS.
      C’est la config par défaut de FreeRadius
      En Interne
   




      Le nom et le mot de passe de l’utilisateur sont stockés dans
      les fichiers de config de radius




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.5/14
Authentification
      Par le Système
   
      - Le nom et le mot de passe de l’utilisateur sont ceux du
      système (UNIX), Freeradius utilise /etc/passwd et/ou NIS.
      C’est la config par défaut de FreeRadius
      En Interne
   




      Le nom et le mot de passe de l’utilisateur sont stockés dans
      les fichiers de config de radius
      Par Base de donnée
   




      (MySQL,Oracle,PostgreSQL,LDAP)
      les informations de l’utilisateur sont stockés dans une base
      de donnée, attention la communication Radius<->SQL
      n’est pas encrytée.


                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.5/14
Authentification
      Par le Système
   
      - Le nom et le mot de passe de l’utilisateur sont ceux du
      système (UNIX), Freeradius utilise /etc/passwd et/ou NIS.
      C’est la config par défaut de FreeRadius
      En Interne
   




      Le nom et le mot de passe de l’utilisateur sont stockés dans
      les fichiers de config de radius
      Par Base de donnée
   




      (MySQL,Oracle,PostgreSQL,LDAP)
      les informations de l’utilisateur sont stockés dans une base
      de donnée, attention la communication Radius<->SQL
      n’est pas encrytée.
      PAM (Pluggable Authentication Service) c’est
   




      selon la config de PAM queserveur Radius faire l’authentification – p.5/14
                         Mise en place d’un
                                            va se pour authentification sur une serveur VPN sous LinuX
Schéma des encryptages

Serveur SQL




                                                       INTERNET
                                                                                        Client VPN

Serveur FreeRadius



                                                   Routeur/Firewall


                     Serveur VPN



                                   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
Schéma des encryptages

Serveur SQL




                                                       INTERNET
                                                                                        Client VPN

Serveur FreeRadius

                                                                         Canal encrypté ou non
                                                   Routeur/Firewall


                     Serveur VPN



                                   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
Schéma des encryptages

  Serveur SQL




                                                         INTERNET
                                                                                          Client VPN

  Serveur FreeRadius

                                                                           Canal encrypté ou non
                                                     Routeur/Firewall
Canal encrypté

                       Serveur VPN



                                     Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
Schéma des encryptages

  Serveur SQL


          Canal non encrypté



                                                         INTERNET
                                                                                          Client VPN

  Serveur FreeRadius

                                                                           Canal encrypté ou non
                                                     Routeur/Firewall
Canal encrypté

                       Serveur VPN



                                     Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
Configuration de FreeRadius
Il est clair que les fichiers de configurations ne sont pas très
conviviaux. Cela peut effrayer au début. Mais ils sont vraiment
bien commentés.
       Aïe Aïe , ca se Corse.
    




       # ls /usr/local/freeradius-1.0.1/etc/raddb/




                                     Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
Configuration de FreeRadius
Il est clair que les fichiers de configurations ne sont pas très
conviviaux. Cela peut effrayer au début. Mais ils sont vraiment
bien commentés.
       Aïe Aïe , ca se Corse.
    




       # ls /usr/local/freeradius-1.0.1/etc/raddb/

       acct users     experimental.conf oraclesql.conf           snmp.conf
       attrs          hints             postgresql.conf          sql.conf
       certs/         huntgroups        preproxy users           users
       clients        ldap.attrmap      proxy.conf               x99.conf
       clients.conf   mssql.conf        radiusd.conf             x99passwd.sample
       dictionary     naslist           eap.conf                 naspasswd realms




                                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
Configuration de FreeRadius
Il est clair que les fichiers de configurations ne sont pas très
conviviaux. Cela peut effrayer au début. Mais ils sont vraiment
bien commentés.
       Aïe Aïe , ca se Corse.
    




       # ls /usr/local/freeradius-1.0.1/etc/raddb/

       acct users     experimental.conf oraclesql.conf           snmp.conf
       attrs          hints             postgresql.conf          sql.conf
       certs/         huntgroups        preproxy users           users
       clients        ldap.attrmap      proxy.conf               x99.conf
       clients.conf   mssql.conf        radiusd.conf             x99passwd.sample
       dictionary     naslist           eap.conf                 naspasswd realms

       radiusd.conf: fichier principal de configuration du serveur
    




                                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
Configuration de FreeRadius
Il est clair que les fichiers de configurations ne sont pas très
conviviaux. Cela peut effrayer au début. Mais ils sont vraiment
bien commentés.
       Aïe Aïe , ca se Corse.
    




       # ls /usr/local/freeradius-1.0.1/etc/raddb/

       acct users     experimental.conf oraclesql.conf           snmp.conf
       attrs          hints             postgresql.conf          sql.conf
       certs/         huntgroups        preproxy users           users
       clients        ldap.attrmap      proxy.conf               x99.conf
       clients.conf   mssql.conf        radiusd.conf             x99passwd.sample
       dictionary     naslist           eap.conf                 naspasswd realms

       radiusd.conf: fichier principal de configuration du serveur
    




       clients.conf: fichier de configuration des clients (type , No IP..)
    




                                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
Configuration de FreeRadius
Il est clair que les fichiers de configurations ne sont pas très
conviviaux. Cela peut effrayer au début. Mais ils sont vraiment
bien commentés.
       Aïe Aïe , ca se Corse.
    




       # ls /usr/local/freeradius-1.0.1/etc/raddb/

       acct users     experimental.conf oraclesql.conf           snmp.conf
       attrs          hints             postgresql.conf          sql.conf
       certs/         huntgroups        preproxy users           users
       clients        ldap.attrmap      proxy.conf               x99.conf
       clients.conf   mssql.conf        radiusd.conf             x99passwd.sample
       dictionary     naslist           eap.conf                 naspasswd realms

       radiusd.conf: fichier principal de configuration du serveur
    




       clients.conf: fichier de configuration des clients (type , No IP..)
    




       sql.conf: fichier de config pour accès au serveur MySQL.
    




                                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
Configuration de FreeRadius
Il est clair que les fichiers de configurations ne sont pas très
conviviaux. Cela peut effrayer au début. Mais ils sont vraiment
bien commentés.
       Aïe Aïe , ca se Corse.
    




       # ls /usr/local/freeradius-1.0.1/etc/raddb/

       acct users     experimental.conf oraclesql.conf           snmp.conf
       attrs          hints             postgresql.conf          sql.conf
       certs/         huntgroups        preproxy users           users
       clients        ldap.attrmap      proxy.conf               x99.conf
       clients.conf   mssql.conf        radiusd.conf             x99passwd.sample
       dictionary     naslist           eap.conf                 naspasswd realms

       radiusd.conf: fichier principal de configuration du serveur
    




       clients.conf: fichier de configuration des clients (type , No IP..)
    




       sql.conf: fichier de config pour accès au serveur MySQL.
    




       users: fichier de configuration si pas de contrôle par SGBD.
    




                                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
clients.conf
C’est le seul fichier à modifier si vous désirez faire
une authentification System (username et mot de passe
UNIX)
    Syntaxe très simple .
    




       client host.domainname




                              ¡
       secret = motdepasseradius
       shortname = alias
       nastype = other
        ¢




       Autant de fois qu’il y a de clients. Chaque client peut avoir
       un mot de passe différent.




                                   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.8/14
clients.conf
C’est le seul fichier à modifier si vous désirez faire
une authentification System (username et mot de passe
UNIX)
    Syntaxe très simple .
    




       client host.domainname




                              ¡
       secret = motdepasseradius
       shortname = alias
       nastype = other
        ¢




       Autant de fois qu’il y a de clients. Chaque client peut avoir
       un mot de passe différent.
       host.domainname peut être remplacé par Adresse IP
    




                                   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.8/14
clients.conf
C’est le seul fichier à modifier si vous désirez faire
une authentification System (username et mot de passe
UNIX)
    Syntaxe très simple .
    




       client host.domainname




                              ¡
       secret = motdepasseradius
       shortname = alias
       nastype = other
        ¢




       Autant de fois qu’il y a de clients. Chaque client peut avoir
       un mot de passe différent.
       host.domainname peut être remplacé par Adresse IP
    




       les type NAS connu par Freeradius:
    




       cisco, computone, livingston, max40xx,
       multitech, netserver, pathras, patton, portslave, tc,
       usrhiper,other              Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.8/14
users
      Ce fichier permet de connaître les directives c’est
   
      à dire la méthode d’authentification et les
      autorisations à appliquer à chaque utilisateur si
      on ne désire pas utiliser de base de données .




                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
users
      Ce fichier permet de connaître les directives c’est
   
      à dire la méthode d’authentification et les
      autorisations à appliquer à chaque utilisateur si
      on ne désire pas utiliser de base de données .
      Chaque entrée de ce fichier commence par le nom
   




      d’un utilisateur, l’entrée DEFAULT concerne tous
      les utilisateurs.




                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
users
      Ce fichier permet de connaître les directives c’est
   
      à dire la méthode d’authentification et les
      autorisations à appliquer à chaque utilisateur si
      on ne désire pas utiliser de base de données .
      Chaque entrée de ce fichier commence par le nom
   




      d’un utilisateur, l’entrée DEFAULT concerne tous
      les utilisateurs.
      L’attribut Auth-Type permet de définir le(s)
   




      type(s) d’authentification permis.




                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
users
      Ce fichier permet de connaître les directives c’est
   
      à dire la méthode d’authentification et les
      autorisations à appliquer à chaque utilisateur si
      on ne désire pas utiliser de base de données .
      Chaque entrée de ce fichier commence par le nom
   




      d’un utilisateur, l’entrée DEFAULT concerne tous
      les utilisateurs.
      L’attribut Auth-Type permet de définir le(s)
   




      type(s) d’authentification permis.
      L’attribut Fall-Through (yes or no) permet de dire
   




      à radius si il doit continuer dans le fichier pour le
      cas ou l’authentification aurait échouée.

                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
users
      Ce fichier permet de connaître les directives c’est
   
      à dire la méthode d’authentification et les
      autorisations à appliquer à chaque utilisateur si
      on ne désire pas utiliser de base de données .
      Chaque entrée de ce fichier commence par le nom
   




      d’un utilisateur, l’entrée DEFAULT concerne tous
      les utilisateurs.
      L’attribut Auth-Type permet de définir le(s)
   




      type(s) d’authentification permis.
      L’attribut Fall-Through (yes or no) permet de dire
   




      à radius si il doit continuer dans le fichier pour le
      cas ou l’authentification aurait échouée.
      CONSEIL :Ne touchez pas a ce fichier ;-)
                                 `
   




                      Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
sql.conf
      Ce fichier n’est utilisé que si vous désirez utiliser un

   
      serveur MySQL pour la gestion des utilisateurs.




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.10/14
sql.conf
      Ce fichier n’est utilisé que si vous désirez utiliser un

   
      serveur MySQL pour la gestion des utilisateurs.
      Vérifier dans radius.conf, à la section module, la ligne:
   




      $INCLUDE $ confdir /sql.conf


                    ¡




                             ¢
      Ainsi que dans la section authorize que sql soit bien
      décommenté. Vous pouvez mettre file en commentaire dans la section authorize
      pour ne permettre que ce type d’authorisation.




                                  Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.10/14
sql.conf
      Ce fichier n’est utilisé que si vous désirez utiliser un

   
      serveur MySQL pour la gestion des utilisateurs.
      Vérifier dans radius.conf, à la section module, la ligne:
   




      $INCLUDE $ confdir /sql.conf


                    ¡




                             ¢
      Ainsi que dans la section authorize que sql soit bien
      décommenté. Vous pouvez mettre file en commentaire dans la section authorize
      pour ne permettre que ce type d’authorisation.

      Attributs OBLIGATOIRES.
   




       server = ”localhost” # MySQL server
       login = ”radius” # MySQL username
       password = ”xxxxxxx” # MySQL user password
       radius db = ”Radius” # MySQL radius database

                                  Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.10/14
radiusd.conf
      Il est divisé en sections (Security, proxy, thread

   
      pool,modules, authorize, authenticate et accounting),




                        Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
radiusd.conf
      Il est divisé en sections (Security, proxy, thread

   
      pool,modules, authorize, authenticate et accounting),
      La section security permet de protéger le serveur contre
   




      quelques attaques DoS notamment.




                        Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
radiusd.conf
      Il est divisé en sections (Security, proxy, thread

   
      pool,modules, authorize, authenticate et accounting),
      La section security permet de protéger le serveur contre
   




      quelques attaques DoS notamment.
      La section proxy permet de configurer les paramètres
   




      relatifs à la communication avec d’autres serveurs
      RADIUS.




                        Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
radiusd.conf
      Il est divisé en sections (Security, proxy, thread

   
      pool,modules, authorize, authenticate et accounting),
      La section security permet de protéger le serveur contre
   




      quelques attaques DoS notamment.
      La section proxy permet de configurer les paramètres
   




      relatifs à la communication avec d’autres serveurs
      RADIUS.
      La section thread pool permet de configurer le nombre de
   




      serveurs qui traitent les requêtes et le nombre de processus
      lancés.




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
radiusd.conf
      Il est divisé en sections (Security, proxy, thread

   
      pool,modules, authorize, authenticate et accounting),
      La section security permet de protéger le serveur contre
   




      quelques attaques DoS notamment.
      La section proxy permet de configurer les paramètres
   




      relatifs à la communication avec d’autres serveurs
      RADIUS.
      La section thread pool permet de configurer le nombre de
   




      serveurs qui traitent les requêtes et le nombre de processus
      lancés.
      La section modules.C’est l’une des plus importantes. Elle
   




      permet d’activer et de configurer les méthodes
      d’authentification. Cette section est la plus longue.
                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
radiusd.conf (2)
      La section authorize spécifie l’ordre et les méthodes

   
      d’authentification dans lequel le serveur doit vérifier les
      identités des utilisateurs désireux de s’authentifier. Par
      défaut, c’est seulement par le fichier users que l’on peut
      vérifier les utilisateurs.




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.12/14
radiusd.conf (2)
      La section authorize spécifie l’ordre et les méthodes

   
      d’authentification dans lequel le serveur doit vérifier les
      identités des utilisateurs désireux de s’authentifier. Par
      défaut, c’est seulement par le fichier users que l’on peut
      vérifier les utilisateurs.
      La section authenticate précise quels modules sont
   




      disponibles pour l’authentification. Ne pas confondre avec
      la section précédente.




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.12/14
radiusd.conf (2)
      La section authorize spécifie l’ordre et les méthodes

   
      d’authentification dans lequel le serveur doit vérifier les
      identités des utilisateurs désireux de s’authentifier. Par
      défaut, c’est seulement par le fichier users que l’on peut
      vérifier les utilisateurs.
      La section authenticate précise quels modules sont
   




      disponibles pour l’authentification. Ne pas confondre avec
      la section précédente.
      La section accounting spécifie la manière dont les logs
   




      vont être enregistrés




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.12/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test.
       check-radiusd-config permet de tester le fichier de config du
    




       serveur




                         Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test.
       check-radiusd-config permet de tester le fichier de config du
    




       serveur
       radtest
    




       % radtest caron noel32 localhost 1812 SicRetKey
       Sending Access-Request of id 228 to 127.0.0.1:1812
          User-Name = ”caron”
          User-Password = ”noel32”
          NAS-IP-Address = perseus
          NAS-Port = 1812
       rad recv: Access-Accept packet from host 127.0.0.1:1812, id=228, length=20




                                  Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test.
       check-radiusd-config permet de tester le fichier de config du
    




       serveur
       radtest
    




       % radtest caron noel32 localhost 1812 SicRetKey
       Sending Access-Request of id 228 to 127.0.0.1:1812
          User-Name = ”caron”
          User-Password = ”noel32”
          NAS-IP-Address = perseus
          NAS-Port = 1812
       rad recv: Access-Accept packet from host 127.0.0.1:1812, id=228, length=20

       Au début, démarrer le démon radiusd avec l’option -X
    




                                  Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test.
       check-radiusd-config permet de tester le fichier de config du
    




       serveur
       radtest
    




       % radtest caron noel32 localhost 1812 SicRetKey
       Sending Access-Request of id 228 to 127.0.0.1:1812
          User-Name = ”caron”
          User-Password = ”noel32”
          NAS-IP-Address = perseus
          NAS-Port = 1812
       rad recv: Access-Accept packet from host 127.0.0.1:1812, id=228, length=20

       Au début, démarrer le démon radiusd avec l’option -X
    




       PPPd compilé avec le module radius.so, fournit un utilitaire
    




       radlogin pour tester le client Radius.

                                  Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
(mes) Conclusions
      Mis à part le fait que la communication entre le serveur
   
      Radius et son client soit encryptée, un serveur radius n’est
      pas autre chose qu’un serveur de type NIS ou LDAP (avec
      quelques spécificité d’informations propres aux NAS).
      La mise en place d’un serveur Radius n’implique pas que la
   




      communication sera sécurisée de bout en bout (une attaque
      sur le serveur SQL mal protégé donne au pirate tous les
      MdP de tous les utilisateurs.
      C’est grâce au passage par MySQL que la gestion des
   




      utilisateurs peut être plus aisée, mais utiliser le fichier
      /etc/ppp/chap-secrets ne semble pas moins sécurisé que par
      un serveur Radius ...
      En réalité je ne comprends pas très très bien l’intérêt d’un
   




      serveur radius :-(, si ceplace d’un serveur Radiusobligation pour gérér lesp.14/14
                           Mise en
                                   n’est son pour authentification sur une serveur VPN sous LinuX –

Free radius

  • 1.
    Mise en placed’un serveur Radius pour authentification sur une serveur VPN sous LinuX Retour d’expérience sur la mise en place d’un serveur FreeRadius Dominique CARON Ing´ nieur de Recherche CNRS e Administrateur Syst` me UNIX, Universit´ MONTPELLIER II e e Powered By ’Puissance du Poing’ Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.1/14
  • 2.
    Le serveur VPN(POPTop) POPTop est un serveur qui implémente le protocole pptpd   (Point to Point Tunneling Protocol). Il encapsule des paquets PPP dans du GRE (Generic Routine Encapsulation) Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
  • 3.
    Le serveur VPN(POPTop) POPTop est un serveur qui implémente le protocole pptpd   (Point to Point Tunneling Protocol). Il encapsule des paquets PPP dans du GRE (Generic Routine Encapsulation) POPTop ne gère ni l’encryptage du tunnel, ni   l’authentification. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
  • 4.
    Le serveur VPN(POPTop) POPTop est un serveur qui implémente le protocole pptpd   (Point to Point Tunneling Protocol). Il encapsule des paquets PPP dans du GRE (Generic Routine Encapsulation) POPTop ne gère ni l’encryptage du tunnel, ni   l’authentification. POPTop s’appuie sur PPP. PPP implémente plusieurs   protocoles d’authentification dont MSchap(Microsoft compatible authentication and encryption) v1 et v2, PAP (Password authentication protocol) ,CHAP etc... Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
  • 5.
    Le serveur VPN(POPTop) POPTop est un serveur qui implémente le protocole pptpd   (Point to Point Tunneling Protocol). Il encapsule des paquets PPP dans du GRE (Generic Routine Encapsulation) POPTop ne gère ni l’encryptage du tunnel, ni   l’authentification. POPTop s’appuie sur PPP. PPP implémente plusieurs   protocoles d’authentification dont MSchap(Microsoft compatible authentication and encryption) v1 et v2, PAP (Password authentication protocol) ,CHAP etc... La seule façon, à ma connaissance, de créer un canal crypté   est d’utiliser le protocole mppe qui nécessite de compiler le module ppp_mppe dans le noyau Linux du serveur et dans les noyaux des clients Linux! Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.2/14
  • 6.
    PPPd Avec PPPD l’authentification par défaut se fait   par fichier (/etc/ppp/pap-secrets ou chap-secret). Ce qui rend la gestion des utilisateurs pénible   pour ne pas dire impossible par exemple dans le cas de changement de mot de passe. Pour remédier à ce problème on a pensé à radius   (en plus ça fait très Pro ;-) Comme on est radin et qu’on veut (un peu)   comprendre, on se tourne vers le libre (FreeRadius ou GNURadius) Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.3/14
  • 7.
    FreeRadius Radius = Remote Authentification in Dial-In   User Service . Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
  • 8.
    FreeRadius Radius = Remote Authentification in Dial-In   User Service . Radius ne VA PAS ENCRYPTER le tunnel   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
  • 9.
    FreeRadius Radius = Remote Authentification in Dial-In   User Service . Radius ne VA PAS ENCRYPTER le tunnel   Radius va se charger : ( de l’authentification, des   autorisations, des informations de sessions). Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
  • 10.
    FreeRadius Radius = Remote Authentification in Dial-In   User Service . Radius ne VA PAS ENCRYPTER le tunnel   Radius va se charger : ( de l’authentification, des   autorisations, des informations de sessions). Attention , pour qu’un serveur VPN de type   POPTop puisse correspondre avec un serveur Radius IL FAUT RECOMPILER PPPd afin d’avoir le module radius.so Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
  • 11.
    FreeRadius Radius = Remote Authentification in Dial-In   User Service . Radius ne VA PAS ENCRYPTER le tunnel   Radius va se charger : ( de l’authentification, des   autorisations, des informations de sessions). Attention , pour qu’un serveur VPN de type   POPTop puisse correspondre avec un serveur Radius IL FAUT RECOMPILER PPPd afin d’avoir le module radius.so On installe freeradius par rpm ou tar.gz , pas de   problème particulier. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.4/14
  • 12.
    Authentification Par le Système   - Le nom et le mot de passe de l’utilisateur sont ceux du système (UNIX), Freeradius utilise /etc/passwd et/ou NIS. C’est la config par défaut de FreeRadius Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.5/14
  • 13.
    Authentification Par le Système   - Le nom et le mot de passe de l’utilisateur sont ceux du système (UNIX), Freeradius utilise /etc/passwd et/ou NIS. C’est la config par défaut de FreeRadius En Interne   Le nom et le mot de passe de l’utilisateur sont stockés dans les fichiers de config de radius Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.5/14
  • 14.
    Authentification Par le Système   - Le nom et le mot de passe de l’utilisateur sont ceux du système (UNIX), Freeradius utilise /etc/passwd et/ou NIS. C’est la config par défaut de FreeRadius En Interne   Le nom et le mot de passe de l’utilisateur sont stockés dans les fichiers de config de radius Par Base de donnée   (MySQL,Oracle,PostgreSQL,LDAP) les informations de l’utilisateur sont stockés dans une base de donnée, attention la communication Radius<->SQL n’est pas encrytée. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.5/14
  • 15.
    Authentification Par le Système   - Le nom et le mot de passe de l’utilisateur sont ceux du système (UNIX), Freeradius utilise /etc/passwd et/ou NIS. C’est la config par défaut de FreeRadius En Interne   Le nom et le mot de passe de l’utilisateur sont stockés dans les fichiers de config de radius Par Base de donnée   (MySQL,Oracle,PostgreSQL,LDAP) les informations de l’utilisateur sont stockés dans une base de donnée, attention la communication Radius<->SQL n’est pas encrytée. PAM (Pluggable Authentication Service) c’est   selon la config de PAM queserveur Radius faire l’authentification – p.5/14 Mise en place d’un va se pour authentification sur une serveur VPN sous LinuX
  • 16.
    Schéma des encryptages ServeurSQL INTERNET Client VPN Serveur FreeRadius Routeur/Firewall Serveur VPN Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
  • 17.
    Schéma des encryptages ServeurSQL INTERNET Client VPN Serveur FreeRadius Canal encrypté ou non Routeur/Firewall Serveur VPN Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
  • 18.
    Schéma des encryptages Serveur SQL INTERNET Client VPN Serveur FreeRadius Canal encrypté ou non Routeur/Firewall Canal encrypté Serveur VPN Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
  • 19.
    Schéma des encryptages Serveur SQL Canal non encrypté INTERNET Client VPN Serveur FreeRadius Canal encrypté ou non Routeur/Firewall Canal encrypté Serveur VPN Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.6/14
  • 20.
    Configuration de FreeRadius Ilest clair que les fichiers de configurations ne sont pas très conviviaux. Cela peut effrayer au début. Mais ils sont vraiment bien commentés. Aïe Aïe , ca se Corse.   # ls /usr/local/freeradius-1.0.1/etc/raddb/ Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
  • 21.
    Configuration de FreeRadius Ilest clair que les fichiers de configurations ne sont pas très conviviaux. Cela peut effrayer au début. Mais ils sont vraiment bien commentés. Aïe Aïe , ca se Corse.   # ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users experimental.conf oraclesql.conf snmp.conf attrs hints postgresql.conf sql.conf certs/ huntgroups preproxy users users clients ldap.attrmap proxy.conf x99.conf clients.conf mssql.conf radiusd.conf x99passwd.sample dictionary naslist eap.conf naspasswd realms Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
  • 22.
    Configuration de FreeRadius Ilest clair que les fichiers de configurations ne sont pas très conviviaux. Cela peut effrayer au début. Mais ils sont vraiment bien commentés. Aïe Aïe , ca se Corse.   # ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users experimental.conf oraclesql.conf snmp.conf attrs hints postgresql.conf sql.conf certs/ huntgroups preproxy users users clients ldap.attrmap proxy.conf x99.conf clients.conf mssql.conf radiusd.conf x99passwd.sample dictionary naslist eap.conf naspasswd realms radiusd.conf: fichier principal de configuration du serveur   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
  • 23.
    Configuration de FreeRadius Ilest clair que les fichiers de configurations ne sont pas très conviviaux. Cela peut effrayer au début. Mais ils sont vraiment bien commentés. Aïe Aïe , ca se Corse.   # ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users experimental.conf oraclesql.conf snmp.conf attrs hints postgresql.conf sql.conf certs/ huntgroups preproxy users users clients ldap.attrmap proxy.conf x99.conf clients.conf mssql.conf radiusd.conf x99passwd.sample dictionary naslist eap.conf naspasswd realms radiusd.conf: fichier principal de configuration du serveur   clients.conf: fichier de configuration des clients (type , No IP..)   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
  • 24.
    Configuration de FreeRadius Ilest clair que les fichiers de configurations ne sont pas très conviviaux. Cela peut effrayer au début. Mais ils sont vraiment bien commentés. Aïe Aïe , ca se Corse.   # ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users experimental.conf oraclesql.conf snmp.conf attrs hints postgresql.conf sql.conf certs/ huntgroups preproxy users users clients ldap.attrmap proxy.conf x99.conf clients.conf mssql.conf radiusd.conf x99passwd.sample dictionary naslist eap.conf naspasswd realms radiusd.conf: fichier principal de configuration du serveur   clients.conf: fichier de configuration des clients (type , No IP..)   sql.conf: fichier de config pour accès au serveur MySQL.   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
  • 25.
    Configuration de FreeRadius Ilest clair que les fichiers de configurations ne sont pas très conviviaux. Cela peut effrayer au début. Mais ils sont vraiment bien commentés. Aïe Aïe , ca se Corse.   # ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users experimental.conf oraclesql.conf snmp.conf attrs hints postgresql.conf sql.conf certs/ huntgroups preproxy users users clients ldap.attrmap proxy.conf x99.conf clients.conf mssql.conf radiusd.conf x99passwd.sample dictionary naslist eap.conf naspasswd realms radiusd.conf: fichier principal de configuration du serveur   clients.conf: fichier de configuration des clients (type , No IP..)   sql.conf: fichier de config pour accès au serveur MySQL.   users: fichier de configuration si pas de contrôle par SGBD.   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.7/14
  • 26.
    clients.conf C’est le seulfichier à modifier si vous désirez faire une authentification System (username et mot de passe UNIX) Syntaxe très simple .   client host.domainname ¡ secret = motdepasseradius shortname = alias nastype = other ¢ Autant de fois qu’il y a de clients. Chaque client peut avoir un mot de passe différent. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.8/14
  • 27.
    clients.conf C’est le seulfichier à modifier si vous désirez faire une authentification System (username et mot de passe UNIX) Syntaxe très simple .   client host.domainname ¡ secret = motdepasseradius shortname = alias nastype = other ¢ Autant de fois qu’il y a de clients. Chaque client peut avoir un mot de passe différent. host.domainname peut être remplacé par Adresse IP   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.8/14
  • 28.
    clients.conf C’est le seulfichier à modifier si vous désirez faire une authentification System (username et mot de passe UNIX) Syntaxe très simple .   client host.domainname ¡ secret = motdepasseradius shortname = alias nastype = other ¢ Autant de fois qu’il y a de clients. Chaque client peut avoir un mot de passe différent. host.domainname peut être remplacé par Adresse IP   les type NAS connu par Freeradius:   cisco, computone, livingston, max40xx, multitech, netserver, pathras, patton, portslave, tc, usrhiper,other Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.8/14
  • 29.
    users Ce fichier permet de connaître les directives c’est   à dire la méthode d’authentification et les autorisations à appliquer à chaque utilisateur si on ne désire pas utiliser de base de données . Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
  • 30.
    users Ce fichier permet de connaître les directives c’est   à dire la méthode d’authentification et les autorisations à appliquer à chaque utilisateur si on ne désire pas utiliser de base de données . Chaque entrée de ce fichier commence par le nom   d’un utilisateur, l’entrée DEFAULT concerne tous les utilisateurs. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
  • 31.
    users Ce fichier permet de connaître les directives c’est   à dire la méthode d’authentification et les autorisations à appliquer à chaque utilisateur si on ne désire pas utiliser de base de données . Chaque entrée de ce fichier commence par le nom   d’un utilisateur, l’entrée DEFAULT concerne tous les utilisateurs. L’attribut Auth-Type permet de définir le(s)   type(s) d’authentification permis. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
  • 32.
    users Ce fichier permet de connaître les directives c’est   à dire la méthode d’authentification et les autorisations à appliquer à chaque utilisateur si on ne désire pas utiliser de base de données . Chaque entrée de ce fichier commence par le nom   d’un utilisateur, l’entrée DEFAULT concerne tous les utilisateurs. L’attribut Auth-Type permet de définir le(s)   type(s) d’authentification permis. L’attribut Fall-Through (yes or no) permet de dire   à radius si il doit continuer dans le fichier pour le cas ou l’authentification aurait échouée. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
  • 33.
    users Ce fichier permet de connaître les directives c’est   à dire la méthode d’authentification et les autorisations à appliquer à chaque utilisateur si on ne désire pas utiliser de base de données . Chaque entrée de ce fichier commence par le nom   d’un utilisateur, l’entrée DEFAULT concerne tous les utilisateurs. L’attribut Auth-Type permet de définir le(s)   type(s) d’authentification permis. L’attribut Fall-Through (yes or no) permet de dire   à radius si il doit continuer dans le fichier pour le cas ou l’authentification aurait échouée. CONSEIL :Ne touchez pas a ce fichier ;-) `   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.9/14
  • 34.
    sql.conf Ce fichier n’est utilisé que si vous désirez utiliser un   serveur MySQL pour la gestion des utilisateurs. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.10/14
  • 35.
    sql.conf Ce fichier n’est utilisé que si vous désirez utiliser un   serveur MySQL pour la gestion des utilisateurs. Vérifier dans radius.conf, à la section module, la ligne:   $INCLUDE $ confdir /sql.conf ¡ ¢ Ainsi que dans la section authorize que sql soit bien décommenté. Vous pouvez mettre file en commentaire dans la section authorize pour ne permettre que ce type d’authorisation. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.10/14
  • 36.
    sql.conf Ce fichier n’est utilisé que si vous désirez utiliser un   serveur MySQL pour la gestion des utilisateurs. Vérifier dans radius.conf, à la section module, la ligne:   $INCLUDE $ confdir /sql.conf ¡ ¢ Ainsi que dans la section authorize que sql soit bien décommenté. Vous pouvez mettre file en commentaire dans la section authorize pour ne permettre que ce type d’authorisation. Attributs OBLIGATOIRES.   server = ”localhost” # MySQL server login = ”radius” # MySQL username password = ”xxxxxxx” # MySQL user password radius db = ”Radius” # MySQL radius database Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.10/14
  • 37.
    radiusd.conf Il est divisé en sections (Security, proxy, thread   pool,modules, authorize, authenticate et accounting), Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
  • 38.
    radiusd.conf Il est divisé en sections (Security, proxy, thread   pool,modules, authorize, authenticate et accounting), La section security permet de protéger le serveur contre   quelques attaques DoS notamment. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
  • 39.
    radiusd.conf Il est divisé en sections (Security, proxy, thread   pool,modules, authorize, authenticate et accounting), La section security permet de protéger le serveur contre   quelques attaques DoS notamment. La section proxy permet de configurer les paramètres   relatifs à la communication avec d’autres serveurs RADIUS. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
  • 40.
    radiusd.conf Il est divisé en sections (Security, proxy, thread   pool,modules, authorize, authenticate et accounting), La section security permet de protéger le serveur contre   quelques attaques DoS notamment. La section proxy permet de configurer les paramètres   relatifs à la communication avec d’autres serveurs RADIUS. La section thread pool permet de configurer le nombre de   serveurs qui traitent les requêtes et le nombre de processus lancés. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
  • 41.
    radiusd.conf Il est divisé en sections (Security, proxy, thread   pool,modules, authorize, authenticate et accounting), La section security permet de protéger le serveur contre   quelques attaques DoS notamment. La section proxy permet de configurer les paramètres   relatifs à la communication avec d’autres serveurs RADIUS. La section thread pool permet de configurer le nombre de   serveurs qui traitent les requêtes et le nombre de processus lancés. La section modules.C’est l’une des plus importantes. Elle   permet d’activer et de configurer les méthodes d’authentification. Cette section est la plus longue. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.11/14
  • 42.
    radiusd.conf (2) La section authorize spécifie l’ordre et les méthodes   d’authentification dans lequel le serveur doit vérifier les identités des utilisateurs désireux de s’authentifier. Par défaut, c’est seulement par le fichier users que l’on peut vérifier les utilisateurs. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.12/14
  • 43.
    radiusd.conf (2) La section authorize spécifie l’ordre et les méthodes   d’authentification dans lequel le serveur doit vérifier les identités des utilisateurs désireux de s’authentifier. Par défaut, c’est seulement par le fichier users que l’on peut vérifier les utilisateurs. La section authenticate précise quels modules sont   disponibles pour l’authentification. Ne pas confondre avec la section précédente. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.12/14
  • 44.
    radiusd.conf (2) La section authorize spécifie l’ordre et les méthodes   d’authentification dans lequel le serveur doit vérifier les identités des utilisateurs désireux de s’authentifier. Par défaut, c’est seulement par le fichier users que l’on peut vérifier les utilisateurs. La section authenticate précise quels modules sont   disponibles pour l’authentification. Ne pas confondre avec la section précédente. La section accounting spécifie la manière dont les logs   vont être enregistrés Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.12/14
  • 45.
    Tester Radius Freeradius estfourni avec quelques utilitaires de test. check-radiusd-config permet de tester le fichier de config du   serveur Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
  • 46.
    Tester Radius Freeradius estfourni avec quelques utilitaires de test. check-radiusd-config permet de tester le fichier de config du   serveur radtest   % radtest caron noel32 localhost 1812 SicRetKey Sending Access-Request of id 228 to 127.0.0.1:1812 User-Name = ”caron” User-Password = ”noel32” NAS-IP-Address = perseus NAS-Port = 1812 rad recv: Access-Accept packet from host 127.0.0.1:1812, id=228, length=20 Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
  • 47.
    Tester Radius Freeradius estfourni avec quelques utilitaires de test. check-radiusd-config permet de tester le fichier de config du   serveur radtest   % radtest caron noel32 localhost 1812 SicRetKey Sending Access-Request of id 228 to 127.0.0.1:1812 User-Name = ”caron” User-Password = ”noel32” NAS-IP-Address = perseus NAS-Port = 1812 rad recv: Access-Accept packet from host 127.0.0.1:1812, id=228, length=20 Au début, démarrer le démon radiusd avec l’option -X   Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
  • 48.
    Tester Radius Freeradius estfourni avec quelques utilitaires de test. check-radiusd-config permet de tester le fichier de config du   serveur radtest   % radtest caron noel32 localhost 1812 SicRetKey Sending Access-Request of id 228 to 127.0.0.1:1812 User-Name = ”caron” User-Password = ”noel32” NAS-IP-Address = perseus NAS-Port = 1812 rad recv: Access-Accept packet from host 127.0.0.1:1812, id=228, length=20 Au début, démarrer le démon radiusd avec l’option -X   PPPd compilé avec le module radius.so, fournit un utilitaire   radlogin pour tester le client Radius. Mise en place d’un serveur Radius pour authentification sur une serveur VPN sous LinuX – p.13/14
  • 49.
    (mes) Conclusions Mis à part le fait que la communication entre le serveur   Radius et son client soit encryptée, un serveur radius n’est pas autre chose qu’un serveur de type NIS ou LDAP (avec quelques spécificité d’informations propres aux NAS). La mise en place d’un serveur Radius n’implique pas que la   communication sera sécurisée de bout en bout (une attaque sur le serveur SQL mal protégé donne au pirate tous les MdP de tous les utilisateurs. C’est grâce au passage par MySQL que la gestion des   utilisateurs peut être plus aisée, mais utiliser le fichier /etc/ppp/chap-secrets ne semble pas moins sécurisé que par un serveur Radius ... En réalité je ne comprends pas très très bien l’intérêt d’un   serveur radius :-(, si ceplace d’un serveur Radiusobligation pour gérér lesp.14/14 Mise en n’est son pour authentification sur une serveur VPN sous LinuX –