Académique Documents
Professionnel Documents
Culture Documents
Free Radius
Free Radius
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.1/14
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.2/14
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.2/14
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.2/14
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.2/14
PPPd
Avec PPPD lauthentication par dfaut se fait par chier (/etc/ppp/pap-secrets ou chap-secret). Ce qui rend la gestion des utilisateurs pnible pour ne pas dire impossible par exemple dans le cas de changement de mot de passe. Pour remdier ce problme on a pens radius (en plus a fait trs Pro ;-) Comme on est radin et quon veut (un peu) comprendre, on se tourne vers le libre (FreeRadius ou GNURadius)
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.3/14
FreeRadius
Radius = Remote Authentication in Dial-In User Service .
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.4/14
FreeRadius
Radius = Remote Authentication in Dial-In User Service . Radius ne VA PAS ENCRYPTER le tunnel
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.4/14
FreeRadius
Radius = Remote Authentication in Dial-In User Service . Radius ne VA PAS ENCRYPTER le tunnel Radius va se charger : ( de lauthentication, des autorisations, des informations de sessions).
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.4/14
FreeRadius
Radius = Remote Authentication in Dial-In User Service . Radius ne VA PAS ENCRYPTER le tunnel Radius va se charger : ( de lauthentication, des autorisations, des informations de sessions). Attention , pour quun serveur VPN de type POPTop puisse correspondre avec un serveur Radius IL FAUT RECOMPILER PPPd an davoir le module radius.so
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.4/14
FreeRadius
Radius = Remote Authentication in Dial-In User Service . Radius ne VA PAS ENCRYPTER le tunnel Radius va se charger : ( de lauthentication, des autorisations, des informations de sessions). Attention , pour quun serveur VPN de type POPTop puisse correspondre avec un serveur Radius IL FAUT RECOMPILER PPPd an davoir le module radius.so On installe freeradius par rpm ou tar.gz , pas de problme particulier.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.4/14
Authentication
Par le Systme
- Le nom et le mot de passe de lutilisateur sont ceux du systme (UNIX), Freeradius utilise /etc/passwd et/ou NIS. Cest la cong par dfaut de FreeRadius
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.5/14
Authentication
Par le Systme
- Le nom et le mot de passe de lutilisateur sont ceux du systme (UNIX), Freeradius utilise /etc/passwd et/ou NIS. Cest la cong par dfaut de FreeRadius
En Interne
Le nom et le mot de passe de lutilisateur sont stocks dans les chiers de cong de radius
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.5/14
Authentication
Par le Systme
- Le nom et le mot de passe de lutilisateur sont ceux du systme (UNIX), Freeradius utilise /etc/passwd et/ou NIS. Cest la cong par dfaut de FreeRadius
En Interne
Le nom et le mot de passe de lutilisateur sont stocks dans les chiers de cong de radius
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.5/14
Authentication
Par le Systme
- Le nom et le mot de passe de lutilisateur sont ceux du systme (UNIX), Freeradius utilise /etc/passwd et/ou NIS. Cest la cong par dfaut de FreeRadius
En Interne
Le nom et le mot de passe de lutilisateur sont stocks dans les chiers de cong de radius
selon la cong de PAM queserveur Radius faire lauthentication p.5/14 va se pour authentication sur une serveur VPN sous LinuX Mise en place dun
INTERNET
Serveur FreeRadius
Client VPN
Routeur/Firewall
Serveur VPN
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.6/14
INTERNET
Serveur FreeRadius
Client VPN
Serveur VPN
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.6/14
INTERNET
Serveur FreeRadius
Client VPN
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.6/14
INTERNET
Serveur FreeRadius
Client VPN
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.6/14
Conguration de FreeRadius
Il est clair que les chiers de congurations ne sont pas trs conviviaux. Cela peut effrayer au dbut. Mais ils sont vraiment bien comments. Ae Ae , ca se Corse.
# ls /usr/local/freeradius-1.0.1/etc/raddb/
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.7/14
Conguration de FreeRadius
Il est clair que les chiers de congurations ne sont pas trs conviviaux. Cela peut effrayer au dbut. Mais ils sont vraiment bien comments. Ae Ae , ca se Corse.
# ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users attrs certs/ clients clients.conf dictionary experimental.conf oraclesql.conf hints postgresql.conf huntgroups preproxy users ldap.attrmap proxy.conf mssql.conf radiusd.conf naslist eap.conf snmp.conf sql.conf users x99.conf x99passwd.sample naspasswd realms
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.7/14
Conguration de FreeRadius
Il est clair que les chiers de congurations ne sont pas trs conviviaux. Cela peut effrayer au dbut. Mais ils sont vraiment bien comments. Ae Ae , ca se Corse.
# ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users attrs certs/ clients clients.conf dictionary
experimental.conf oraclesql.conf hints postgresql.conf huntgroups preproxy users ldap.attrmap proxy.conf mssql.conf radiusd.conf naslist eap.conf
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.7/14
Conguration de FreeRadius
Il est clair que les chiers de congurations ne sont pas trs conviviaux. Cela peut effrayer au dbut. Mais ils sont vraiment bien comments. Ae Ae , ca se Corse.
# ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users attrs certs/ clients clients.conf dictionary
experimental.conf oraclesql.conf hints postgresql.conf huntgroups preproxy users ldap.attrmap proxy.conf mssql.conf radiusd.conf naslist eap.conf
radiusd.conf: chier principal de conguration du serveur clients.conf: chier de conguration des clients (type , No IP..)
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.7/14
Conguration de FreeRadius
Il est clair que les chiers de congurations ne sont pas trs conviviaux. Cela peut effrayer au dbut. Mais ils sont vraiment bien comments. Ae Ae , ca se Corse.
# ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users attrs certs/ clients clients.conf dictionary
experimental.conf oraclesql.conf hints postgresql.conf huntgroups preproxy users ldap.attrmap proxy.conf mssql.conf radiusd.conf naslist eap.conf
radiusd.conf: chier principal de conguration du serveur clients.conf: chier de conguration des clients (type , No IP..) sql.conf: chier de cong pour accs au serveur MySQL.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.7/14
Conguration de FreeRadius
Il est clair que les chiers de congurations ne sont pas trs conviviaux. Cela peut effrayer au dbut. Mais ils sont vraiment bien comments. Ae Ae , ca se Corse.
# ls /usr/local/freeradius-1.0.1/etc/raddb/ acct users attrs certs/ clients clients.conf dictionary
experimental.conf oraclesql.conf hints postgresql.conf huntgroups preproxy users ldap.attrmap proxy.conf mssql.conf radiusd.conf naslist eap.conf
radiusd.conf: chier principal de conguration du serveur clients.conf: chier de conguration des clients (type , No IP..) sql.conf: chier de cong pour accs au serveur MySQL. users: chier de conguration si pas de contrle par SGBD.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.7/14
clients.conf
Cest le seul chier modier si vous dsirez faire une authentication System (username et mot de passe UNIX) Syntaxe trs simple .
Autant de fois quil y a de clients. Chaque client peut avoir un mot de passe diffrent.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.8/14
clients.conf
Cest le seul chier modier si vous dsirez faire une authentication System (username et mot de passe UNIX) Syntaxe trs simple .
Autant de fois quil y a de clients. Chaque client peut avoir un mot de passe diffrent. host.domainname peut tre remplac par Adresse IP
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.8/14
clients.conf
Cest le seul chier modier si vous dsirez faire une authentication System (username et mot de passe UNIX) Syntaxe trs simple .
Autant de fois quil y a de clients. Chaque client peut avoir un mot de passe diffrent. 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 dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.8/14
users
Ce chier permet de connatre les directives cest dire la mthode dauthentication et les autorisations appliquer chaque utilisateur si on ne dsire pas utiliser de base de donnes .
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.9/14
users
Ce chier permet de connatre les directives cest dire la mthode dauthentication et les autorisations appliquer chaque utilisateur si on ne dsire pas utiliser de base de donnes . Chaque entre de ce chier commence par le nom dun utilisateur, lentre DEFAULT concerne tous les utilisateurs.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.9/14
users
Ce chier permet de connatre les directives cest dire la mthode dauthentication et les autorisations appliquer chaque utilisateur si on ne dsire pas utiliser de base de donnes . Chaque entre de ce chier commence par le nom dun utilisateur, lentre DEFAULT concerne tous les utilisateurs. Lattribut Auth-Type permet de dnir le(s) type(s) dauthentication permis.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.9/14
users
Ce chier permet de connatre les directives cest dire la mthode dauthentication et les autorisations appliquer chaque utilisateur si on ne dsire pas utiliser de base de donnes . Chaque entre de ce chier commence par le nom dun utilisateur, lentre DEFAULT concerne tous les utilisateurs. Lattribut Auth-Type permet de dnir le(s) type(s) dauthentication permis. Lattribut Fall-Through (yes or no) permet de dire radius si il doit continuer dans le chier pour le cas ou lauthentication aurait choue.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.9/14
users
Ce chier permet de connatre les directives cest dire la mthode dauthentication et les autorisations appliquer chaque utilisateur si on ne dsire pas utiliser de base de donnes . Chaque entre de ce chier commence par le nom dun utilisateur, lentre DEFAULT concerne tous les utilisateurs. Lattribut Auth-Type permet de dnir le(s) type(s) dauthentication permis. Lattribut Fall-Through (yes or no) permet de dire radius si il doit continuer dans le chier pour le cas ou lauthentication aurait choue. CONSEIL :Ne touchez pas a ce chier ;-) `
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.9/14
sql.conf
Ce chier nest utilis que si vous dsirez utiliser un serveur MySQL pour la gestion des utilisateurs.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.10/14
sql.conf
Ce chier nest utilis que si vous dsirez utiliser un serveur MySQL pour la gestion des utilisateurs. Vrier dans radius.conf, la section module, la ligne:
$INCLUDE $ confdir /sql.conf
Ainsi que dans la section authorize que sql soit bien dcomment. Vous pouvez mettre le en commentaire dans la section authorize
pour ne permettre que ce type dauthorisation.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.10/14
sql.conf
Ce chier nest utilis que si vous dsirez utiliser un serveur MySQL pour la gestion des utilisateurs. Vrier dans radius.conf, la section module, la ligne:
$INCLUDE $ confdir /sql.conf
Ainsi que dans la section authorize que sql soit bien dcomment. Vous pouvez mettre le en commentaire dans la section authorize
pour ne permettre que ce type dauthorisation.
Attributs OBLIGATOIRES. server = localhost # MySQL server login = radius # MySQL username password = xxxxxxx # MySQL user password radius db = Radius # MySQL radius database
Mise en place dun serveur Radius pour authentication 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 dun serveur Radius pour authentication 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 protger le serveur contre quelques attaques DoS notamment.
Mise en place dun serveur Radius pour authentication 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 protger le serveur contre quelques attaques DoS notamment. La section proxy permet de congurer les paramtres relatifs la communication avec dautres serveurs RADIUS.
Mise en place dun serveur Radius pour authentication 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 protger le serveur contre quelques attaques DoS notamment. La section proxy permet de congurer les paramtres relatifs la communication avec dautres serveurs RADIUS. La section thread pool permet de congurer le nombre de serveurs qui traitent les requtes et le nombre de processus lancs.
Mise en place dun serveur Radius pour authentication 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 protger le serveur contre quelques attaques DoS notamment. La section proxy permet de congurer les paramtres relatifs la communication avec dautres serveurs RADIUS. La section thread pool permet de congurer le nombre de serveurs qui traitent les requtes et le nombre de processus lancs. La section modules.Cest lune des plus importantes. Elle permet dactiver et de congurer les mthodes dauthentication. Cette section est la plus longue.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.11/14
radiusd.conf (2)
La section authorize spcie lordre et les mthodes dauthentication dans lequel le serveur doit vrier les identits des utilisateurs dsireux de sauthentier. Par dfaut, cest seulement par le chier users que lon peut vrier les utilisateurs.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.12/14
radiusd.conf (2)
La section authorize spcie lordre et les mthodes dauthentication dans lequel le serveur doit vrier les identits des utilisateurs dsireux de sauthentier. Par dfaut, cest seulement par le chier users que lon peut vrier les utilisateurs. La section authenticate prcise quels modules sont disponibles pour lauthentication. Ne pas confondre avec la section prcdente.
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.12/14
radiusd.conf (2)
La section authorize spcie lordre et les mthodes dauthentication dans lequel le serveur doit vrier les identits des utilisateurs dsireux de sauthentier. Par dfaut, cest seulement par le chier users que lon peut vrier les utilisateurs. La section authenticate prcise quels modules sont disponibles pour lauthentication. Ne pas confondre avec la section prcdente. La section accounting spcie la manire dont les logs vont tre enregistrs
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.12/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test. check-radiusd-cong permet de tester le chier de cong du serveur
Mise en place dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.13/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test. check-radiusd-cong permet de tester le chier de cong 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 dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.13/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test. check-radiusd-cong permet de tester le chier de cong 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 dun serveur Radius pour authentication sur une serveur VPN sous LinuX p.13/14
Tester Radius
Freeradius est fourni avec quelques utilitaires de test. check-radiusd-cong permet de tester le chier de cong 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 dbut, dmarrer le dmon radiusd avec loption -X PPPd compil avec le module radius.so, fournit un utilitaire radlogin pour tester le client Radius.
Mise en place dun serveur Radius pour authentication 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 encrypte, un serveur radius nest pas autre chose quun serveur de type NIS ou LDAP (avec quelques spcicit dinformations propres aux NAS). La mise en place dun serveur Radius nimplique pas que la communication sera scurise de bout en bout (une attaque sur le serveur SQL mal protg donne au pirate tous les MdP de tous les utilisateurs. Cest grce au passage par MySQL que la gestion des utilisateurs peut tre plus aise, mais utiliser le chier /etc/ppp/chap-secrets ne semble pas moins scuris que par un serveur Radius ...
En ralit je ne comprends pas trs trs bien lintrt dun Mise en serveur radius :-(, si ceplace dun serveur Radiusobligation pour grr lesp.14/14 nest son pour authentication sur une serveur VPN sous LinuX