Vous êtes sur la page 1sur 156

Protocoles d’authentification réseau

Sans-fil et filaire

Protocoles d'authentification réseau 1 S.Bordères


‰ Plan

‰Introduction
ƒQu'est-ce que l'authentification réseau ?
ƒPourquoi faire de l'authentification réseau ? ‰Mise en oeuvre
ƒAuthentification par adresse MAC (Radius-mac)
ƒIntérêt de l'authentification réseau 9Configuration des équipements réseau
ƒAuthentifier quoi ? Des utilisateurs ou des •WIFI (borne HP et Cisco)
machines ? •Filaire (switch HP et Cisco)

ƒEléments pour authentifier 9Configuration du serveur Radius


ƒAutoriser quoi ?
9Configuration des clients
‰Le protocole Radius
ƒBases du protocole ƒAuthentification 802.1X
9Configuration des équipements réseau
ƒSupport des Vlans • WIFI (borne HP et Cisco)
ƒSupport EAP •Filaire (switch HP et Cisco)

9Configuration du serveur Radius


‰Freeradius
9Configuration des clients
•TLS - Windows et Linux
•PEAP - Windows et Linux

9Utilisation d'une base de données.


•Windows
•LDAP

Protocoles d'authentification réseau 2 S.Bordères


‰ Qu'est-ce que l'authentification réseau ?

Il s'agit d'authentifier une machine lorsqu'elle se branche sur le réseau


afin de lui autoriser ou refuser l'usage du réseau.

On authentifie pour délivrer des autorisations

Cette authentification est indépendante d'autres authentifications


vers des systèmes d'exploitation ou applications

Protocoles d'authentification réseau 3 S.Bordères


‰ Qu'est-ce que l'authentification réseau ?

•Branchement physique sur le réseau


n
au i o
s e at

•Authentification
ré tific
en

Base
th

•Autorisation d'usage De
Au

Données
Commune

•Authentification sur le système d'exploitation (LDAP)


tiv ion

(windows, Linux…)
ca at
es
pl i ific
a p ent
th

•Authentification sur une application


Au

Protocoles d'authentification réseau 4 S.Bordères


‰ Pourquoi faire de l’authentification réseau ?

•Sécuriser un réseau filaire ou sans-fil

•Pour interdire les postes inconnus

•Pour placer les postes connus a des endroits spécifiques du réseau (vlan)
de façon dynamique.

•Pour savoir quelle machine est connectée et où elle est connectée

Protocoles d'authentification réseau 5 S.Bordères


‰ Intérêts de l’authentification réseau ?
Intérêt pour un réseau filaire

•Savoir qui se connecte sur quelle prise

•Eviter une utilisation illicite du réseau par des « inconnus »

•Affecter les machines sur des réseaux virtuels (cloisonnement)

Intérêt pour un réseau sans-fil

•Obligatoire pour intégrer le réseau filaire cad que


les machines sans-fil travaillent comme les machines filaires

• Affecter une machine sur le même vlan que lorsqu’elle


se connecte sur le réseau filaire.

•Authentification + cryptage

•Nécessité de gérer un périmètre aérien, flou, incontrôlable.

Protocoles d'authentification réseau 6 S.Bordères


‰ Authentifier quoi ? Des utilisateurs ou des machines ?

La réponse dépend de la destination et/ou de l’architecture du réseau.

ƒUne authentification par utilisateur implique que les autorisations sont accordées
quelque soit la machine utilisée.

ƒUne authentification par machine implique qu’une machine recevra les mêmes
autorisations quelque soit l’utilisateur qui l’utilise.

Dans chaque cas il est possible de croiser les éléments d’authentification avec
l’adresse MAC de la machine.

Protocoles d'authentification réseau 7 S.Bordères


‰ Eléments pour authentifier

De quoi dispose t’on pour authentifier ?

•L’adresse MAC de la carte Ethernet


Et/ou
•Une base de login/mot de passe (windows, LDAP…)
Et/ou
•De certificats (utilisateurs ou machines)

Obligatoire : ne pas rajouter de contraintes sur l’utilisateur

Protocoles d'authentification réseau 8 S.Bordères


‰ Autoriser quoi ?

On autorise une machine à utiliser tout ou partie d’un réseau.

Dans un réseau plat (sans sous-réseau) on autorise tout le réseau obligatoirement

Dans un réseau segmenté on autorise la connexion sur un sous-réseau (Vlan)

Protocoles d'authentification réseau 9 S.Bordères


‰ Rappel sur les Vlans
Vision logique correspondante

Routeur
Routeur

Lien 802.1Q Trunk (cisco) Réseau3


Tagged (HP)

Réseau2
Vlan2 Vlan3

switch

switch

Vlan2

Vlan3

Protocoles d'authentification réseau 10 S.Bordères


‰ Protocoles d’authentification

ƒProtocoles propriétaires => Exemple: VMPS de Cisco


Authentification sur adresse MAC uniquement

Réseau filaire

ƒProtocoles ouverts => Radius et 802.1x

Authentification sur adresse MAC, Login/password


Certificats, cartes à puce ….

Réseau filaire et sans-fil

Protocoles d'authentification réseau 11 S.Bordères


‰ Protocoles d’authentification: Radius

Deux possibilités :

ƒ Authentification par adresse MAC (Radius-Mac)

ƒ Authentification 802.1x

Protocoles d'authentification réseau 12 S.Bordères


‰ Protocoles d’authentification: Radius

Le serveur radius Interroge sa base


Authentification par adresse MAC de données pour mettre en correspondance
l’adresse MAC et le N° de vlan

Serveur radius

L’adresse MAC
sert d’identifiant

Fichier local
Et/ou
Lorsque un poste se Base Ldap
connecte sur un port Et/ou
le switch interroge Base sql
le serveur radius

Protocoles d'authentification réseau 13 S.Bordères


‰ Protocoles d’authentification: Radius et 802.1x
Le serveur radius Interroge sa base
de données pour trouver l’identifiant

Serveur radius

L’identifiant et soit
un login/password
soit un certificat

Fichier local
Le switch relaie Et/ou
la demande du poste Base Ldap
Et/ou
Base sql
Et/ou
Domaine windows
Exécution d’un supplicant
qui demande l’authentification

Protocoles d'authentification réseau 14 S.Bordères


‰ Protocoles d’authentification: Radius et 802.1x
EAP over Radius Serveur radius

Il y a une communication
entre le client et le serveur
Radius avec le protocole EAP

s
P

tre
E A

Au
Port non contrôlé
Port contrôlé
s

P
tre

EAP over LAN E A


Après authentification
Au

Avant authentification

Protocoles d'authentification réseau 15 S.Bordères


‰ Protocoles d’authentification: Radius et 802.1x

802.1x met en œuvre le protocole EAP pour les communications du client vers le serveur
d'authentification.

EAP (Extensible Authentication Protocol) est un protocole de transport


de protocole d'authentification.

L'intérêt de l'architecture de EAP est de pouvoir utiliser divers mécanismes


d'authentification sans que l'équipement réseau (NAS) aient besoin de les
connaître. Dans ce cas il agit comme un tunnel transparent vers un serveur
qui lui implémente les mécanismes souhaités.

Par exemple: Mot de passe, certificats, carte à puce ….

Protocoles d'authentification réseau 16 S.Bordères


‰ Protocoles d’authentification: EAP

Principales méthodes d'authentification EAP:

- EAP/TLS
Authentification mutuelle entre le serveur et le client
par certificat.

- EAP/PEAP ou EAP/TTLS
Le client est authentifié par un login/mot de passe.
Le serveur peut être authentifié par son certificat.

Protocoles d'authentification réseau 17 S.Bordères


‰ Protocoles d’authentification:Terminologie

NAS
Authenticator (802.1x)
Radius client

Domaine
serveur Radius Windows
supplicant
Borne WIFi
Méthodes
d'authentification
et d'autorisation

Commutateur

supplicant NAS
Authenticator (802.1x)
LDAP
Radius client
Base sql
certificats
Fichier local
NAS= Network Access Server

Protocoles d'authentification réseau 18 S.Bordères


Le protocole Radius

Protocoles d'authentification réseau 19 S.Bordères


‰ Le protocole Radius

Remote Protocole d'authentification


d'utilisateurs distants
Access
Dial Initialement plutôt utilisé par les ISP
Pour authentifier leurs utilisateurs
In
User Développé par Livingston Enterprises

Service
Le protocole de base de RADIUS est décrit dans le RFC 2865.

Utilise UDP sur le port 1812 (anciennement 1645)

Protocoles d'authentification réseau 20 S.Bordères


‰ Le protocole Radius

Radius est un serveur de type AAA

Authentification
Qui me parle ?

Authorization
Quelles autorisations je lui accorde ?

Accounting
Que fait-il ?

Protocoles d'authentification réseau 21 S.Bordères


‰ Le protocole Radius: les types de paquets

Le protocole utilise 4 types de paquets suffisants pour assurer toutes les


transactions: (hors accounting)

Access-Request

Access-Accept

Access-Reject

Access-Challenge

Protocoles d'authentification réseau 22 S.Bordères


‰ Le protocole Radius: les types de paquets

Access Request
Premier paquet envoyé par le client (NAS)
Contient l'identité de l'utilisateur qui se connecte
( username/password ou CN du certificat ou MAC adresse)

Access-Accept
Renvoyé par le serveur Radius pour accepter la requête du client après
interrogation de sa base d'authentification.

Ce paquet peut contenir une liste d'attributs correspondant aux


services qui sont autorisés (par exemple le vlan).

Protocoles d'authentification réseau 23 S.Bordères


‰ Le protocole Radius: les types de paquets

Access-reject
Emis par le serveur radius pour spécifier au client que sa requête est
rejetée.
En principe ce paquet peut être émis à tout moment pour mettre fin
à une connexion, mais certains équipement ne supporte pas.

Access-challenge
Emis par le serveur Radius pour demander soit de ré-emettre un
access-request, soit pour demander des informations complémentaires.

Protocoles d'authentification réseau 24 S.Bordères


‰ Le protocole Radius: format des paquets

Code(1) Iden- Longueur(2) Authentificateur(16)


tifier(1)

Attributs et valeurs(variable)

Codes Identifier
1 - access-request utilisé pour associer les requêtes
2 - access-accept et les réponses.
3 - Access-reject
4 - Accounting-request
Authentificateur
5 - Accounting-response
Utilisé pour que l'équipement NAS
11- Access-challenge puisse authentifier les réponses du serveur
-> Request authenticator
-> Response authenticator

Attributs et valeurs
Ensemble d'attributs et leur valeur qui indique quels services sont demandés
ou autorisés.

Protocoles d'authentification réseau 25 S.Bordères


‰ Le protocole Radius: les types de paquets

Code(1) Iden- Longueur(2) Authentificateur(16)


tifier(1)

Attributs et valeurs

Authentificateur

Lorsque le client NAS envoi un paquet access-request il inclut un authentificateur


appelé request-authenticator qui est une séquence aléatoire.

Le serveur répond par un paquet access-accept ou accept-reject ou accept-challenge


avec un response-authenticator composé avec les informations contenues dans le paquet
access-request, le request authenticator et un secret partagé avec le NAS et le
tout crypté MD5.

Le NAS est alors en mesure de vérifier que le serveur qui répond est bien
celui qu'il a contacté.

Protocoles d'authentification réseau 26 S.Bordères


‰ Le protocole Radius: les attributs

Les transactions RADIUS ont pour but de véhiculer des attributs et leur valeur
entre le client NAS et le serveur.

Ces attributs et leur valeur sont appelés paires attribut-valeur


(AVP= attribut-value pair)

Ces attributs permettent au client de communiquer des informations au serveur


(password, MAC adresse…) et au serveur de communiquer les paramètres des
autorisations qu'il délivre (vlan…) ou bien demander des informations
complémentaires.

Code(1) Iden- Longueur(2) Authentificateur(16)


tifier(1)


longueur valeur
attribut

Protocoles d'authentification réseau 27 S.Bordères


‰ Le protocole Radius: les attributs
Un attribut est caractérisé par son type et sa valeur (éventuellement nulle)

Integer

Enumerated

IP address

Chaîne de caractères

Date

Binaire

Vendor-specific

Code(1) Iden- Longueur(2) Authentificateur(16)


tifier(1)


longueur valeur
attribut
Protocoles d'authentification réseau 28 S.Bordères
‰ Le protocole Radius: les attributs standards

Il y a beaucoup d'attributs standards mais peu sont utilisables dans le


cas d'une utilisation avec 802.1x.

Par exemple l'attribut CALLBACK-NUMBER contient le numéro de téléphone


sur lequel il faut rappeler le client. Ce qui est inutile dans notre cas…

Seront décrits ici uniquement les attributs intéressants pour


l'authentification 802.1X et Radius Mac

Protocoles d'authentification réseau 29 S.Bordères


‰ Le protocole Radius: les attributs standards

Called-Station-Id
Contient l'adresse MAC de l'équipement NAS

Calling-Station-Id
Contient l'adresse MAC de la machine de l'utilisateur.

NAS-IP-Address
Adresse IP de l'équipement NAS

NAS-Port
Port sur lequel est connecté le supplicant

User-Name

User-Password

Protocoles d'authentification réseau 30 S.Bordères


‰ Le protocole Radius: le dictionnaire

Chaque attribut possède un numéro d'identification.

Seul ce numéro est transmis dans les paquets .

La correspondance entre le nom de l'attribut, son numéro et son type est


réalisé dans un dictionnaire.

N° attribut Nom d'attribut type

Protocoles d'authentification réseau 31 S.Bordères


‰ Le protocole Radius: les attributs vendor

Les fabricant de matériel réseau (NAS) ont parfois intégré à leurs équipements
des attributs spécifiques en plus des attributs standards définis dans le RFC.

Ces attributs sont encapsulés dans l'attribut standard vendor-specific qui a pour
numero 26. Ils sont appelés VSA = Vendor Specific Attribut

Code(1) Iden- Longueur(2) Authentificateur(16)


tifier(1)

Vendor Attribut
26 longueur longueur valeur
ID number

Protocoles d'authentification réseau 32 S.Bordères


‰ Le protocole Radius: les attributs vendor
Vendor ID:
N° d'immatriculation du fabricant
(NMPECS= Network Management Private Enterprise Codes (RFC1700)

Attribut number
Comme pour les attributs standards, les vendor-attributs possèdent un numéro
d'identification. Ce numéro est répertorié dans un dictionnaire spécifique au
fabricant.

Longueur

Valeur

Code(1) Iden- Longueur(2) Authentificateur(16)


tifier(1)

Vendor Attribut
26 longueur longueur valeur
ID number

Protocoles d'authentification réseau 33 S.Bordères


‰ Le protocole Radius: les attributs vendor

Valeur de l'attribut
SSID=visiteurs
Renvoi à une borne cisco AP1200 le SSID
autorisé pour un utilisateur. Ce SSID est égale à un VLAN

Nom de l'attribut
Exemple 1

ip:inacl#1=permit ip any host 10.3.3.254


Renvoi une ACL à un commutateur
(Exemple vu sur: http://www.lmcp.jussieu.fr/~morris/802.1X/mobile.htm)

Exemple 2

Protocoles d'authentification réseau 34 S.Bordères


‰ Les extensions du protocole Radius: support des vlans

¾Le support des VLANs est réalisé par le biais des attributs de tunnel

¾Le support des attributs de tunnel est une extension du protocole de base
de RADIUS dont le but initial est de créer des tunnels avec des clients distants.

¾Ces extensions sont décrites dans le RFC 2868

Les attributs concernés sont :


Tunnel-type
Tunnel-Medium-Type
Tunnel-Private-group-Id

Protocoles d'authentification réseau 35 S.Bordères


‰ Les extensions du protocole Radius: support des vlans
Tunnel-Type
Il y a 13 types de tunnels. Bien que le RFC ne parle que des 12 premiers.
Le 13ème étant les VLAN 802.1q.

1 Point-to-Point Tunneling Protocol (PPTP)


2 Layer 2 Forwarding (L2F)
3 Layer 2 Tunneling Protocol (L2TP)
4 Ascend Tunnel Management Protocol (ATMP)
5 Virtual Tunneling Protocol (VTP)
6 IP Authentication Header in the Tunnel-Mode (AH)
7 IP-in-IP encapsulation (IP-IP)
8 Minimal IP-in-IP Encapsulation (MIN-IP-IP)
9 IP encapsulating Security Payload in the tunnel-mode (ESP)
10 Generic Route Encapsulation (GRE)
11 Bay dial in virtual Services (DVS)
12 IP-in-IP Tunneling
13 Vlan 802.1Q

Protocoles d'authentification réseau 36 S.Bordères


‰ Les extensions du protocole Radius: support des vlans
Tunnel-Medium-Type

Cet attribut indique quel type de transport est utilisé. Il y a 14 types possibles.

1 IPv4
2 UPv6
3 NSAP
4 HDLC
5 BBN 1822
6 802 Ethernet
7 E.163 (POTS)
8 E.164 (SMDS, Frame relay, ATM)
9 F.69 (Telex)
10 X.121
11 IPX
12 Appletalk
13 Decnet IV
14 Banyan Vines

Protocoles d'authentification réseau 37 S.Bordères


‰ Les extensions du protocole Radius: support des vlans

Tunnel-Private-Group-Id

Indique un group-id pour un tunnel spécifique. Dans le cas des VLANs il s'agit du numéro
de Vlan.

Autres attributs tunnel

Il existe d'autres attributs de tunnel, non utilisés pour nos besoins

Protocoles d'authentification réseau 38 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)

Radius a été étendu pour supporter le protocole EAP et donc l'authentification 802.1x.

Pour cela 2 attributs ont été ajoutés:


Message-Authenticator
EAP-Message

Les paquets EAP sont encapsulés dans l'attribut EAP-Message

Message-Authenticator est un attribut qui permet de signer les requêtes qui contiennent des
attributs EAP-Message. (calcul MD5 sur le contenu d'un access-request + secret partagé)

RFC: 2869 radius extension


3579 radius support for EAP
3748 EAP
2716 EAP/TLS
3580 802.1x radius usage guidelines

Protocoles d'authentification réseau 39 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)
Authentification avec certificat (TLS)

EAP over LAN EAP over RADIUS


EAP-request =identity
1
EAP-reply=identity=CN
2

EAP-request =TLS start 3

4 EAP-Reply=Client_hello

EAP_request=Server_hello, certificat+clé publique 5

6 EAP-reply=Certificat+clé publique
Calcul clé Calcul clé
principale principale
EAP-request=TLS_finished
7 7
EAP-request=TLS_finished

EAP-reply= vide
8 8
EAP-reply= success EAP-reply= success+clé de session

EAP-key=Clé WEP ou WPa 9


Protocoles d'authentification réseau 40 S.Bordères
‰ Les extensions du protocole Radius: support EAP (802.1x)
Authentification avec certificat (TLS)
1- Le NAS envoi au client une requète EAP lui demandant son identité

2- Le client répond avec le CN comme identité

3- Le serveur démarre la séquence TLS par l’envoi du message TLS_start

4- Le client répond par un message client_hello :


La version de TLS
Un challenge (nombre aléatoire)
Un identifiant de session
La liste des algorithmes de chiffrement supportés par le client

5- Le serveur répond par un message server_hello


Son certificat et sa clé publique
Demande au client d’envoyer son certificat
Un challenge
Un identifiant de session calculé à partir de celui du client.
Choisit un algorithme de chiffrement en fonction de ceux connus par le client

6- Le client vérifie le certificat du serveur et envoi le sien et sa clé publique


Protocoles d'authentification réseau 41 S.Bordères
‰ Les extensions du protocole Radius: support EAP (802.1x)
Authentification avec certificat (TLS)

7- Le client et le serveur calculent une clé de chiffrement pour la session principale


(à partir des challenges échangés)

8- Le client renvoi une réponse EAP vide et le serveur répond par un message
EAP_success avec une clé de session pour la borne wifi.

9- A partir de cette clé de session la borne calcul une clé WEP ou WPA et l’envoi
au client.

Dans le cas d’authentification EAP/TLS la clé de session principale n’est pas utilisée.

Seul l’échange de validation mutuelle des certificats est utile

Protocoles d'authentification réseau 42 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)
Authentification avec login/password (PEAP)

Client NAS Serveur d'authentification

EAP-request/identity
Access-request
EAP-Response/identity (EAP-message)
(EAP-message- identity=login)
TLS pour création d’un tunnel chiffré

Tunnel TLS chiffré

Authentification du client (mschapv2)

authentification
OK
Access-accept
+Clé de session
Génération
EAP key clé WEP/WPA

clé WEP/WPA

Protocoles d'authentification réseau 43 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)
Authentification avec login/password (PEAP)

EAP over LAN EAP over RADIUS


EAP-request =identity 1

2 EAP-reply=identity=login

EAP-request =TLS start 3


4 EAP-Reply=Client_hello

EAP_request=Server_hello, certificat+clé publique 5


Calcul clé de Calcul clé de
session principale session principale
EAP-request-PEAP_finished
6 6
EAP-request=PEAP_finished

Tunnel chiffré

EAP-reply= vide
7 7
EAP-reply= success EAP-reply= success+clé de session

EAP-key=Clé WEP ou WPa 8


Protocoles d'authentification réseau 44 S.Bordères
‰ Les extensions du protocole Radius: support EAP (802.1x)
Remarques sur l’identité

9Dans les phases 1 et 2 l’identité (réponse identity) transmise n’est pas cryptée

9Ce n’est pas directement ce champ qui permet l’authentification. Mais c’est lui
qui est utilisé pour l’autorisation.

9Pour TLS : C’est la validation mutuelle des certificats qui constitue l’authentification

9Pour PEAP: C’est le username transmis dans le tunnel (crypté) qui sert à faire
l’authentification par vérification du mot de passe.

9Dans tous les cas il est possible de donner une identité différente du CN
ou du username. Ceci afin que l’identité réelle ne circule pas en clair.

Dans la réalité il faut être prudent car il y a risque qu’un utilisateur s’authentifie avec
sa propre identité mais puisse acquérir les autorisations d’un autre.

Protocoles d'authentification réseau 45 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)
Remarques sur le cryptage sans-fil

¾Pour EAP/PEAP les échanges nécessaires à l’authentification


sont cryptés dans un tunnel TLS et ce même si ensuite aucune méthode de
cryptage n’est configurée.(en filaire également)

¾Même si 802.1x n’impose pas le cryptage des communications il est FORTEMENT


recommandé de crypter avec une méthode « sérieuse ». (au moins WPA)

¾La borne doit gérer la transmission automatique des clés de cryptage vers les postes
clients et, de préférence, la rotation dynamique de ces clés.

Protocoles d'authentification réseau 46 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)
Remarques sur le cryptage sans-fil

Méthodes de cryptage:
WEP : dépassé ne pas utiliser

WPA : Associé à TKIP pour la rotation


Initialisation des clés par 802.1x
Changement de la clé tous les 10Ko
Clé 128 bits (RC4)
vecteur d’initialisation de 48 bits
MIC: Contrôle d’intégrité

WPA2: = 802.11i
Principe identique à WPA avec:
CCMP pour la rotation des clés
AES pour le cryptage

Protocoles d'authentification réseau 47 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)

Dans le cas du WIFI

"la durée de vie d'une clé wep est une heure"


Source Hervé shauer Consultants
http://www.hsc.fr/ressources/presentations/ossir-wpa-wpa2/img0.html

Protocoles d'authentification réseau 48 S.Bordères


‰ Les extensions du protocole Radius: support EAP (802.1x)

Imbrication des protocoles

802.11b/g 802.3

TLS
EAP TLS
TLS MSCHAPv2 IP UDP Radius EAP
TLS MSCHAPv2

Cryptage WEP, ou WPA ou 802.11i (WPA2)

IP TCP ou
IPUDP

Protocoles d'authentification réseau 49 S.Bordères


‰ Processus d’authentification et autorisation

Check Base
items

Request-items
Mac-address Processus
d'authentification
et autorisation

Check-item=request-items ?

Reply-items

Vlan=5 Reply
items Base

Protocoles d'authentification réseau 50 S.Bordères


‰ Processus d’authentification et autorisation

•L'équipement NAS envoi un access-request contenant une liste d'attributs appelés request_items.
Par exemple, l'adresse MAC est un request-item.

•Le serveur Radius dispose dans sa base d'authentification/autorisation d'une liste de check-items
associée à chaque utilisateur/machine connu.

•Radius interroge sa base pour trouver une entrée qui correspond au username envoyé et
dont les check-items matches les request-item.

•Si aucune correspondance n'est trouvée un access-reject est envoyé.

•Si une correspondance est trouvée, une reply-list est formée à partir des reply-items contenu
dans la base. Par exemple, le numéro de vlan est un reply-item.

•Le username envoyé est authentifié (mot de passe, certificats…..)

•Si l'authentification est ok, la reply-list est envoyé à l'équipement NAS avec un access-accept.

Protocoles d'authentification réseau 51 S.Bordères


‰ Eléments constitutifs de la base de données
Identifiant : Un username fournis par le client radius (switch)
ou par le supplicant

La méthode d’authentification:
Elle peut être indiquée explicitement dans la base de données
ou bien être déduite implicitement en fonction du protocole
utilisé par le NAS ou le supplicant.
(Local, EAP, LDAP)

Les check-items: Exemples:


Mot de passe : Fourni par le NAS dans le cas d’une authentification
par adresse MAC. Dans ce cas le mot de passe est l’adresse MAC.
L’adresse MAC

Les reply-items: Exemple: le ssid ou le N° de vlan.

Protocoles d'authentification réseau 52 S.Bordères


Freeradius

Protocoles d'authentification réseau 53 S.Bordères


‰ Freeradius

Freeradius est une implémentation open source du protocole Radius.

www.freeradius.org

Fonctionnalités:
- Support EAP (MD5, SIM TLS TTLS, PEAP, LEAP, GTC, MSCHAPV2)
- 50 dictionnaires vendor-specific
- LDAP, MYSQL, PostgresSQL, Oracle, SAMBA
- Module PAM-radius
- Mod_auth radius pour Apache

Protocoles d'authentification réseau 54 S.Bordères


‰ Freeradius: Installation et démarrage

Installation
tar xvzf freeradius-1.0.1.tar.gz.
cd freeradius-1.0.1

CFLAGS="-I/usr/include/et" ./configure --sysconfdir=/etc


make
make install

Démarrage
/etc/init.d/radiusd start
Logs dans /var/log/radius/radius.log
Ou bien

radiusd –X (mode debug)

Protocoles d'authentification réseau 55 S.Bordères


‰ Freeradius: Fichiers de configuration

Les fichiers de configurations sont dans /etc/raddb

radiusd.conf
Configurations principales clients.conf
eap.conf
users

dictionnary
Configurations particulières Ldap.attrmap
Oraclesql.conf
Postgresql.conf
Sql.conf

Gestion des certificats cert

Protocoles d'authentification réseau 56 S.Bordères


‰ Freeradius: Fichiers de configuration : Clients.conf

Dans ce fichier doivent être référencés tous les clients Radius (NAS)
autorisés à interroger le serveur.

client adresse-ip {
secret = mot-de-passe Doit être présent aussi dans le NAS
shortname = nom
nastype = type-materiel
}

Protocoles d'authentification réseau 57 S.Bordères


‰ Freeradius: Fichiers de configuration - users

•Le fichier user est la base de données locale. C’est un fichier plat.

•Il est constitué d'une succession "d'entrée". Chacune correspondant à un


utilisateur ou machine.

•Le fichier est parcouru séquentiellement du haut vers le bas.

•Chaque entrée commence par un identifiant suivi par une liste


d'item à vérifier (check item).
item Sur une seule ligne.

•Les lignes suivantes commencent par une tabulation suivie d'une liste d'items
de réponse (reply item).
item

•Il peut y avoir plusieurs reply item séparés par des virgules et sur plusieurs lignes.

Protocoles d'authentification réseau 58 S.Bordères


‰ Freeradius: Fichiers de configuration - users

username Type d'authentification Adresse MAC


Check items

Dupont Auth-Type := EAP, Calling-Station-Id == "0012f0ae2546"


Service-Type = Framed-User,
Reply items
Tunnel-type = VLAN,
Tunnel-Medium-Type = 6,
Tunnel-private-Group-ID = 15

DEFAULT Auth-Type := reject , Fall-Trough = 0


Service-Type = Framed-User

Entrée par défaut Rejet de la requête

Protocoles d'authentification réseau 59 S.Bordères


‰ Freeradius: Fichiers de configuration - users
Auth-Type:
attribut spécial permettant de spécifier le type d'authentification
à appliquer à une entrée.
Les types possibles peuvent être trouvés dans le dictionnaire:

Local
System Reject permet de refuser inconditionnellement
SecurID
une connexion.
Crypt-Local
Reject
ActivCard
EAP Accept permet d'accepter inconditionnellement
ARAP une connexion.
Accept
PAP
CHAP
LDAP
PAM
MS-CHAP
Kerberos
CRAM
NS-MTA-MD5
SMB
Protocoles d'authentification réseau 60 S.Bordères
‰ Freeradius: Fichiers de configuration - users

Les opérateurs

Attribute == valeur (check-item)


Match si l'attribut est présent et est égale à cette valeur.

Attribute != valeur (check-item)


Match si l'attribut est présent et n'est pas égale à cette valeur.

Attribute > valeur, >= , <, <= (check-item)


Match si l'attribut est présent et est > ou >= ou < ou <= à cette valeur.

Protocoles d'authentification réseau 61 S.Bordères


‰ Freeradius: Fichiers de configuration - users

Les opérateurs

Attribute =~ expression (check-item)


Match si l'attribut match l'expression régulière..

Attribute !~ expression (check-item)


Match si l'attribut ne match pas l'expression régulière.

Attribute *= value (check-item)


Match si l'attribut est présent dans la requête.
La valeur n'a pas d'importance.

Attribute != value (check-item)


Match si l'attribut n'est pas présent dans la requête.
La valeur n'a pas d'importance.

Protocoles d'authentification réseau 62 S.Bordères


‰ Freeradius: Fichiers de configuration - users

Les opérateurs

Attribute = valeur (reply-item)


Ajoute l'attribut à la liste des reply-items .

Attribute := valeur (check-item/reply-item)


9Comme check-item, match toujours et
remplace ou ajoute l'attribut aux configuration-items.
9Comme reply-item ajoute l'attribut à la liste des reply-items.

Attribute += value (check-item/reply-item)


9Comme check-item match toujours et
rajoute l'attribut au request-item.
9Comme repy-item rajoute l'attribut au request-item.

Protocoles d'authentification réseau 63 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

Format général du fichier

Liste de paramètres de fonctionnement

Déclaration de modules

Appel des modules

Protocoles d'authentification réseau 64 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

prefix = /usr/local
exec_prefix = ${prefix}
sysconfdir = /etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = ${localstatedir}/log/radius
raddbdir = ${sysconfdir}/raddb
radacctdir = ${logdir}/radacct
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/radiusd
log_file = ${logdir}/radius.log
libdir = ${exec_prefix}/lib
pidfile = ${run_dir}/radiusd.pid

max_request_time = 30
delete_blocked_requests =no
cleanup_delay = 5
max_requests = 1024
bind_address = *
port =1812

Protocoles d'authentification réseau 65 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

#listen {
# IP address on which to listen.
# Allowed values are:
# dotted quad (1.2.3.4)
# hostname (radius.example.com)
# wildcard (*)
# ipaddr = *
Listen :
Utile uniquement lorsque
# Port on which to listen.
le client peut être sur la
# Allowed values are:
machine où tourne Radius
# integer port number (1812)
# 0 means "use /etc/services for the proper port"
# port = 0

# Type of packets to listen for.


# Allowed values are:
# auth listen for authentication packets
# acct listen for accounting packets
#
# type = auth
#}
Protocoles d'authentification réseau 66 S.Bordères
‰ Freeradius: Fichiers de configuration – radiusd.conf

hostname_lookups = no
allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes

log_stripped_names = yes
log_auth = yes
log_auth_badpass = yes
Paramétrage des logs
log_auth_goodpass = yes
usercollide = no
lower_user = no
lower_pass = no

nospace_user = no
nospace_pass = no

Protocoles d'authentification réseau 67 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf
Paramètres imposants des
security { limitations pour contrarier certains
types d'attaques.
max_attributes = 200 Limite le nombre d'attributs par requête

reject_delay = 1 Autorise un délai de réponse pour freiner


une attaque type DoS
status_server = no
Interdit/autorise la requête status-server
}

Inclusion des autres fichiers de configuration

proxy_requests = yes Autorise/interdit les requêtes proxy


$INCLUDE ${confdir}/proxy.conf
$INCLUDE ${confdir}/clients.conf NAS autorisés à communiquer avec le serveur

snmp = no Autorise/interdit le support SNMP

$INCLUDE ${confdir}/snmp.conf

Protocoles d'authentification réseau 68 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf
Déclaration des modules
Nom du module: correspond à une librairie rlm_nom1
Modules { Ces librairies sont situées dans /usr/local/lib.

nom1 {
……
}

nom2 { Paramètres du module


……
}
.
.
.
nom3 {
….
}
}

Protocoles d'authentification réseau 69 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf
pap {
Module d'authentification PAP
encryption_scheme = crypt
}
chap { Module d'authentification CHAP
authtype = CHAP
}
pam { Module d'authentification PAM
pam_auth = radiusd
}

Module d'authentification Unix


unix {
à partir d'un fichier de style /etc/passwd
cache = no
cache_reload = 600 Mise en cache éventuelle
de passw, shadow et group
passwd = /etc/passwd
shadow = /etc/shadow Emplacement des fichiers
group = /etc/group
radwtmp = ${logdir}/radwtmp
}

Protocoles d'authentification réseau 70 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

$INCLUDE ${confdir}/eap.conf Inclusion du module d'authentification EAP

mschap { Module d'authentification mschap


pour authentification sur un domaine Windows
authtype = MS-CHAP
#require_encryption = yes
#require_strong = yes
with_ntdomain_hack = yes
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=nom-domaine --username=%{Stripped-
User-Name:-%{User-Name:-None}} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-
Response:-00}"
}

Requête à destination du contrôleur de domaine (nécessite winbindd et nmbd)

Protocoles d'authentification réseau 71 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

ldap {
Module d'authentification sur
server = "ldap.your.domain"
# identity = "cn=admin,o=My Org,c=UA" serveur
LDAP (voir plus loin)
# password = mypass
basedn = "o=My Org,c=UA"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
# base_filter = "(objectclass=radiusprofile)"
start_tls = no
# tls_cacertfile = /path/to/cacert.pem
# tls_cacertdir = /path/to/ca/dir/
# tls_certfile = /path/to/radius.crt
# tls_keyfile = /path/to/radius.key
# tls_randfile = /path/to/rnd
# tls_require_cert = "demand"
# default_profile = "cn=radprofile,ou=dialup,o=My Org,c=UA"
# profile_attribute = "radiusProfileDn"
access_attr = "dialupAccess"
dictionary_mapping = ${raddbdir}/ldap.attrmap
ldap_connections_number = 5
# password_attribute = userPassword
# groupname_attribute = cn
# groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-
UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"
# groupmembership_attribute = radiusGroupName
timeout = 4
timelimit = 3
net_timeout = 1
# compare_check_items = yes
# do_xlat = yes
# access_attr_used_for_allow = yes
}

Protocoles d'authentification réseau 72 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

#passwd etc_smbpasswd {
# filename = /etc/smbpasswd
# format = "*User-Name::LM-Password:NT-Password:SMB-Account-CTRL-TEXT::"
# authtype = MS-CHAP
# hashsize = 100
# ignorenislike = no
# allowmultiplekeys = no
#}
#passwd etc_group { passwd permet de spécifier
# filename = /etc/group le format de fichier de type
# format = "=Group-Name:::*,User-Name" /etc/passwd
# hashsize = 50
# ignorenislike = yes
# allowmultiplekeys = yes
# delimiter = ":"
#}

Protocoles d'authentification réseau 73 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

# Realm module, for proxying.


realm IPASS {
format = prefix
delimiter = "/"
ignore_default = no
ignore_null = no
}
realm suffix {
format = suffix
delimiter = "@"
ignore_default = no
ignore_null = no
}

realm realmpercent {
format = suffix
delimiter = "%"
ignore_default = no
ignore_null = no
}

realm host {
format = prefix
delimiter = "/"
ignore_default = no
ignore_null = no
}

Protocoles d'authentification réseau 74 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

Permet de comparer la valeur


checkval { d'un attribut dans une requête
item-name = Calling-Station-Id avec une liste de check-item
check-name = Calling-Station-Id
(utilisé avec LDAP)
data-type = string
#notfound-reject = no
}

Protocoles d'authentification réseau 75 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

preprocess {
huntgroups = ${confdir}/huntgroups
hints = ${confdir}/hints

with_ascend_hack = no
ascend_channels_per_line = 23
with_ntdomain_hack = no
with_specialix_jetstream_hack = no
with_cisco_vsa_hack = yes
}

files {
usersfile = ${confdir}/users Permet de définir où se trouve
acctusersfile = ${confdir}/acct_users le fichier users
compat = no
}

Protocoles d'authentification réseau 76 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

detail {
detailperm = 0600 Module pour la création de logs détaillés
}
#detail auth_log {
# detailfile = ${radacctdir}/%{Client-IP-Address}/auth-detail-
%Y%m%d
# detailperm = 0600
#}
# detail reply_log {
# detailfile = ${radacctdir}/%{Client-IP-Address}/reply-detail-
%Y%m%d
# detailperm = 0600
#}
# detail pre_proxy_log {
# detailfile = ${radacctdir}/%{Client-IP-Address}/pre-proxy-detail-
%Y%m%d
# detailperm = 0600
#}
# detail post_proxy_log {
# detailfile = ${radacctdir}/%{Client-IP-Address}/post-proxy-detail-
%Y%m%d
# detailperm = 0600
#}

Protocoles d'authentification réseau 77 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

authorize {
preprocess
# auth_log
# attr_filter Fichier docs/aaa.txt
chap Authorization is a process of obtaining information about the
user from external source (file, database or LDAP), and checking
mschap that the information in request is enough to authenticate user.
# digest Authorization modules deal with data sources, so ldap, sql, files,
passwd are authorization modules.
# IPASS
suffix
host
eap
files
# sql Voir discussion sur authorize/authenticate
# etc_smbpasswd http://lists.cistron.nl/pipermail/freeradius-users/2002-December/014730.html
ldap
# daily
checkval
}

Protocoles d'authentification réseau 78 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

authenticate {
Auth-Type PAP {
pap
}

Auth-Type CHAP {
Fichier docs/aaa.txt
chap
Authentication is simply a process of comparing user's
}
credentials in request with credentials stored in database.
Auth-Type MS-CHAP { Authentication usually deals with password encryption. PAP,
CHAP, MS-CHAP are authentication modules. Few modules act
mschap
as both authorization and authentication. For example, the MS-
} CHAP module is normally authentication one, but it may be used
during authorization to verify that request contains MS-CHAP
# digest
related attribute and only in this case perform MS-CHAP based
# pam authentication. LDAP is normally an authorization module, but it
may be used for authentication (In this case FreeRADIUS will
unix
authenticate user in case he can connect to LDAP server with
# Auth-Type LDAP { his account). SQL is only an authorization module, as dial-in
users are not normally given passwords to access an SQL
# ldap
server.
# }
eap
}

Protocoles d'authentification réseau 79 S.Bordères


‰ Freeradius: Fichiers de configuration – radiusd.conf

eap {
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
md5 {
}
leap {
}
gtc {
#challenge = "Password: "
auth_type = PAP
}

.
.
.

Protocoles d'authentification réseau 80 S.Bordères


‰ Freeradius: Fichiers de configuration – eap.conf

tls {
private_key_password = clé-privée
private_key_file = ${raddbdir}/certs/serveur-radius.key
certificate_file = ${raddbdir}/certs/serveur-radius.crt Les certificats du serveur et de l'autorité
sont stockés dans /etc/raddb/certs
CA_file = ${raddbdir}/certs/ca.pem
dh_file = ${raddbdir}/certs/dh
random_file = ${raddbdir}/certs/random
fragment_size = 1024
include_length = yes
# check_crl = yes Impose que le username
check_cert_cn = %{User-Name} envoyé soit égal au CN
}

TLS doit toujours être configuré pour TLS ou PEAP

Protocoles d'authentification réseau 81 S.Bordères


‰ Freeradius: Fichiers de configuration – eap.conf

peap { Permet de copier les items


default_eap_type = mschapv2 dans le tunnel TLS
copy_request_to_tunnel = yes
use_tunneled_reply = yes
}
mschapv2 {
}
} (fin module eap)

Important si on veut écrire:

Dupont Auth-Type := EAP, Calling-Station-ID=« 1234567890 »

Protocoles d'authentification réseau 82 S.Bordères


Mise en oeuvre

Cisco HP

ƒConfigurer les équipements réseau


ƒConfigurer les vlans dans ces équipements
ƒConfigurer les serveurs Radius à utiliser dans ces équipements
ƒConfigurer les cryptages (WIFI)
ƒConfigurer les fichier USERS de radius

802.1X
Radius-mac

Protocoles d'authentification réseau 83 S.Bordères


‰ Authentification par adresse MAC (radius-mac)

Sur réseau WIFI

Remarque importante

Dans le cas du WIFI ne pas se contenter d’une authentification


par adresse MAC.

L’adresse MAC n’est pas cryptée

Protocoles d'authentification réseau 84 S.Bordères


‰ Authentification par adresse MAC (radius-mac)

Configuration des équipements réseau

Bornes et switch

HP et Cisco

Protocoles d'authentification réseau 85 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Inter-connexion des équipements

Connexion d’une borne sur un switch Cisco 2950

interface FastEthernet0/24
switchport trunk native vlan 12 Vlan sur lequel la borne possède une adresse IP
switchport mode trunk

Connexion d’une borne sur un switch HP 2626

vlan 12
untagged 24
vlan x
tagged 24
. Le port 24 doit être tagged sur tous les autres vlans
.

Protocoles d'authentification réseau 86 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des vlans
0
P 42 Sur la borne il faut créer un SSID générique sur lequel tous les postes se connectent.
H Le serveur radius décide sur quel vlan chaque poste sera affecté.

Vlan par défaut si le serveur radius ne renvoi


rien ou ne fonctionne pas (mettre un vlan poubelle)

Protocoles d'authentification réseau 87 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des vlans
0
P 42
H

Protocoles d'authentification réseau 88 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des serveurs radius

420
HP

Les serveurs radius sont définis par SSID

Le format des adresses MAC


10.4.0.3
est défini par serveur

Protocoles d'authentification réseau 89 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des serveurs radius

420
HP

Protocoles d'authentification réseau 90 S.Bordères


‰ Authentification par adresse MAC (radius-mac) - WIFI
Configuration du cryptage
0
P 42
H

Tous les postes utilisant le


même ssid utilisent la
même suite de sécurité
Méthode possible en Radius-mac

Protocoles d'authentification réseau 91 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI

N ET 1200
AIRO
CISCO

Chez Cisco la posibilité de créer plusieurs couple SSID/vlan existe depuis


longtemps mais l’utilisation d’un vlan générique fonctionne depuis récemment
(testé avec la version k9w7-tar.123-7.JA2)

Le principe est le même qu’avec les bornes HP

Protocoles d'authentification réseau 92 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des vlans

15

demo
15

Protocoles d'authentification réseau 93 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des serveurs radius

1200
T
ONE
AI R
CO
CIS

10.4.0.3
10.4.0.3

10.4.0.3 10.4.0.3

Protocoles d'authentification réseau 94 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration des serveurs radius

1200
T
ONE
AI R
CO
CIS

Uniquement les attributs Calling/called Sation Id

Le format des adresses mac est le même pour tous les serveurs et les ssid

Protocoles d'authentification réseau 95 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI
Configuration du cryptage

1200
T
ONE
AI R
CO
CIS

Protocoles d'authentification réseau 96 S.Bordères


‰ Authentification par adresse MAC (radius-mac) Filaire

Avec Cisco 2950 IOS version 12.1(22)EA4 pas possible:


La fonctionnalité n'est pas présente

Pour faire de l'authentification MAC il faut utiliser VMPS

Possible sur matériel HP procurve

Protocoles d'authentification réseau 97 S.Bordères


‰ Authentification par adresse MAC (radius-mac) Filaire
Inter-connexion des équipements et configuration du serveur Radius

6
262
u rve
P roc
h HP radius-server host 10.4.0.3 shared-secret
c
S wi t aaa port-access mac-based addr-format multi-dash
aaa port-acces mac-based port-list

Lien tagged

Port 24 tagged sur tous les vlans


Port 24 tagged sur tous les vlans

Protocoles d'authentification réseau 98 S.Bordères


‰ Authentification par adresse MAC (radius-mac)

Configuration du serveur Radius


avec utilisation de la base local USERS
pour la méthode RADIUS-MAC

Protocoles d'authentification réseau 99 S.Bordères


‰ Authentification par adresse MAC (radius-mac) WIFI+Filaire
Configuration du fichier USERS de radius
Exemple1: Autoriser la machine 00c049e901ab à se connecter sur le vlan 15

Sur le serveur Radius il faut écrire une entrée par adresse MAC autorisée du type suivant:

Fichier users sur le serveur Radius Mot de passe=adresse mac

00c049e901ab Auth-Type := local , User-Password =="00c049e901ab"


Service-Type = Framed-User,
Adresse mac
Tunnel-type = VLAN,
Tunnel-Medium-Type = 6,
Tunnel-private-Group-ID = 15

Protocoles d'authentification réseau 100 S.Bordères


‰ Authentification par adresse MAC (radius-mac)

Configuration sur le client

Aucune configuration particulière sur le client que ce soit en


wifi ou en filaire

Protocoles d'authentification réseau 101 S.Bordères


‰ Authentification 802.1x

Protocoles d'authentification réseau 102 S.Bordères


‰ Authentification 802.1x WIFI et filaire

Client NAS Serveur radius


Certificat
personnel Request Identity Certificat
serveur

Identity=CN="Jean Dupont"

vérification
EAP-type=EAP-TLS

certificat
autorité
vérification

certificat
autorité

CN

users
accept Machine1.demo.fr Auth-Type=EAP
………

Protocoles d'authentification réseau 103 S.Bordères


‰ Authentification 802.1x

Configuration des équipements réseau


pour les méthodes EAP
Bornes et switches

Protocoles d'authentification réseau 104 S.Bordères


‰ Authentification 802.1x WIFI
Inter-connexion des équipements réseau
Idem que pour Radius MAC

=> Si la borne est capable de gérer simultanément desSSID avec authentification MAC et des SSID
avec authentification 802.1x, il n’y a rien de plus à faire sur le switch sur lequel est connecté cette borne.

Connexion d’une borne sur un switch Cisco 2950


Lien trunk

interface FastEthernet0/24
switchport trunk native vlan 12
switchport mode trunk

Connexion d’une borne sur un switch HP Lien tagged

vlan 12
untagged 24
vlan x
tagged 24
.
.
Protocoles d'authentification réseau 105 S.Bordères
‰ Authentification 802.1x WIFI
Configuration des vlans et des serveurs Radius

P 420
H
La configuration dans la borne est identique au cas Radius-MAC sauf qu’il ne
faut pas activer l’authentification MAC.

Protocoles d'authentification réseau 106 S.Bordères


‰ Authentification 802.1x WIFI
Configuration du cryptage
0
P 42
H

Tous les postes utilisant le


même ssid utilisent la
même suite de sécurité

Protocoles d'authentification réseau 107 S.Bordères


‰ Authentification 802.1x WIFI
Configuration des vlans et des serveurs Radius

N ET 1200
SC O AIRO La configuration des vlans est identique au cas radius-mac
CI

Protocoles d'authentification réseau 108 S.Bordères


‰ Authentification 802.1x WIFI
Configuration du cryptage

N ET 1200
SC O AIRO
CI

Protocoles d'authentification réseau 109 S.Bordères


‰ Authentification 802.1x Filaire
Inter-connexion des équipements et configuration du serveur Radius
aaa new-model
aaa group server radius demo_radius
aaa server 10.4.0.3 auth-port 1812 acct-port 1813
aaa authentication login default enable
aaa authentication dot1x default group demo_radius
aaa authorization network default group demo_radius Switch Cisco 2950
dot1x system-auth-control

interface FastEthernet0/15
switchport mode access
dot1x port-control auto
radius-server host 10.4.0.3 shared-secret
Switch
aaa port-access authenticator 15 HP 2626

interface FastEthernet0/24 interface FastEthernet0/1


switchport mode trunk switchport mode trunk Switch Cisco 2950

Port 24 tagged sur tous les vlan Port 24 tagged sur tous les vlan
Switch HP 2626

Protocoles d'authentification réseau 110 S.Bordères


‰ Authentification 802.1x

Configuration du serveur Radius


avec utilisation de la base local USERS
pour les méthodes EAP

Protocoles d'authentification réseau 111 S.Bordères


‰ Authentification 802.1x WIFI et filaire

tls {
private_key_password = clé-privée
private_key_file = ${raddbdir}/certs/serveur-radius.key
certificate_file = ${raddbdir}/certs/serveur-radius.crt
CA_file = ${raddbdir}/certs/cacnrs.pem Fichier eap.conf
dh_file = ${raddbdir}/certs/dh
random_file = ${raddbdir}/certs/random
fragment_size = 1024 TLS
include_length = yes
# check_crl = yes
check_cert_cn = %{User-Name}
} peap {
default_eap_type = mschapv2
copy_request_to_tunnel = yes PEAP
use_tunneled_reply = yes
}
mschapv2 {
}
} (fin module eap)

Protocoles d'authentification réseau 112 S.Bordères


‰ Authentification 802.1x WIFI et filaire
Data:
Version: 3 (0x2)
Serial Number: 12331 (0x302b)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=FR, O=CNRS, CN=CNRS-Standard
Validity
Not Before: Feb 14 15:22:23 2006 GMT
Not After : Feb 14 15:22:23 2008 GMT
Subject: C=FR, O=CNRS, OU=UMR5797, CN=radius.demo.fr /emailAddress=system@demo.fr
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c1:e4:f9:b8:da:27:5a:11:21:26:ce:51:b3:90:
……….
db:04:61:2c:77:24:91:e5:fb
Exponent: 65537 (0x10001)
Caractéristique du certificat
X509v3 extensions:
du serveur radius
X509v3 Basic Constraints: critical
CA:FALSE
Netscape Cert Type:
SSL Client, SSL Server
X509v3 Key Usage: critical
Digital Signature, Non Repudiation, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
Netscape Comment:
Certificat serveur CNRS-Standard
X509v3 Subject Key Identifier:
FD:59:C5:56:87:5F:2D:DD:29:92:AE:44:5B:86:21:61:D2:53:1F:2B
X509v3 Authority Key Identifier:
keyid:67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3C
DirName:/C=FR/O=CNRS/CN=CNRS
serial:02

X509v3 Subject Alternative Name:


DNS:radius.demo.fr
X509v3 CRL Distribution Points:
Protocoles URI:http://crls.services.cnrs.fr/CNRS-Standard/getder.crl
d'authentification réseau 113 S.Bordères
‰ Authentification 802.1x WIFI et filaire

Fichier users sur serveur Radius


CN d’un certificat personnel ou d’un certificat machine (EAP/TLS => certificats)
Ou bien
Username d’une base de login (windows,ldap..) EAP/PEAP

"Jean Dupont" Auth-Type := EAP


Service-Type = Framed-User,
Tunnel-type = VLAN, Avec TLS, ne pas oublier check_cert_cn = %{User-Name}
Tunnel-Medium-Type = 6, pour obliger le client à envoyer une identity égale
au CN.
Tunnel-private-Group-ID = 15

L’authentification n’a pas besoin d’une base extérieure.

Le certificat est validé dans la section Authentication


par l’appel au module EAP dans le fichier raddb.conf

Dans cette exemple, quelque soit la machine depuis laquelle se connecte


Jean Dupont il pourra se connecter sur le vlan 15.

Protocoles d'authentification réseau 114 S.Bordères


‰ Authentification 802.1x WIFI et filaire

Authentification avec vérification de l’adresse MAC

Machine.demo.fr Auth-Type := EAP, Calling-Station-Id == 0050.124e.4500


Service-Type = Framed-User,
Tunnel-type = VLAN,
Tunnel-Medium-Type = 6,
Attention au format
Tunnel-private-Group-ID = 15

Autre exemple en fixant une plage horaire de connexion:

Dupont Auth-Type := EAP, Login-Time := « any0700-2000 », Calling-Station-Id == 0050.124e.4500


Service-Type = Framed-User
Tunnel-type = VLAN,
Tunnel-Medium-Type = 6,
Tunnel-private-Group-ID = 15

Protocoles d'authentification réseau 115 S.Bordères


‰ Authentification 802.1x

Configuration des postes utilisateurs

Protocoles d'authentification réseau 116 S.Bordères


‰ Authentification 802.1x - configuration client

ƒ Configuration avec le supplicant intégré (Windows)


ƒ Configuration avec l’utilitaire de la carte sans-fil (Windows)
ƒConfiguration avec Xsupplicant ou wpa_supplicant (Linux)

ƒ Authentification au logon
TLS (certificat machine ou utilisateur)
PEAP

ƒ Authentification au démarrage
TLS
PEAP

Protocoles d'authentification réseau 117 S.Bordères


‰ Authentification 802.1x -certificat (TLS)- configuration client

Gestion des certificats


w s
o
ind
W
Un certificat utilisateur doit être dans
le magasin « certificat utilisateur actuel »
le répertoire personnel/certificat

La protection renforcée ne doit pas être activée


Un certificat machine doit être dans:
le magasin « certificat – ordinateur local »
le répertoire personnel/certificat

Un certificat machine peut aussi être mis dans le magasin « certificat utilisateur actuel »

Protocoles d'authentification réseau 118 S.Bordères


‰ Authentification 802.1x -certificat (TLS)- configuration client -WIFI

Authentification au

w s logon d’un utilisateur


o
ind
W

demo

Protocoles d'authentification réseau 119 S.Bordères


‰ Authentification 802.1x -certificat (TLS)- configuration client -WIFI

w s Authentification au
o démarrage de la machine
ind
W

Pendant la phase de démarrage le PC


envoi comme identifiant:
host/CN-certificat

Il s’agit d’un certificat machine présent dans


le magasin de certificat machine.
x
Le serveur radius demande au client de lui
envoyer son certificat.

Protocoles d'authentification réseau 120 S.Bordères


‰ Authentification 802.1x -certificat (TLS)- configuration client -Filaire

w s Le service
o
ind
configuration automatique
W sans-fil (oui, oui!)
doit être démarré

Protocoles d'authentification réseau 121 S.Bordères


‰ Authentification 802.1x - configuration client

u x ¾Il faut disposer du driver de la carte sans-fil:


L in •Il existe éventuellement sous Linux
•ndiswrapper pour utiliser les drivers Windows
•MadWifi
•Autres…

¾Il faut installer un supplicant


Xsupplicant - Utilisable en wifi et filaire.
Pour le wifi supporte WPA depuis la version 1.2.3 (Janvier 2006)
http://open1x.sourceforge.net/

WPA-supplicant – Utilisable uniquement en wifi.


http://hostap.epitest.fi/wpa_supplicant/

Protocoles d'authentification réseau 122 S.Bordères


‰ Authentification 802.1x -certificat (TLS)- configuration client -WIFI

u x ctrl_interface_group=0

L in ctrl_interface="/var/run/wpa_supplicant"
eapol_version=1

WPA_SUPPLICANT ap_scan=2
network={
ssid=demo
scan_ssid=0
proto=WPA
key_mgmt=WPA-EAP
Fichier /etc/wpa_supplicant.conf eap=TLS
pairwise=TKIP
group=TKIP
cnexact=no
cncheck=demo.fr
identity="machine.demo.fr«
ca_cert="/root/cert/ca/cademo.pem«
client_cert="/root/cert/machine.demo.fr.pem«
private_key="/root/cert/machine.demo.fr.key«
private_key_passwd="test«
eapol_flags=3
}

wpa_supplicant –Dndiswrapper –i wlan0 –c /etc/wpa_supplicant.conf


Protocoles d'authentification réseau 123 S.Bordères
‰ Authentification 802.1x -certificat (TLS)- configuration client -Filaire

u x
L in
network_list = all
XSUPPPLICANT default_netname=default
default {
type = wired
allow_types = all
identity =machine1.demo.fr
eap_tls {
user_cert = /root/cert/machine1.demo.fr.pem
Fichier /etc/xsupplicant.conf
user_key = /root/cert/machine1.demo.fr.key
user_key_pass = passphrase
root_cert = /root/cert/ca-demo-cert.pem
chunk_size = 1398
random_file = /dev/urandom
}
}

xsupplicant –i eth0 –f

Protocoles d'authentification réseau 124 S.Bordères


‰ Authentification 802.1x – certificat (TLS)

Log de Radius (succès)

…..
Info: rlm_eap_tls: Received EAP-TLS ACK message
Info: rlm_eap_tls: Received EAP-TLS First Fragment of the message Nom du point d‘accès
Info: rlm_eap_tls: More fragments to follow
Info: (other): SSL negotiation finished successfully
Info: rlm_eap_tls: Received EAP-TLS ACK message
Auth: Login OK: [machine1.demo.fr/<no User-Password attribute>] (from client ap1 port 165688 cli 00c0.49e9.01ab)

Plus de détails en mode DEBUG


CN du certificat radiusd -X

Protocoles d'authentification réseau 125 S.Bordères


‰ Authentification 802.1x – certificat (TLS)

Log de Radius (échec)

Info: rlm_eap_tls: Received EAP-TLS ACK message


Info: rlm_eap_tls: Received EAP-TLS First Fragment of the message
Info: rlm_eap_tls: More fragments to follow
Error: --> verify error:num=10:certificate has expired
Error: notAfter=
Error: TLS Alert write:fatal:certificate expired
Error: TLS_accept:error in SSLv3 read client certificate B
Error: rlm_eap_tls: SSL_read failed in a system call (-1), TLS session fails.
Info: rlm_eap_tls: Received EAP-TLS ACK message
Auth: Login incorrect: [machine1.demo.fr/<no User-Password attribute>] (from client ap1 port 165689 cli 00c0.49e9.01ab)

Protocoles d'authentification réseau 126 S.Bordères


‰ Authentification 802.1x -login/password (PEAP)

Protocoles d'authentification réseau 127 S.Bordères


‰ Authentification 802.1x -login/password (PEAP)

ƒDans ce cas au lieu de fournir un certificat l'utilisateur fourni


un login et un mot de passe.

ƒLe serveur Radius authentifie l'utilisateur sur une base qui contient
le mot de passe des utilisateurs au lieu d'authentifier sur le certificat.

ƒLe client donne son login/password dans la configuration du supplicant.

ƒTout le reste fonctionne exactement de la même manière que les méthodes


évoquées précédemment.

ƒDivers type de base peuvent être utilisées, par exemple un domaine Windows
ou bien une base LDAP.
Un domaine Windows peut authentifier un login et un mot de
passe mais pas donner des autorisations (Vlans).
Une base Ldap peut faire les deux.
=> Voir la méthode pour définir ces bases au chapitre
« Définir une base d’authentification »

Protocoles d'authentification réseau 128 S.Bordères


‰ Authentification 802.1x -login/password (PEAP) WIFI

w s
o
ind Authentification au
W logon d’un utilisateur

demo

Protocoles d'authentification réseau 129 S.Bordères


‰ Authentification 802.1x -login/password (PEAP) WIFI

Authentification au
o ws démarrage de la machine
ind
Au démarrage le PC envoi comme identity : host/nom-machine
W

Avec utilitaire DELL 1450 il est possible


de configurer un login/mot de passe qui
sera utilisé au démarrage de la machine
x

Protocoles d'authentification réseau 130 S.Bordères


‰ Authentification 802.1x -login/password (PEAP) Filaire

w s
o
ind
W

La configuration de l’authentification en filaire est identique au cas WIFI

Protocoles d'authentification réseau 131 S.Bordères


‰ Authentification 802.1x -login/password (PEAP) WIFI
ctrl_interface_group=0
ctrl_interface="/var/run/wpa_supplicant"

u x eapol_version=1

L in ap_scan=2
network={
WPA_SUPPLICANT ssid="demo"
scan_ssid=0
proto=WPA
key_mgmt=WPA-EAP
eap=PEAP
Fichier /etc/wpa_supplicant.conf
pairwise=TKIP
group=TKIP
cnexact=no
cncheck=demo.fr
identity=dupont
password=demo
ca_cert="/root/cert/cademo.pem"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2«
}

wpa_supplicant –Dndiswrapper –i wlan0 –c /etc/wpa_supplicant.conf


Protocoles d'authentification réseau 132 S.Bordères
‰ Authentification 802.1x -login/password (PEAP) Filaire

u x
L in
network_list = all
default_netname=default
XSUPPPLICANT default {
type = wired
allow_types = all
identity = dupont
Fichier /etc/xsupplicant.conf eap-peap {
random_file = /dev/urandom
root_cert = /root/cert/cademo.pem
allow_types = eap_mschapv2
eap-mschapv2 {
username = dupont
password = mot-de-passe
}
}
}
xsupplicant –i eth0 –f

Protocoles d'authentification réseau 133 S.Bordères


‰ Authentification 802.1x – PEAP vs TLS

PEAP

ƒPas besoin d’IGC


ƒNécessité d’avoir une base d’utilisateurs (windows, ldap…)
ƒAuthentifie l’utilisateur plus que la machine
ƒProblème de sécurité avec identity

ƒPour configurer une machine on a besoin du mot de passe de l’utilisateur.


Si l’utilisateur change son mot de passe, il devra penser à changer aussi dans
sa configuration wifi.

ƒSi plusieurs utilisateurs sur même poste ils utilisent tous le même login/mot de passe

Protocoles d'authentification réseau 134 S.Bordères


‰ Authentification 802.1x – PEAP vs TLS

TLS
9Disposer d’une IGC
9Pas besoin de base Windows, pas forcément besoin d’une base LDAP.

9Certificat utilisateur (CNRS) :


ƒ Délai d’expiration trop court (1 an)
ƒ Impose la présence utilisateur pour configurer
ƒ Renouvellement par l’utilisateur (compliqué)
ƒ Authentifie l’utilisateur et pas la machine
ƒ Pas de protection par passphrase sous windows et passphrase en clair
sous Linux => risque de vol du certificat.

Certificat machine (CNRS):


ƒ Délai plus long mais toujours trop court (2 ans)
ƒ Gestion plus facile, ne nécessite pas la présence de l’utilisateur pour configurer
ƒ Ce n’est pas l’utilisateur qui gère le renouvellement
ƒ Authentifie bien la machine (si croisé avec adresse MAC)
ƒ Le vol a moins de conséquences.

Protocoles d'authentification réseau 135 S.Bordères


‰ Configuration Proxy

La configuration proxy est utilisée pour ré-orienter une requête vers un autre
serveur radius ou bien pour tenir compte d’un domaine (realm) passé dans
l’identity.
Exemple:Lorsqu’une requête de type host/cn-certificat (authentification au démarrage)
arrive on peut mettre dans le fichier users une entrée host/cn-certificat.
Mais si un requête arrive avec juste cn-certificat (authentification au logon) l’entrée
précédente dans users ne va pas matcher.
Il vaut donc mieux mettre une entrée « cn-certificat » et configurer le proxy comme suit:

raddb.conf Proxy.conf
Realm host { Realm host {
format = prefix type =radius
delimiter = « / » authhost = LOCAL
ignore_default = no accthost = LOCAL
ignore_null = no }
}

Dans ce cas les requêtes préfixées par host sont redirigées vers le serveur radius
local avec le mot host en moins.

Protocoles d'authentification réseau 136 S.Bordères


‰ Définition d’une base d’authentification

ƒUtilisation d’un base Windows

ƒUtilisation d’une base LDAP

Protocoles d'authentification réseau 137 S.Bordères


‰ Utilisation d’une base Windows

Utilisation d’une base Windows

Protocoles d'authentification réseau 138 S.Bordères


‰ Utilisation d’une base Windows

Sur le serveur Radius il faut mettre en oeuvre samba et plus particulièrement winbind
(rpm samba, samb-common, samba-client)
Fichier radiusd.conf
mschap {
authtype = MS-CHAP
#require_encryption = yes
#require_strong = yes
with_ntdomain_hack = yes
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=nom-domaine
--username=%{Stripped-User-Name:-%{User-Name:-None}} --challenge=%{mschap:Challenge:-00}
--nt-response=%{mschap:NT-Response:-00}«
}

Fichier smb.conf

Pour rejoindre le domaine:


net rpc join –w nom-domaine -U administrateur

Protocoles d'authentification réseau 139 S.Bordères


‰ Utilisation d’une base LDAP

Utilisation d’une base LDAP

Protocoles d'authentification réseau 140 S.Bordères


‰ Utilisation d’une base LDAP – Pourquoi utiliser LDAP ?

ƒPermet de centraliser toutes les demandes d’authentification d’un site


réseau, système et applicatifs.

ƒPermet de décrire un grand nombre d’attributs pour chaque utilisateur


ou machine dans un schéma (arbre)

ƒC’est un standard

ƒDans le cas de Radius, on peut stocker dans une base LDAP des check-items
et des reply-item. Donc une base LDAP peut servir pour authentifier et/ou autoriser

Protocoles d'authentification réseau 141 S.Bordères


‰ Utilisation d’une base LDAP – Contenu de la base

Pour un utilisateur:
Son userid ou CN de certificat = uid LDAP
Son mot de passe
La (ou les) adresse(s) MAC des postes sur lesquels il est autorisé
Le vlan (ou ssid) autorisé

Pour une machine:


Son userid est l’adresse MAC
son mot de passe est son adresse MAC
Le vlan (ou ssid) autorisé.

Dans le cas PEAP la base LDAP est utilisée pour authentifier et autoriser

Dans le cas TLS la base LDAP est utilisée uniquement pour autoriser,
la validation du certificat étant faite par le serveur radius.

Protocoles d'authentification réseau 142 S.Bordères


‰ Principes d’utilisation de LDAP

NAS Serveur Radius Serveur LDAP

Identity=user1 Query: user1


Identity=user1

Check-item
checkval Reply-item uid=user1
Authentification Access-chalenge
Check-item
Reply-item

accept Autorisation

Reply-item

Protocoles d'authentification réseau 143 S.Bordères


‰ Principes d’utilisation de LDAP

ƒToutes les communications radius-NAS-client sont identiques aux cas précédents


quelque soit la méthode d'authentification (Radius-mac ou EAP).

ƒSeule change la façon dont les autorisations et l'authentification sont faits.

ƒLa base LDAP doit contenir une entrée pour chaque client.
Cette entrée contient les valeurs de check-items et de reply-items

ƒLe serveur Radius demande au serveur LDAP de lui envoyer les check-items puis
les reply-items.

ƒLe module checkval permet de vérifier si des check-items correspondent à des


request-items. Par exemple, l'adresse MAC.

Protocoles d'authentification réseau 144 S.Bordères


‰ Mise en œuvre de OPENLDAP

Pour mettre en œuvre openldap il faut:


- l'installer
- Configurer le daemon
- Créer un base

Protocoles d'authentification réseau 145 S.Bordères


‰ Mise en œuvre de OPENLDAP – configuration du daemon

Fourni par FreeRadius

/etc/openldap/slapd.conf
include /etc/openldap/schema/RADIUS-LDAPv3.schema
database bdb
suffix "dc=demo,dc=fr"
Qualification de la base
rootdn "cn=Manager,dc=demo,dc=fr"
rootpw testldap

Protocoles d'authentification réseau 146 S.Bordères


‰ Mise en œuvre de OPENLDAP – schéma Radius

include /etc/openldap/schema/RADIUS-LDAPv3.schema

Il faut inclure dans la base Ldap le schéma des attributs radius.


Ce schéma est fourni par freeradius dans: freeradius-x.xx/doc/RADIUS-LDAPv3.schema

Exemple:
attributetype
( 1.3.6.1.4.1.3317.4.3.1.7
NAME 'radiusCallingStationId'
DESC ''
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE
)

Protocoles d'authentification réseau 147 S.Bordères


‰ Mise en œuvre de OPENLDAP – schéma Radius

Dand le fichier /etc/raddb/radiusd.conf, dans le module LDAP la ligne

dictionary_mapping = ${raddbdir}/ldap.attrmap

permet de mettre en rapport les noms d'attributs tels que définie dans freeradius
et les noms d'attributs définis dans le schéma LDAP.

Attributs radius
Attributs ldap

checkItem Called-Station-Id radiusCalledStationId


checkItem Calling-Station-Id radiusCallingStationId
checkItem LM-Password lmPassword
checkItem NT-Password userPassword

replyitem Tunnel-Type radiustunneltype


replyitem Tunnel-Medium-Type radiustunnelmediumtype
replyitem Tunnel-private-group-id radiustunnelprivategroupid

Protocoles d'authentification réseau 148 S.Bordères


‰ Mise en œuvre de OPENLDAP – création d’une base

Exemple d'entrée dans la base LDAP

dn: uid=user1,ou=users,dc=demo,dc=fr
objectclass: Inetorgperson
objectclass: radiusProfile
uid: user1
userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94 Mot de passe SMB
Utile uniquement en
cn: user1
EAP/PEAP
sn: user1
radiusCallingStationId: 00-0F-1F-16-C9-CC
radiustunneltype: VLAN
radiustunnelmediumtype: 6
radiustunnelprivategroupid: 12

Protocoles d'authentification réseau 149 S.Bordères


‰ Configuration Radius pour LDAP (radiusd.conf)
ldap {
server = "ldap.demo.fr" ou bien server="127.0.01"
identity = "cn=manager,dc=demi,dc=fr"
password = testldap
basedn = "dc=demo,dc=fr"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
base_filter = "(objectclass=radiusprofile)"
start_tls = no
# tls_cacertfile = /path/to/cacert.pem
# tls_cacertdir = /path/to/ca/dir/
# tls_certfile = /path/to/radius.crt
# tls_keyfile = /path/to/radius.key
# tls_randfile = /path/to/rnd
# tls_require_cert = "demand"
# default_profile = "cn=radprofile,ou=dialup,o=My Org,c=UA"
# profile_attribute = "radiusProfileDn"
access_attr = "dialupAccess"
dictionary_mapping = ${raddbdir}/ldap.attrmap
ldap_connections_number = 5
password_attribute = userPassword
# groupname_attribute = cn
# groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-
UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"
# groupmembership_attribute = radiusGroupName
timeout = 4
timelimit = 3
net_timeout = 1
# compare_check_items = yes
# do_xlat = yes
access_attr_used_for_allow = yes
}
Protocoles d'authentification réseau 150 S.Bordères
‰ Configuration Radius pour LDAP (radiusd.conf)

authorize {
preprocess
auth_log
eap
files
ldap
checkval
}

authenticate {
Auth-Type MS-CHAP {
mschap
}
eap
}

Protocoles d'authentification réseau 151 S.Bordères


‰ Authentification Radius-Mac avec LDAP

username envoyé
dans access-request

uid=00904c871213,ou=machines,dc=demo,dc=fr
objectclass: Inetorgperson
objectclass: radiusProfile
uid: 00904c871213
userPassword: 00904c871213 Mot de passe envoyé
cn: 00904c871213 dans access-request
sn: 00904c871213
radiusCallingStationId: 00-90-4c-87-12-13
radiustunneltype: VLAN
radiustunnelmediumtype: 6
radiustunnelprivategroupid: 12

Protocoles d'authentification réseau 152 S.Bordères


‰ Authentification 802.1x PEAP avec LDAP

dn: uid=user1,ou=users,dc=demo,dc=fr
objectclass: Inetorgperson
objectclass: radiusProfile
uid: user1
userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94
cn: user1
sn: user1
radiusCallingStationId :00-90-4c-87-12-13
radiustunneltype: VLAN
radiustunnelmediumtype: 6
radiustunnelprivategroupid: 12

Protocoles d'authentification réseau 153 S.Bordères


‰ Authentification 802.1x TLS avec LDAP

CN du certificat transmis par Radius au serveur LDAP

dn: uid=machine.demo.fr,ou=machines,dc=demo,dc=fr
objectclass: Inetorgperson
objectclass: radiusProfile
uid: machine.demo.fr
cn: machine.demo.fr
sn: machine;demo.fr
radiusCallingStationId :00-90-4c-87-12-13
radiustunneltype: VLAN
radiustunnelmediumtype: 6
radiustunnelprivategroupid: 12

Protocoles d'authentification réseau 154 S.Bordères


‰ Authentification 802.1x avec LDAP

Comment autoriser un utilisateur à se connecter depuis plusieurs postes de travail ?

dn: uid=user1,ou=users,dc=demo,dc=fr
objectclass: Inetorgperson
objectclass: radiusProfile
uid: user1
userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94
cn: user1
sn: user1
radiusCallingStationId :00904c871213
radiusCallingStationId: 00-0F-1F-16-C9-CE
radiustunneltype: VLAN
radiustunnelmediumtype: 6
radiustunnelprivategroupid: 15

Protocoles d'authentification réseau 155 S.Bordères


‰ Documentation

Livre: Radius par Jonathan Hassel (0'Reilly)

An analysis of Radius Authentication protocol http://www.untruth.org/~josh/security/radius/radius-auth.html

Installing and operating a Radius server http://www.keller.com/wifi/CNIT107HW7.html

802.1X : Solution d'authentification sécurisée pour le http://2003.jres.org/actes/paper.143.pdf


futur réseau sans fil de l'Université Louis Pasteur

RFC2865: RADIUS : http://www.ietf.org/rfc/rfc2868.txt

RFC2868:Radius attribute for tunnel protocol support : http://www.ietf.org/rfc/rfc2865.txt

RFC2869:Radius extensions : http://www.ietf.org/rfc/rfc2869.txt


http://www.ietf.org/rfc/rfc3579.txt
RFC3579:Radius support for EAP :

WPA/WPA2 http://www.ossir.org/sur/supports/2005/ossir_wpa_wpa2.pdf

Freeradius http://www.freeradius.org

Protocoles d'authentification réseau 156 S.Bordères