5bffe680697997b0724ed6eec8d5c9d2f63e11fb
Services/RADIUS.md
... | ... | @@ -14,24 +14,129 @@ Le service utilisé est [FreeRADIUS](freeradius.org) et il est hébergé à Bres |
14 | 14 | Il est hébergé à Rennes sur : |
15 | 15 | * [Lussac](Serveurs/Lussac) |
16 | 16 | |
17 | + |
|
18 | +## Authentification en Wi-Fi |
|
19 | + |
|
20 | +L'authentification en Wi-Fi utilise l'authentification **PEAPv0/EAP-MSCHAPv2**. |
|
21 | + |
|
17 | 22 | # Configuration |
18 | 23 | |
19 | - La configuration des clients (et des codes associés) est située dans le fichier `/etc/freeradius/clients.conf`. |
|
24 | +Freeradius est utilisé en version 3 (la version disponible sur debian Stretch). La configuration entre les versions 2.x et 3.x à beaucoup |
|
25 | +évolué, et il y a actuellement très peu de documentation sur la version 3.x. |
|
26 | + |
|
27 | +[Il existe un tutoriel](https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/raddb/README.rst), assez incomplet et pas toujours très clair, pour transformer une |
|
28 | +configuration 2.x en 3.x. |
|
29 | + |
|
20 | 30 | |
21 | -Ces codes sont ceux utilisés par le matériel réseau pour s'authentifier auprès du serveur radius. Dans le cas des cisco, cette configuration se retrouve au niveau des lignes |
|
31 | +## Emplacement des différents fichers de configuration |
|
32 | + |
|
33 | +Les fichiers de configurations de freeradius sont dans le répertoire `/etc/freeradius/3.0/` : |
|
22 | 34 | |
23 | 35 | ``` |
24 | -ip radius source-interface... |
|
36 | +freerad@beowulf ~/3.0 % ls |
|
37 | +README.rst clients.conf experimental.conf huntgroups@ mods-config/ |
|
38 | +panic.gdb policy.d/ radiusd.conf sites-enabled/ trigger.conf |
|
39 | +certs/ dictionary hints@ mods-available/ mods-enabled/ |
|
40 | +policy.conf proxy.conf sites-available/ templates.conf users@ |
|
41 | + |
|
25 | 42 | ``` |
26 | -et |
|
43 | + |
|
44 | +Les principaux fichiers de configuration sont détaillés ci-après : |
|
45 | + |
|
46 | +### Configuration principale de freeradius 3.x |
|
47 | + |
|
48 | +#### radiusd.conf |
|
49 | +Le fichier de configuration principal de freeradius est `radiusd.conf`. |
|
50 | + |
|
51 | +Pas de remarques particulières concernant ce fichier, si ce n'est qu'il n'est plus possible |
|
52 | +d'y mettre de directive `listen` enversion 3.x. Tout ce qui concerne |
|
53 | +la connexion au serveur Radius doit maintenant se trouver |
|
54 | +dans `mods-enabled/default` ou le serveur virtuel de son choix. (La documentation semble dire |
|
55 | +qu'il est toujours possible de la mettre dans radiusd.conf, |
|
56 | +cependant cela a causé de nombreux problèmes dans la configuration et je le déconseille donc |
|
57 | +fortement). |
|
58 | + |
|
59 | +#### clients.conf |
|
60 | +Ce fichier référence les différents clients depuis lesquels il est possible d'envoyer |
|
61 | +des requêtes radius (en l'occurence, des bornes wifi et des switchs). |
|
62 | + |
|
63 | +L'ancienne configuration : |
|
64 | +``` |
|
65 | +client 123.456.789.421 { |
|
66 | + shortname = "borne_wifi" |
|
67 | + secret = "sùperSecretpa55W0rD!" |
|
68 | +} |
|
69 | +``` |
|
70 | +devrait disparaitre dans une future version au profit de : |
|
27 | 71 | ``` |
28 | -radius-server... |
|
72 | +client borneWifiDuPremierEtage { |
|
73 | + ipv4addr = 123.456.789.421 |
|
74 | + shortname = "borne_wifi_01" |
|
75 | + secret = "sùperSecretpa55W0rD!" |
|
76 | +} |
|
29 | 77 | ``` |
30 | 78 | |
79 | +Configurer un client `localhost` peut s'avérer utile pour tester le radius. |
|
80 | + |
|
81 | +#### users |
|
82 | +users est un lien symbolique vers `mods-config/files/authorize`, et est donc la nouvelle |
|
83 | +localisation du fichier 'users' des version 2.x et antérieures. |
|
84 | + |
|
85 | +Il fait donc maintenant partie du module `files` qui doit être activé dans la config |
|
86 | +du serveur virtuel, mais qui doit aussi avoir un fichier de configuration dans |
|
87 | +`mods-enabled/`. |
|
88 | + |
|
89 | + |
|
90 | + |
|
91 | +### Modules |
|
92 | +Depuis la version 3.x, freeradius à abandonné le dossier `modules` au profit d'un dossier |
|
93 | +`mods-available` et `mods-enabled`, fonctionnant de manière assez classique. A l'installation |
|
94 | +le dossier `mods-enabled` contient les exemples de configuration des différents modules. |
|
95 | + |
|
96 | +Le dossier mods-enabled contient donc le fichier de configuration principal des modules |
|
97 | +chargés par le serveur freeradius. Les modules dont le fichier de configuration principal fait |
|
98 | +appel à d'autres fichiers de configuration stoquent ces config secondaires dans le répertoire |
|
99 | +`mods-config` |
|
100 | + |
|
101 | +### Serveurs Virtuels |
|
102 | +Les dossiers `sites-available` et `sites-enabled` contiennent les configuration pour les |
|
103 | +différents serveurs virtuels. Le dossier `sites-available` contient des exemples de |
|
104 | +serveurs virtuels pour différentes utilisations-type ainsi qu'un README explicatif concernant |
|
105 | +les serveurs virtuels. |
|
106 | + |
|
107 | + |
|
108 | +## Configuration de freeradius au ResEl : |
|
109 | + |
|
110 | +La configuration de freeradius est versionnée et disponible sur le [git](git.resel.fr). |
|
111 | +**(bon en fait c'est pas encore fait, mais je m'en occupe très bientôt)** |
|
112 | + |
|
113 | +### Cas de Beowulf, Rescuerad et Wifiradix (Wi-Fi) |
|
114 | + |
|
115 | +La connection Wi-Fi est configurée pour du **PEAPv0/EAP-MSCHAPv2**. |
|
116 | + |
|
117 | +#### Serveurs virtuels |
|
118 | + |
|
119 | +Deux serveurs virtuels sont configurés dans mods-enabled: il s'agit de `default` et `inner-tunnel`. |
|
120 | +Le premier réponds aux requêtes Radius provenant des bornes wifi. Le second est utilisé par le module |
|
121 | +EAP pour réaliser l'authentification MS-CHAPv2. Il ne réponds donc que aux requêtes locales (en provenance de |
|
122 | +la machine hôte du Radius). |
|
123 | + |
|
124 | +##### default |
|
125 | + |
|
126 | +##### inner-tunnel |
|
127 | + |
|
128 | + |
|
129 | + |
|
130 | +#### Modules utilisés |
|
131 | + |
|
132 | + |
|
133 | +### Cas de Beaune |
|
134 | +TODO |
|
135 | + |
|
31 | 136 | # Proxy RADIUS |
32 | 137 | |
33 | 138 | |
34 | -Dans le cadre d'un éventuel partenariat, les utilisateurs externes pourraient utiliser leur identifiants distants pour se loguer localement (à la "eduroam"). |
|
139 | +Dans le cadre d'un éventuel partenariat, les utilisateurs externes pourraient utiliser leur identifiants distants pour se loguer localement (à la "eduroam"). |
|
35 | 140 | |
36 | 141 | Ce service est utile pour la connexion au Wi-Fi Federez. |
37 | 142 | |
... | ... | @@ -43,7 +148,7 @@ Dans cet exemple, le partenaire fictif serait '''unet.fr''' |
43 | 148 | * Notre pool de serveurs RADIUS prend une décision, qui est ensuite appliquée par le point d'accès auquel John Doe s'est connecté. |
44 | 149 | |
45 | 150 | |
46 | -# Exemple pour un utilisateur d'un partenaire en roaming chez nous |
|
151 | +# Exemple pour un utilisateur d'un partenaire en roaming chez nous |
|
47 | 152 | Dans cet exemple, le partenaire fictif serait '''unet.fr''' |
48 | 153 | |
49 | 154 | * Emma Michu (utilisatrice *emichu* chez UNet) veut se connecter chez nous. Pour cela, elle utilise le nom d'utilisateur suivant: *emichu@unet.fr* et son mot de passe habituel. |
... | ... | @@ -52,10 +157,10 @@ Dans cet exemple, le partenaire fictif serait '''unet.fr''' |
52 | 157 | |
53 | 158 | # Radmin : Outil de debug radius |
54 | 159 | Radmin est un outil qui permet de contrôler le serveur radius |
55 | -la manPage est dispo ici : http://freeradius.org/radiusd/man/radmin.html |
|
160 | +la manPage est dispo ici : http://freeradius.org/radiusd/man/radmin.html |
|
56 | 161 | |
57 | 162 | ## faire une trace pour un utilisateur |
58 | - * créer un fichier vide avec les droits 777 dans le répertoire /var/log/freeradius |
|
163 | + * créer un fichier vide avec les droits 777 dans le répertoire /var/log/freeradius |
|
59 | 164 | ce fichier va contenir l'ensemble des messages radius que l'on souhaite capturer |
60 | 165 | |
61 | 166 | ``` |
... | ... | @@ -63,7 +168,7 @@ ce fichier va contenir l'ensemble des messages radius que l'on souhaite capturer |
63 | 168 | 23:28 srecher@beowulf ~ % sudo chmod 777 /var/log/freeradius/radmin_20141102_voileux.log |
64 | 169 | ``` |
65 | 170 | |
66 | - * lancer radmin |
|
171 | + * lancer radmin |
|
67 | 172 | ``` |
68 | 173 | 23:24 srecher@beowulf ~ % sudo radmin |
69 | 174 | radmin 2.1.12 - FreeRADIUS Server administration tool. |
... | ... | @@ -75,30 +180,30 @@ GNU General Public License v2. |
75 | 180 | radmin> |
76 | 181 | ``` |
77 | 182 | |
78 | - * indiquer le niveau de debug voulu (0 le plus élevé) |
|
183 | + * indiquer le niveau de debug voulu (0 le plus élevé) |
|
79 | 184 | ``` |
80 | 185 | radmin> debug level 0 |
81 | 186 | ``` |
82 | 187 | |
83 | 188 | * indiquer le fichier de log précédemment créé |
84 | 189 | ``` |
85 | -radmin> debug file radmin_20140211_voileux.log |
|
190 | +radmin> debug file radmin_20140211_voileux.log |
|
86 | 191 | ``` |
87 | 192 | |
88 | - * indiquer le filtre |
|
193 | + * indiquer le filtre |
|
89 | 194 | ``` |
90 | -23:28 srecher@beowulf ~ % sudo radmin -e "debug condition '(User-Name == voileux)'" |
|
195 | +23:28 srecher@beowulf ~ % sudo radmin -e "debug condition '(User-Name == voileux)'" |
|
91 | 196 | ``` |
92 | -a la place de voileux mettre le login de l'utilisateur |
|
197 | +a la place de voileux mettre le login de l'utilisateur |
|
93 | 198 | |
94 | -ou sinon mettre condition * si vous voulez voir tout les messages radius |
|
199 | +ou sinon mettre condition * si vous voulez voir tout les messages radius |
|
95 | 200 | |
96 | - * lire le fichier de log qui contient la trace réaliser |
|
201 | + * lire le fichier de log qui contient la trace réaliser |
|
97 | 202 | |
98 | 203 | ## Arrêter le debug |
99 | 204 | |
100 | 205 | ``` |
101 | -23:28 srecher@beowulf ~ % sudo radmin -e "debug condition" |
|
206 | +23:28 srecher@beowulf ~ % sudo radmin -e "debug condition" |
|
102 | 207 | ``` |
103 | 208 | |
104 | 209 | ## voir les infos de debug |
... | ... | @@ -115,4 +220,4 @@ radmin> show debug level |
115 | 220 | * Détailler un peu le rôle de chaque serveur |
116 | 221 | * Versionner la conf et mettre un lien ici |
117 | 222 | * Expliquer un peu la conf |
118 | -* Vérifier que les infos de proxy radius sont toujours exactes |
|
... | ... | \ No newline at end of file |
0 | +* Vérifier que les infos de proxy radius sont toujours exactes |