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