Protocoles d’authentification réseau Sans-fil et...

78
Protocoles d'authentification réseau S.Bordères 1 Protocoles d’authentification réseau Sans-fil et filaire Protocoles d'authentification réseau S.Bordères 2 Introduction Qu'est-ce que l'authentification réseau ? Pourquoi faire de l'authentification réseau ? Intérêt de l'authentification réseau Authentifier quoi ? Des utilisateurs ou des machines ? Eléments pour authentifier Autoriser quoi ? Le protocole Radius Bases du protocole Support des Vlans Support EAP Freeradius Mise en oeuvre Authentification par adresse MAC (Radius-mac) Configuration des équipements réseau •WIFI (borne HP et Cisco) •Filaire (switch HP et Cisco) Configuration du serveur Radius Configuration des clients Authentification 802.1X Configuration des équipements réseau • WIFI (borne HP et Cisco) •Filaire (switch HP et Cisco) Configuration du serveur Radius Configuration des clients •TLS - Windows et Linux •PEAP - Windows et Linux Utilisation d'une base de données. •Windows •LDAP Plan

Transcript of Protocoles d’authentification réseau Sans-fil et...

Page 1: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères1

Protocoles d’authentification réseau

Sans-fil et filaire

Protocoles d'authentification réseau S.Bordères2

Introduction

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

Pourquoi faire de l'authentification réseau ?

Intérêt de l'authentification réseau

Authentifier quoi ? Des utilisateurs ou des machines ?

Eléments pour authentifier

Autoriser quoi ?

Le protocole Radius

Bases du protocole

Support des Vlans

Support EAP

Freeradius

Mise en oeuvreAuthentification par adresse MAC (Radius-mac)

Configuration des équipements réseau•WIFI (borne HP et Cisco)•Filaire (switch HP et Cisco)

Configuration du serveur Radius

Configuration des clients

Authentification 802.1XConfiguration des équipements réseau

• WIFI (borne HP et Cisco)•Filaire (switch HP et Cisco)

Configuration du serveur Radius

Configuration des clients•TLS - Windows et Linux•PEAP - Windows et Linux

Utilisation d'une base de données.•Windows•LDAP

Plan

Page 2: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères3

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

Il s'agit d'authentifier une machine lorsqu'elle se branche sur le réseauafin de lui autoriser ou refuser l'usage du réseau.

On authentifie pour délivrer des autorisations

Cette authentification est indépendante d'autres authentificationsvers des systèmes d'exploitation ou applications

Protocoles d'authentification réseau S.Bordères4

•Branchement physique sur le réseau

•Authentification

•Autorisation d'usage

•Authentification sur le système d'exploitation(windows, Linux…)

•Authentification sur une application

Authen

tifica

tion

Authen

tifica

tion

résea

urés

eau

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

Authen

tifica

tion

Authen

tifica

tion

appli

cativ

es

appli

cativ

es

BaseDe DonnéesCommune

(LDAP)

Page 3: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères5

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 S.Bordères6

Intérêt pour un réseau filaireInté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 sansIntérêt pour un réseau sans--filfil

•Obligatoire pour intégrer le réseau filaire cad queles machines sans-fil travaillent comme les machines filaires

• Affecter une machine sur le même vlan que lorsqu’ellese connecte sur le réseau filaire.

•Authentification + cryptage

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

Intérêts de l’authentification réseau ?

Page 4: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères7

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éesquelque soit la machine utilisée.

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

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

Protocoles d'authentification réseau S.Bordères8

De quoi dispose t’on pour authentifier ?

•L’adresse MAC de la carte Ethernet

•Une base de login/mot de passe (windows, LDAP…)

•De certificats (utilisateurs ou machines)

Obligatoire : ne pas rajouter de contraintes sur l’utilisateur

Et/ou

Et/ou

Eléments pour authentifier

Page 5: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères9

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 S.Bordères10

Vlan2

Vlan2 Vlan3

Vlan3

Routeur

switch

switch

Rappel sur les Vlans

Routeur

Réseau3

Réseau2

Lien 802.1Q Trunk (cisco)Tagged (HP)

Vision logique correspondante

Page 6: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères11

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/passwordCertificats, cartes à puce ….

Réseau filaire et sans-fil

Protocoles d'authentification réseau S.Bordères12

Deux possibilités :

Authentification par adresse MAC (Radius-Mac)

Authentification 802.1x

Protocoles d’authentification: Radius

Page 7: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères13

Authentification par adresse MACAuthentification par adresse MAC

Lorsque un poste se connecte sur un portle switch interroge le serveur radius

Le serveur radius Interroge sa base de données pour mettre en correspondancel’adresse MAC et le N° de vlan

Fichier localEt/ouBase LdapEt/ouBase sql

L’adresse MAC sert d’identifiant

Serveur radius

Protocoles d’authentification: Radius

Protocoles d'authentification réseau S.Bordères14

Le switch relaie la demande du poste

Le serveur radius Interroge sa base de données pour trouver l’identifiant

Fichier localEt/ouBase LdapEt/ouBase sqlEt/ouDomaine windows

L’identifiant et soit un login/passwordsoit un certificat

Exécution d’un supplicantqui demande l’authentification

Serveur radius

Protocoles d’authentification: Radius et 802.1x

Page 8: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères15

EAP

Autre

s

EAP

Autre

s

Serveur radius

Avant authentification

Après authentification

Port contrôléPort non contrôlé

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

EAP over LAN

EAP over Radius

Protocoles d’authentification: Radius et 802.1x

Protocoles d'authentification réseau S.Bordères16

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 transportde 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: Radius et 802.1x

Page 9: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères17

Principales méthodes d'authentification EAP:

- EAP/TLSAuthentification mutuelle entre le serveur et le clientpar certificat.

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

Protocoles d’authentification: EAP

Protocoles d'authentification réseau S.Bordères18

NASAuthenticator (802.1x)Radius client

NASAuthenticator (802.1x)Radius client

Borne WIFi

Commutateur

serveur Radius

NAS= Network Access Server

Méthodesd'authentificationet d'autorisation

LDAP

DomaineWindows

supplicant

supplicant

certificatsBase sql

Fichier local

Protocoles d’authentification:Terminologie

Page 10: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères19

Le protocole RadiusLe protocole Radius

Protocoles d'authentification réseau S.Bordères20

RemoteAccessDialInUserService

Protocole d'authentificationd'utilisateurs distants

Initialement plutôt utilisé par les ISPPour authentifier leurs utilisateurs

Développé par Livingston Enterprises

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

Utilise UDP sur le port 1812 (anciennement 1645)

Le protocole Radius

Page 11: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères21

Radius est un serveur de type AAA

Authentification

Authorization

Accounting

Qui me parle ?

Quelles autorisations je lui accorde ?

Que fait-il ?

Le protocole Radius

Protocoles d'authentification réseau S.Bordères22

Le protocole utilise 4 types de paquets suffisants pour assurer toutes lestransactions: (hors accounting)

Access-Request

Access-Accept

Access-Reject

Access-Challenge

Le protocole Radius: les types de paquets

Page 12: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères23

Access RequestPremier 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-AcceptRenvoyé par le serveur Radius pour accepter la requête du client aprèsinterrogation de sa base d'authentification.

Ce paquet peut contenir une liste d'attributs correspondant aux services qui sont autorisés (par exemple le vlan).

Le protocole Radius: les types de paquets

Protocoles d'authentification réseau S.Bordères24

Access-rejectEmis par le serveur radius pour spécifier au client que sa requête estrejetée.

En principe ce paquet peut être émis à tout moment pour mettre finà une connexion, mais certains équipement ne supporte pas.

Access-challengeEmis par le serveur Radius pour demander soit de ré-emettre unaccess-request, soit pour demander des informations complémentaires.

Le protocole Radius: les types de paquets

Page 13: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères25

Code(1) Iden-tifier(1)

Longueur(2) Authentificateur(16)

Attributs et valeurs(variable)

Codes1 - access-request2 - access-accept3 - Access-reject4 - Accounting-request5 - Accounting-response11- Access-challenge

Identifierutilisé pour associer les requêtes

et les réponses.

AuthentificateurUtilisé pour que l'équipement NASpuisse authentifier les réponses du serveur-> Request authenticator-> Response authenticator

Attributs et valeursEnsemble d'attributs et leur valeur qui indique quels services sont demandésou autorisés.

Le protocole Radius: format des paquets

Protocoles d'authentification réseau S.Bordères26

Code(1) Iden-tifier(1)

Longueur(2) Authentificateur(16)

Attributs et valeurs

Authentificateur

Lorsque le client NAS envoi un paquet access-request il inclut un authentificateurappelé request-authenticator qui est une séquence aléatoire.

Le serveur répond par un paquet access-accept ou accept-reject ou accept-challengeavec un response-authenticator composé avec les informations contenues dans le paquetaccess-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 biencelui qu'il a contacté.

Le protocole Radius: les types de paquets

Page 14: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères27

Les transactions RADIUS ont pour but de véhiculer des attributs et leur valeurentre 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 desautorisations qu'il délivre (vlan…) ou bien demander des informations complémentaires.

Code(1) Iden-tifier(1)

Longueur(2) Authentificateur(16)

N°attribut longueur valeur

Le protocole Radius: les attributs

Protocoles d'authentification réseau S.Bordères28

Code(1) Iden-tifier(1)

Longueur(2) Authentificateur(16)

N°attribut longueur valeur

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

Le protocole Radius: les attributs

Page 15: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères29

Il y a beaucoup d'attributs standards mais peu sont utilisables dans lecas d'une utilisation avec 802.1x.

Par exemple l'attribut CALLBACK-NUMBER contient le numéro de téléphonesur 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

Le protocole Radius: les attributs standards

Protocoles d'authentification réseau S.Bordères30

Called-Station-IdContient l'adresse MAC de l'équipement NAS

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

NAS-IP-AddressAdresse IP de l'équipement NAS

NAS-PortPort sur lequel est connecté le supplicant

User-Name

User-Password

Le protocole Radius: les attributs standards

Page 16: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères31

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 estréalisé dans un dictionnaire.

N° attribut Nom d'attribut type

Le protocole Radius: le dictionnaire

Protocoles d'authentification réseau S.Bordères32

Les fabricant de matériel réseau (NAS) ont parfois intégré à leurs équipementsdes 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 pournumero 26. Ils sont appelés VSA = Vendor Specific Attribut

Code(1) Iden-tifier(1)

Longueur(2) Authentificateur(16)

26 longueur VendorID

Attributnumber longueur valeur

Le protocole Radius: les attributs vendor

Page 17: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères33

Code(1) Iden-tifier(1)

Longueur(2) Authentificateur(16)

26 longueur VendorID

Attributnumber longueur valeur

Vendor ID: N° d'immatriculation du fabricant(NMPECS= Network Management Private Enterprise Codes (RFC1700)

Attribut numberComme pour les attributs standards, les vendor-attributs possèdent un numérod'identification. Ce numéro est répertorié dans un dictionnaire spécifique aufabricant.

Longueur

Valeur

Le protocole Radius: les attributs vendor

Protocoles d'authentification réseau S.Bordères34

SSID=visiteursRenvoi à une borne cisco AP1200 le SSIDautorisé pour un utilisateur. Ce SSID est égale à un VLAN

ip:inacl#1=permit ip any host 10.3.3.254Renvoi une ACL à un commutateur

(Exemple vu sur: http://www.lmcp.jussieu.fr/~morris/802.1X/mobile.htm)

Nom de l'attribut

Valeur de l'attribut

Exemple 1

Exemple 2

Le protocole Radius: les attributs vendor

Page 18: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères35

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

Ces extensions sont décrites dans le RFC 2868

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

Tunnel-typeTunnel-Medium-TypeTunnel-Private-group-Id

Les attributs concernés sont :

Les extensions du protocole Radius: support des vlans

Protocoles d'authentification réseau S.Bordères36

Tunnel-TypeIl 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

Les extensions du protocole Radius: support des vlans

Page 19: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères37

Tunnel-Medium-Type

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

1 IPv42 UPv63 NSAP4 HDLC5 BBN 18226 8027 E.163 (POTS)8 E.164 (SMDS, Frame relay, ATM)9 F.69 (Telex)10 X.12111 IPX12 Appletalk13 Decnet IV14 Banyan Vines

Ethernet

Les extensions du protocole Radius: support des vlans

Protocoles d'authentification réseau S.Bordères38

Tunnel-Private-Group-Id

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

Autres attributs tunnel

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

Les extensions du protocole Radius: support des vlans

Page 20: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères39

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

Pour cela 2 attributs ont été ajoutés:Message-AuthenticatorEAP-Message

RFC: 2869 radius extension3579 radius support for EAP3748 EAP2716 EAP/TLS3580 802.1x radius usage guidelines

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 desattributs EAP-Message. (calcul MD5 sur le contenu d'un access-request + secret partagé)

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

Protocoles d'authentification réseau S.Bordères40

EAP-request =TLS start

EAP-Reply=Client_hello

EAP_request=Server_hello, certificat+clé publique

3

4

5

6 EAP-reply=Certificat+clé publiqueCalcul cléprincipale

Calcul cléprincipale

7 7EAP-request=TLS_finished

EAP-request=TLS_finished

8 8EAP-reply= vide

EAP-reply= success+clé de session

9

EAP-reply= success

EAP-key=Clé WEP ou WPa

EAP over LAN EAP over RADIUS

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

EAP-request =identity

EAP-reply=identity=CN1

2

Page 21: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères41

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 TLSUn challenge (nombre aléatoire)Un identifiant de sessionLa liste des algorithmes de chiffrement supportés par le client

5- Le serveur répond par un message server_helloSon certificat et sa clé publiqueDemande au client d’envoyer son certificatUn challengeUn 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

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

Protocoles d'authentification réseau S.Bordères42

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’envoiau 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

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

Page 22: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères43

Access-request(EAP-message)

Client NAS Serveur d'authentification

EAP-request/identity

EAP-Response/identity(EAP-message- identity=login)

authentification

Access-accept+Clé de session

OK

EAP key

clé WEP/WPA

Génération clé WEP/WPA

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

Authentification du client (mschapv2)

Tunnel TLS chiffré

TLS pour création d’un tunnel chiffré

Protocoles d'authentification réseau S.Bordères44

EAP-request =TLS start

EAP-Reply=Client_hello

EAP_request=Server_hello, certificat+clé publique

34

5Calcul clé desession principale

Calcul clé desession principale

6 6EAP-request=PEAP_finished

EAP-request-PEAP_finished

7 7EAP-reply= vide

EAP-reply= success+clé de session

8

EAP-reply= success

EAP-key=Clé WEP ou WPa

EAP over LAN EAP over RADIUS

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

Tunnel chiffré

EAP-request =identity

EAP-reply=identity=login

1

2

Page 23: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères45

Les extensions du protocole Radius: support EAP (802.1x)Remarques sur l’identité

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

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

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

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

Dans tous les cas il est possible de donner une identité différente du CNou 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 avecsa propre identité mais puisse acquérir les autorisations d’un autre.

Protocoles d'authentification réseau S.Bordères46

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

Pour EAP/PEAP les échanges nécessaires à l’authentificationsont cryptés dans un tunnel TLS et ce même si ensuite aucune méthode decryptage n’est configurée.(en filaire également)

Même si 802.1x n’impose pas le cryptage des communications il est FORTEMENTrecommandé 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 postesclients et, de préférence, la rotation dynamique de ces clés.

Page 24: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères47

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.1xChangement de la clé tous les 10KoClé 128 bits (RC4)vecteur d’initialisation de 48 bitsMIC: Contrôle d’intégrité

WPA2: = 802.11iPrincipe identique à WPA avec:

CCMP pour la rotation des clésAES pour le cryptage

Protocoles d'authentification réseau S.Bordères48

Source Hervé shauer Consultants

http://www.hsc.fr/ressources/presentations/ossir-wpa-wpa2/img0.html

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

Dans le cas du WIFI

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

Page 25: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères49

EAP TLSRadius EAP TLS

802.11b/g 802.3

IP

IP UDP

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

Imbrication des protocolesImbrication des protocoles

IP TCP ou UDP

Cryptage WEP, ou WPA ou 802.11i (WPA2)

MSCHAPv2TLS MSCHAPv2TLS

Protocoles d'authentification réseau S.Bordères50

CheckCheckitemsitems

Processus Processus d'authentificationd'authentificationet autorisationet autorisation

Base

Request-items

CheckCheck--item=item=requestrequest--itemsitems ??

Reply-items

Vlan=5

Mac-address

Replyitems Base

Processus d’authentification et autorisation

Page 26: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères51

•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-itemsassociée à chaque utilisateur/machine connu.

•Radius interroge sa base pour trouver une entrée qui correspond au username envoyé etdont 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 contenudans 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.

Processus d’authentification et autorisation

Protocoles d'authentification réseau S.Bordères52

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éesou bien être déduite implicitement en fonction du protocoleutilisé 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 authentificationpar 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.

Eléments constitutifs de la base de données

Page 27: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères53

FreeradiusFreeradius

Protocoles d'authentification réseau S.Bordères54

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

Freeradius

Page 28: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères55

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

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

/etc/init.d/radiusd start

Ou bien

radiusd –X (mode debug)

Logs dans /var/log/radius/radius.log

Installation

Démarrage

Freeradius: Installation et démarrage

Protocoles d'authentification réseau S.Bordères56

Les fichiers de configurations sont dans /etc/raddb

radiusd.confclients.confeap.confusers

dictionnaryLdap.attrmapOraclesql.confPostgresql.confSql.conf

cert

Configurations principales

Configurations particulières

Gestion des certificats

Freeradius: Fichiers de configuration

Page 29: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères57

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-passeshortname = nomnastype = type-materiel

}

Doit être présent aussi dans le NAS

Freeradius: Fichiers de configuration : Clients.conf

Protocoles d'authentification réseau S.Bordères58

•Chaque entrée commence par un identifiant suivi par une listed'item à vérifier (check itemcheck item). Sur une seule ligne.

•Les lignes suivantes commencent par une tabulation suivie d'une liste d'itemsde réponse (replyreply itemitem).

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

•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.

Freeradius: Fichiers de configuration - users

Page 30: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères59

Dupont Dupont AuthAuth--TypeType := EAP, := EAP, CallingCalling--StationStation--IdId == "0012f0ae2546"== "0012f0ae2546"

ServiceService--Type = Type = FramedFramed--UserUser,,TunnelTunnel--type = VLAN,type = VLAN,TunnelTunnel--MediumMedium--Type = 6,Type = 6,TunnelTunnel--privateprivate--GroupGroup--ID = 15ID = 15

DEFAULT DEFAULT AuthAuth--TypeType := := rejectreject , , FallFall--TroughTrough = 0= 0

ServiceService--Type = Type = FramedFramed--UserUser

username Type d'authentification Adresse MAC

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

Check items

Reply items

Freeradius: Fichiers de configuration - users

Protocoles d'authentification réseau S.Bordères60

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 SecurIDCrypt-LocalRejectActivCardEAPARAPAcceptPAP CHAP LDAP PAM MS-CHAP KerberosCRAM NS-MTA-MD5 SMB

Reject permet de refuser inconditionnellementune connexion.

Accept permet d'accepter inconditionnellementune connexion.

Freeradius: Fichiers de configuration - users

Page 31: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères61

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.

Freeradius: Fichiers de configuration - users

Protocoles d'authentification réseau S.Bordères62

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.

Freeradius: Fichiers de configuration - users

Page 32: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères63

Les opérateurs

Attribute = valeur (reply-item)Ajoute l'attribut à la liste des reply-items .

Attribute := valeur (check-item/reply-item)Comme check-item, match toujours et

remplace ou ajoute l'attribut aux configuration-items.Comme reply-item ajoute l'attribut à la liste des reply-items.

Attribute += value (check-item/reply-item)Comme check-item match toujours et

rajoute l'attribut au request-item.Comme repy-item rajoute l'attribut au request-item.

Freeradius: Fichiers de configuration - users

Protocoles d'authentification réseau S.Bordères64

Liste de paramètres de fonctionnement

Déclaration de modules

Appel des modules

Format général du fichier

Freeradius: Fichiers de configuration – radiusd.conf

Page 33: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères65

prefix = /usr/localexec_prefix = ${prefix}sysconfdir = /etclocalstatedir = /varsbindir = ${exec_prefix}/sbinlogdir = ${localstatedir}/log/radiusraddbdir = ${sysconfdir}/raddbradacctdir = ${logdir}/radacctconfdir = ${raddbdir}run_dir = ${localstatedir}/run/radiusdlog_file = ${logdir}/radius.loglibdir = ${exec_prefix}/libpidfile = ${run_dir}/radiusd.pid

max_request_time = 30delete_blocked_requests =nocleanup_delay = 5max_requests = 1024bind_address = *port =1812

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères66

#listen {

# IP address on which to listen.

# Allowed values are:

# dotted quad (1.2.3.4)

# hostname (radius.example.com)

# wildcard (*)

# ipaddr = *

# Port on which to listen.

# Allowed values are:

# 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

#}

Listen :Utile uniquement lorsquele client peut être sur la machine où tourne Radius

Freeradius: Fichiers de configuration – radiusd.conf

Page 34: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères67

hostname_lookups = noallow_core_dumps = noregular_expressions = yesextended_expressions = yes

log_stripped_names = yeslog_auth = yeslog_auth_badpass = yeslog_auth_goodpass = yesusercollide = nolower_user = nolower_pass = no

nospace_user = nonospace_pass = no

Paramétrage des logs

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères68

security {

max_attributes = 200

reject_delay = 1

status_server = no

}

proxy_requests = yes

$INCLUDE ${confdir}/proxy.conf

$INCLUDE ${confdir}/clients.conf

snmp = no

$INCLUDE ${confdir}/snmp.conf

Paramètres imposants deslimitations pour contrarier certainstypes d'attaques.

Limite le nombre d'attributs par requête

Autorise un délai de réponse pour freinerune attaque type DoS

Interdit/autorise la requête status-server

Autorise/interdit les requêtes proxy

Inclusion des autres fichiers de configuration

Autorise/interdit le support SNMP

Freeradius: Fichiers de configuration – radiusd.conf

NAS autorisés à communiquer avec le serveur

Page 35: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères69

Déclaration des modules

Modules {

nom1 {……

}

nom2 {……

}...nom3 {

….}

}

Nom du module: correspond à une librairie rlm_nom1Ces librairies sont situées dans /usr/local/lib.

Paramètres du module

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères70

Module d'authentification Unixà partir d'un fichier de style /etc/passwdunix {

cache = no

cache_reload = 600

passwd = /etc/passwd

shadow = /etc/shadow

group = /etc/group

radwtmp = ${logdir}/radwtmp

}

pap {

encryption_scheme = crypt

}

chap {

authtype = CHAP

}

pam {

pam_auth = radiusd

}

Module d'authentification PAP

Module d'authentification CHAP

Module d'authentification PAM

Mise en cache éventuellede passw, shadow et group

Emplacement des fichiers

Freeradius: Fichiers de configuration – radiusd.conf

Page 36: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères71

mschap {

authtype = MS-CHAP

#require_encryption = yes#require_strong = yeswith_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}"

}

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

Module d'authentification mschappour authentification sur un domaine Windows

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

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères72

ldap {

server = "ldap.your.domain"# identity = "cn=admin,o=My Org,c=UA"# password = mypassbasedn = "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.attrmapldap_connections_number = 5# password_attribute = userPassword# groupname_attribute = cn# groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-

UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"# groupmembership_attribute = radiusGroupNametimeout = 4timelimit = 3net_timeout = 1# compare_check_items = yes# do_xlat = yes# access_attr_used_for_allow = yes

}

Module d'authentification surserveur LDAP (voir plus loin)

Freeradius: Fichiers de configuration – radiusd.conf

Page 37: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères73

#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 {# filename = /etc/group# format = "=Group-Name:::*,User-Name"# hashsize = 50# ignorenislike = yes# allowmultiplekeys = yes# delimiter = ":"

#}

passwd permet de spécifierle format de fichier de type/etc/passwd

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères74

# Realm module, for proxying.realm IPASS {

format = prefixdelimiter = "/"ignore_default = noignore_null = no

}

realm suffix {format = suffixdelimiter = "@"ignore_default = noignore_null = no

}

realm realmpercent {format = suffixdelimiter = "%"ignore_default = noignore_null = no

}

realm host {format = prefixdelimiter = "/"ignore_default = noignore_null = no

}

Freeradius: Fichiers de configuration – radiusd.conf

Page 38: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères75

checkval {item-name = Calling-Station-Idcheck-name = Calling-Station-Iddata-type = string#notfound-reject = no

}

Permet de comparer la valeur d'un attribut dans une requête avec une liste de check-item(utilisé avec LDAP)

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères76

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

acctusersfile = ${confdir}/acct_users

compat = no

}

Permet de définir où se trouvele fichier users

Freeradius: Fichiers de configuration – radiusd.conf

Page 39: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères77

detail {

detailperm = 0600

}

#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

# }

Module pour la création de logs détaillés

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères78

authorize {

preprocess

# auth_log

# attr_filter

chap

mschap

# digest

# IPASS

suffix

host

eap

files

# sql

# etc_smbpasswd

ldap

# daily

checkval

}

Authorization is a process of obtaining information about theuser from external source (file, database or LDAP), and checkingthat the information in request is enough to authenticate user. Authorization modules deal with data sources, so ldap, sql, files, passwd are authorization modules.

Fichier docs/aaa.txt

http://lists.cistron.nl/pipermail/freeradius-users/2002-December/014730.html

Voir discussion sur authorize/authenticate

Freeradius: Fichiers de configuration – radiusd.conf

Page 40: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères79

authenticate {

Auth-Type PAP {

pap

}

Auth-Type CHAP {

chap

}

Auth-Type MS-CHAP {

mschap

}

# digest

# pam

unix

# Auth-Type LDAP {

# ldap

# }

eap

}

Authentication is simply a process of comparing user'scredentials in request with credentials stored in database. Authentication usually deals with password encryption. PAP, CHAP, MS-CHAP are authentication modules. Few modules actas both authorization and authentication. For example, the MS-CHAP module is normally authentication one, but it may be usedduring authorization to verify that request contains MS-CHAP related attribute and only in this case perform MS-CHAP basedauthentication. LDAP is normally an authorization module, but itmay be used for authentication (In this case FreeRADIUS willauthenticate user in case he can connect to LDAP server withhis account). SQL is only an authorization module, as dial-inusers are not normally given passwords to access an SQL server.

Fichier docs/aaa.txt

Freeradius: Fichiers de configuration – radiusd.conf

Protocoles d'authentification réseau S.Bordères80

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

}

.

.

.

Freeradius: Fichiers de configuration – radiusd.conf

Page 41: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères81

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/ca.pem

dh_file = ${raddbdir}/certs/dh

random_file = ${raddbdir}/certs/random

fragment_size = 1024

include_length = yes

# check_crl = yes

check_cert_cn = %{User-Name}

}

TLS doit toujours être configuré pour TLS ou PEAP

Les certificats du serveur et de l'autoritésont stockés dans /etc/raddb/certs

Freeradius: Fichiers de configuration – eap.conf

Impose que le usernameenvoyé soit égal au CN

Protocoles d'authentification réseau S.Bordères82

peap {

default_eap_type = mschapv2

copy_request_to_tunnel = yes

use_tunneled_reply = yes

}

mschapv2 {

}

} (fin module eap)

Freeradius: Fichiers de configuration – eap.conf

Important si on veut écrire:

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

Permet de copier les items dans le tunnel TLS

Page 42: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères83

Mise en oeuvreMise en oeuvre

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

Cisco HP

Radius-mac802.1X

Protocoles d'authentification réseau S.Bordères84

Remarque importanteRemarque importante

Dans le cas du WIFI ne pas se contenter d’une authentificationDans le cas du WIFI ne pas se contenter d’une authentificationpar adresse par adresse MACMAC..

L’adresse MAC n’est pas cryptéeL’adresse MAC n’est pas cryptée

Sur réseau WIFI

Authentification par adresse MAC (radius-mac)

Page 43: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères85

Configuration des équipements réseau

Authentification par adresse MAC (radius-mac)

Bornes et switch

HP et Cisco

Protocoles d'authentification réseau S.Bordères86

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

Authentification par adresse MAC (radius-mac) WIFIInter-connexion des équipements

Connexion d’une borne sur un Connexion d’une borne sur un switchswitch CiscoCisco 29502950

Connexion d’une borne sur un Connexion d’une borne sur un switchswitch HP 2626HP 2626

Vlan sur lequel la borne possède une adresse IP

vlan 12untagged 24vlan xtagged 24..

Le port 24 doit être tagged sur tous les autres vlans

Page 44: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères87

Sur la borne il faut créer un SSID générique sur lequel tous les postes se connectent.Le serveur radius décide sur quel vlan chaque poste sera affecté.

Vlan par défaut si le serveur radius ne renvoirien ou ne fonctionne pas (mettre un vlan poubelle)

HP 420

Authentification par adresse MAC (radius-mac) WIFIConfiguration des vlans

Protocoles d'authentification réseau S.Bordères88

HP 420

Authentification par adresse MAC (radius-mac) WIFIConfiguration des vlans

Page 45: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères89

Les serveurs radius sont définis par SSID

10.4.0.3Le format des adresses MACest défini par serveur

HP 420

Authentification par adresse MAC (radius-mac) WIFIConfiguration des serveurs radius

Protocoles d'authentification réseau S.Bordères90

HP 420

Authentification par adresse MAC (radius-mac) WIFIConfiguration des serveurs radius

Page 46: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères91

HP 420

Authentification par adresse MAC (radius-mac) - WIFI

Tous les postes utilisant lemême ssid utilisent lamême suite de sécurité

Configuration du cryptage

Méthode possible en Radius-mac

Protocoles d'authentification réseau S.Bordères92

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)

CISCO AIRONET 1200

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

Authentification par adresse MAC (radius-mac) WIFI

Page 47: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères93

Authentification par adresse MAC (radius-mac) WIFIConfiguration des vlans

15

15demo

Protocoles d'authentification réseau S.Bordères94

10.4.0.3

10.4.0.3

10.4.0.3 10.4.0.3

CISCO AIRONET 1200

Authentification par adresse MAC (radius-mac) WIFIConfiguration des serveurs radius

Page 48: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères95

CISCO AIRONET 1200

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

Uniquement les attributs Calling/called Sation Id

Authentification par adresse MAC (radius-mac) WIFIConfiguration des serveurs radius

Protocoles d'authentification réseau S.Bordères96

Authentification par adresse MAC (radius-mac) WIFIConfiguration du cryptage

CISCO AIRONET 1200

Page 49: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères97

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

Authentification par adresse MAC (radius-mac) Filaire

Protocoles d'authentification réseau S.Bordères98

Authentification par adresse MAC (radius-mac) Filaire

radius-server host 10.4.0.3 shared-secretaaa port-access mac-based addr-format multi-dashaaa port-acces mac-based port-list

Switch HP Procurve 2626

Inter-connexion des équipements et configuration du serveur Radius

Lien tagged

Port 24 tagged sur tous les vlansPort 24 tagged sur tous les vlans

Page 50: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères99

Configuration du serveur Radiusavec utilisation de la base local USERS

pour la méthode RADIUS-MAC

Authentification par adresse MAC (radius-mac)

Protocoles d'authentification réseau S.Bordères100

Fichier users sur le serveur Radius

Exemple1: Autoriser la machine 00c049e901ab à se connecter sur le vlan 15

Authentification par adresse MAC (radius-mac) WIFI+Filaire

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

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

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

Mot de passe=adresse mac

Adresse mac

Configuration du fichier USERS de radius

Page 51: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères101

Configuration sur le client

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

Authentification par adresse MAC (radius-mac)

Protocoles d'authentification réseau S.Bordères102

Authentification 802.1x

Page 52: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères103

Request Identity

Identity=CN="Jean Dupont"

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

users

EAP-type=EAP-TLSvérification

vérification

certificatautorité

accept

CN

Certificatpersonnel Certificat

serveur

Client NAS Serveur radius

Authentification 802.1x WIFI et filaire

certificatautorité

Protocoles d'authentification réseau S.Bordères104

Authentification 802.1x

Configuration des équipements réseaupour les méthodes EAP

Bornes et switches

Page 53: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères105

Authentification 802.1x WIFIInter-connexion des équipements réseau

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

Connexion d’une borne sur un Connexion d’une borne sur un switchswitch CiscoCisco 29502950

Connexion d’une borne sur un Connexion d’une borne sur un switchswitch HPHP

Idem que pour Radius MAC

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

Lien trunk

Lien tagged

vlan 12untagged 24vlan xtagged 24..

Protocoles d'authentification réseau S.Bordères106

Authentification 802.1x WIFI

HP 420

Configuration des vlans et des serveurs Radius

La configuration dans la borne est identique au cas Radius-MAC sauf qu’il nefaut pas activer l’authentification MAC.

Page 54: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères107

HP 420

Tous les postes utilisant lemême ssid utilisent lamême suite de sécurité

Configuration du cryptageAuthentification 802.1x WIFI

Protocoles d'authentification réseau S.Bordères108

CISCO AIRONET 1200

Authentification 802.1x WIFIConfiguration des vlans et des serveurs Radius

La configuration des vlans est identique au cas radius-mac

Page 55: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères109

Configuration du cryptageAuthentification 802.1x WIFI

CISCO AIRONET 1200

Protocoles d'authentification réseau S.Bordères110

radius-server host 10.4.0.3 shared-secret

aaa port-access authenticator 15

Authentification 802.1x FilaireInter-connexion des équipements et configuration du serveur Radius

interface FastEthernet0/24switchport mode trunk

interface FastEthernet0/1switchport mode trunk Switch Cisco 2950

Port 24 tagged sur tous les vlanSwitch HP 2626

aaa new-modelaaa group server radius demo_radiusaaa server 10.4.0.3 auth-port 1812 acct-port 1813aaa authentication login default enableaaa authentication dot1x default group demo_radiusaaa authorization network default group demo_radiusdot1x system-auth-control

interface FastEthernet0/15switchport mode accessdot1x port-control auto

Switch Cisco 2950

SwitchHP 2626

Port 24 tagged sur tous les vlan

Page 56: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères111

Authentification 802.1x

Configuration du serveur Radiusavec utilisation de la base local USERS

pour les méthodes EAP

Protocoles d'authentification réseau S.Bordères112

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

dh_file = ${raddbdir}/certs/dh

random_file = ${raddbdir}/certs/random

fragment_size = 1024

include_length = yes

# check_crl = yes

check_cert_cn = %{User-Name}

} peap {

default_eap_type = mschapv2

copy_request_to_tunnel = yes

use_tunneled_reply = yes

}

mschapv2 {

}

} (fin module eap)

Fichier eap.conf

TLS

PEAP

Page 57: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères113

Data:Version: 3 (0x2)Serial Number: 12331 (0x302b)Signature Algorithm: sha1WithRSAEncryptionIssuer: C=FR, O=CNRS, CN=CNRS-StandardValidity

Not Before: Feb 14 15:22:23 2006 GMTNot After : Feb 14 15:22:23 2008 GMT

Subject: C=FR, O=CNRS, OU=UMR5797, CN=radius.demo.fr /[email protected] Public Key Info:

Public Key Algorithm: rsaEncryptionRSA 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)

X509v3 extensions:X509v3 Basic Constraints: critical

CA:FALSENetscape Cert Type:

SSL Client, SSL ServerX509v3 Key Usage: critical

Digital Signature, Non Repudiation, Key EnciphermentX509v3 Extended Key Usage:

TLS Web Server Authentication, TLS Web Client AuthenticationNetscape Comment:

Certificat serveur CNRS-StandardX509v3 Subject Key Identifier:

FD:59:C5:56:87:5F:2D:DD:29:92:AE:44:5B:86:21:61:D2:53:1F:2BX509v3 Authority Key Identifier:

keyid:67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3CDirName:/C=FR/O=CNRS/CN=CNRSserial:02

X509v3 Subject Alternative Name: DNS:radius.demo.fr

X509v3 CRL Distribution Points: URI:http://crls.services.cnrs.fr/CNRS-Standard/getder.crl

Authentification 802.1x WIFI et filaire

Caractéristique du certificat du serveur radius

Protocoles d'authentification réseau S.Bordères114

Fichier users sur serveur Radius

Dans cette exemple, quelque soit la machine depuis laquelle se connecteJean Dupont il pourra se connecter sur le vlan 15.

"Jean Dupont" Auth-Type := EAP Service-Type = Framed-User, Tunnel-type = VLAN,Tunnel-Medium-Type = 6,Tunnel-private-Group-ID = 15

CN d’un certificat personnel ou d’un certificat machine (EAP/TLS => certificats)

Authentification 802.1x WIFI et filaire

Ou bienUsername d’une base de login (windows,ldap..) EAP/PEAP

Avec TLS, ne pas oublier check_cert_cn = %{User-Name}pour obliger le client à envoyer une identity égaleau CN.

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

Le certificat est validé dans la section Authenticationpar l’appel au module EAP dans le fichier raddb.conf

Page 58: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères115

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

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

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

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

Autre exemple en fixant une plage horaire de connexion:

Attention au format

Authentification 802.1x WIFI et filaire

Authentification avec vérification de l’adresse MAC

Protocoles d'authentification réseau S.Bordères116

Authentification 802.1x

Configuration des postes utilisateurs

Page 59: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères117

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émarrageTLSPEAP

Protocoles d'authentification réseau S.Bordères118

Gestion des certificats

Un certificat utilisateur doit être dans le magasin « certificat utilisateur actuel »le répertoire personnel/certificat

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 »

Authentification 802.1x -certificat (TLS)- configuration client

Windows

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

Page 60: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères119

demo

Windows

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

Authentification aulogon d’un utilisateur

Protocoles d'authentification réseau S.Bordères120

Pendant la phase de démarrage le PCenvoi comme identifiant:

host/CN-certificat

Il s’agit d’un certificat machine présent dansle magasin de certificat machine.Le serveur radius demande au client de luienvoyer son certificat.

x

Windows

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

Authentification audémarrage de la machine

Page 61: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères121

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

Windows Le serviceconfiguration automatique sans-fil (oui, oui!)doit être démarré

Protocoles d'authentification réseau S.Bordères122

Il faut installer un supplicant

Xsupplicant - Utilisable en wifi et filaire.Pour le wifi supporte WPA depuis la version 1.2.3 (Janvier 2006)

WPA-supplicant – Utilisable uniquement en wifi.

Linux

Authentification 802.1x - configuration client

Il faut disposer du driver de la carte sans-fil:•Il existe éventuellement sous Linux•ndiswrapper pour utiliser les drivers Windows•MadWifi•Autres…

http://open1x.sourceforge.net/

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

Page 62: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères123

Linux

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

ctrl_interface_group=0

ctrl_interface="/var/run/wpa_supplicant"

eapol_version=1

ap_scan=2

network={

ssid=demoscan_ssid=0proto=WPAkey_mgmt=WPA-EAPeap=TLSpairwise=TKIPgroup=TKIPcnexact=nocncheck=demo.fridentity="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

}

Fichier /etc/wpa_supplicant.conf

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

WPA_SUPPLICANT

Protocoles d'authentification réseau S.Bordères124

network_list = alldefault_netname=defaultdefault {

type = wiredallow_types = all identity =machine1.demo.fr

eap_tls {user_cert = /root/cert/machine1.demo.fr.pemuser_key = /root/cert/machine1.demo.fr.keyuser_key_pass = passphraseroot_cert = /root/cert/ca-demo-cert.pemchunk_size = 1398

random_file = /dev/urandom}

}

Fichier /etc/xsupplicant.conf

Linux

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

xsupplicant –i eth0 –f

XSUPPPLICANT

Page 63: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères125

…..

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

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)

Nom du point d‘accès

CN du certificat

Log de Radius (succès)

Plus de détails en mode DEBUGradiusd -X

Authentification 802.1x – certificat (TLS)

Protocoles d'authentification réseau S.Bordères126

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)

Log de Radius (échec)

Authentification 802.1x – certificat (TLS)

Page 64: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères127

Authentification 802.1x -login/password (PEAP)

Protocoles d'authentification réseau S.Bordères128

Dans ce cas au lieu de fournir un certificat l'utilisateur fourniun login et un mot de passe.

Le serveur Radius authentifie l'utilisateur sur une base qui contientle 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 Windowsou bien une base LDAP.

Authentification 802.1x -login/password (PEAP)

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 »

Page 65: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères129

demo

Windows

Authentification 802.1x -login/password (PEAP) WIFI

Authentification aulogon d’un utilisateur

Protocoles d'authentification réseau S.Bordères130

WindowsAu démarrage le PC envoi comme identity : host/nom-machine

Avec utilitaire DELL 1450 il est possiblede configurer un login/mot de passe quisera utilisé au démarrage de la machine

x

Authentification 802.1x -login/password (PEAP) WIFI

Authentification audémarrage de la machine

Page 66: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères131

Authentification 802.1x -login/password (PEAP) Filaire

Windows

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

Protocoles d'authentification réseau S.Bordères132

Linux

Authentification 802.1x -login/password (PEAP) WIFI

ctrl_interface_group=0

ctrl_interface="/var/run/wpa_supplicant"

eapol_version=1

ap_scan=2

network={

ssid="demo"

scan_ssid=0

proto=WPA

key_mgmt=WPA-EAP

eap=PEAP

pairwise=TKIP

group=TKIPcnexact=nocncheck=demo.fr

identity=dupont

password=demo

ca_cert="/root/cert/cademo.pem"

phase1="peaplabel=0"

phase2="auth=MSCHAPV2«

}

WPA_SUPPLICANT

Fichier /etc/wpa_supplicant.conf

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

Page 67: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères133

network_list = alldefault_netname=defaultdefault {

type = wiredallow_types = all identity = dupont

eap-peap {random_file = /dev/urandomroot_cert = /root/cert/cademo.pemallow_types = eap_mschapv2eap-mschapv2 {

username = dupontpassword = mot-de-passe

}}

}

Fichier /etc/xsupplicant.conf

Authentification 802.1x -login/password (PEAP) Filaire

Linux

XSUPPPLICANT

xsupplicant –i eth0 –f

Protocoles d'authentification réseau S.Bordères134

PEAP

Pas besoin d’IGCNécessité d’avoir une base d’utilisateurs (windows, ldap…)Authentifie l’utilisateur plus que la machineProblè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 danssa configuration wifi.

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

Authentification 802.1x – PEAP vs TLS

Page 68: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères135

TLSDisposer d’une IGCPas besoin de base Windows, pas forcément besoin d’une base LDAP.

Certificat utilisateur (CNRS) : Délai d’expiration trop court (1 an)Impose la présence utilisateur pour configurerRenouvellement par l’utilisateur (compliqué)Authentifie l’utilisateur et pas la machinePas 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 configurerCe n’est pas l’utilisateur qui gère le renouvellementAuthentifie bien la machine (si croisé avec adresse MAC)Le vol a moins de conséquences.

Authentification 802.1x – PEAP vs TLS

Protocoles d'authentification réseau S.Bordères136

Configuration Proxy

La configuration proxy est utilisée pour ré-orienter une requête vers un autreserveur radius ou bien pour tenir compte d’un domaine (realm) passé dansl’identity.

Realm host {format = prefixdelimiter = « / »ignore_default = noignore_null = no

}

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éeprécédente dans users ne va pas matcher. Il vaut donc mieux mettre une entrée « cn-certificat » et configurer le proxy comme suit:

Realm host {type =radiusauthhost = LOCALaccthost = LOCAL

}

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

raddb.conf Proxy.conf

Page 69: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères137

Définition d’une base d’authentification

Utilisation d’un base Windows

Utilisation d’une base LDAP

Protocoles d'authentification réseau S.Bordères138

Utilisation d’une base Windows

Utilisation d’une base Windows

Page 70: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères139

Fichier radiusd.confmschap {

authtype = MS-CHAP#require_encryption = yes#require_strong = yeswith_ntdomain_hack = yesntlm_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}«

}

Sur le serveur Radius il faut mettre en oeuvre samba et plus particulièrement winbind(rpm samba, samb-common, samba-client)

Fichier smb.conf

Pour rejoindre le domaine:net rpc join –w nom-domaine -U administrateur

Utilisation d’une base Windows

Protocoles d'authentification réseau S.Bordères140

Utilisation d’une base LDAP

Utilisation d’une base LDAP

Page 71: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères141

Permet de centraliser toutes les demandes d’authentification d’un siteréseau, système et applicatifs.

Permet de décrire un grand nombre d’attributs pour chaque utilisateurou machine dans un schéma (arbre)

C’est un standard

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

Utilisation d’une base LDAP – Pourquoi utiliser LDAP ?

Protocoles d'authentification réseau S.Bordères142

Pour un utilisateur:Son userid ou CN de certificat = uid LDAPSon mot de passeLa (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 MACson mot de passe est son adresse MACLe 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.

Utilisation d’une base LDAP – Contenu de la base

Page 72: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères143

Identity=user1

uid=user1

Serveur LDAPServeur RadiusNAS

Query: user1

Check-itemReply-item

Access-chalenge

Identity=user1

Authentification

Autorisation

checkval

Reply-item

accept

Check-itemReply-item

Principes d’utilisation de LDAP

Protocoles d'authentification réseau S.Bordères144

Toutes les communications radius-NAS-client sont identiques aux cas précédentsquelque 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 puisles reply-items.

Le module checkval permet de vérifier si des check-items correspondent à desrequest-items. Par exemple, l'adresse MAC.

Principes d’utilisation de LDAP

Page 73: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères145

Pour mettre en œuvre openldap il faut:- l'installer- Configurer le daemon- Créer un base

Mise en œuvre de OPENLDAP

Protocoles d'authentification réseau S.Bordères146

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

database bdb

suffix "dc=demo,dc=fr"

rootdn "cn=Manager,dc=demo,dc=fr"

rootpw testldap

/etc/openldap/slapd.conf

Qualification de la base

Mise en œuvre de OPENLDAP – configuration du daemon

Fourni par FreeRadius

Page 74: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères147

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

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

)

Exemple:

Mise en œuvre de OPENLDAP – schéma Radius

Protocoles d'authentification réseau S.Bordères148

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 freeradiuset les noms d'attributs définis dans le schéma 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

Attributs ldapAttributs radius

Mise en œuvre de OPENLDAP – schéma Radius

Page 75: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères149

dn: uid=user1,ou=users,dc=demo,dc=fr

objectclass: Inetorgperson

objectclass: radiusProfile

uid: user1

userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94

cn: user1

sn: user1

radiusCallingStationId: 00-0F-1F-16-C9-CC

radiustunneltype: VLAN

radiustunnelmediumtype: 6

radiustunnelprivategroupid: 12

Exemple d'entrée dans la base LDAP

Mot de passe SMBUtile uniquement enEAP/PEAP

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

Protocoles d'authentification réseau S.Bordères150

ldap {

server = "ldap.demo.fr" ou bien server="127.0.01"identity = "cn=manager,dc=demi,dc=fr"password = testldapbasedn = "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.attrmapldap_connections_number = 5password_attribute = userPassword# groupname_attribute = cn# groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-

UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"# groupmembership_attribute = radiusGroupNametimeout = 4timelimit = 3net_timeout = 1# compare_check_items = yes# do_xlat = yesaccess_attr_used_for_allow = yes

}

Configuration Radius pour LDAP (radiusd.conf)

Page 76: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères151

authorize {

preprocess

auth_log

eap

files

ldap

checkval

}

authenticate {

Auth-Type MS-CHAP {

mschap

}

eap

}

Configuration Radius pour LDAP (radiusd.conf)

Protocoles d'authentification réseau S.Bordères152

uid=00904c871213,ou=machines,dc=demo,dc=frobjectclass: Inetorgpersonobjectclass: radiusProfileuid: 00904c871213userPassword: 00904c871213 cn: 00904c871213 sn: 00904c871213 radiusCallingStationId: 00-90-4c-87-12-13radiustunneltype: VLANradiustunnelmediumtype: 6radiustunnelprivategroupid: 12

Mot de passe envoyédans access-request

username envoyédans access-request

Authentification Radius-Mac avec LDAP

Page 77: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères153

Authentification 802.1x PEAP avec LDAP

dn: uid=user1,ou=users,dc=demo,dc=frobjectclass: Inetorgpersonobjectclass: radiusProfileuid: user1userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94cn: user1sn: user1radiusCallingStationId :00-90-4c-87-12-13 radiustunneltype: VLANradiustunnelmediumtype: 6radiustunnelprivategroupid: 12

Protocoles d'authentification réseau S.Bordères154

Authentification 802.1x TLS avec LDAP

dn: uid=machine.demo.fr,ou=machines,dc=demo,dc=frobjectclass: Inetorgpersonobjectclass: radiusProfileuid: machine.demo.frcn: machine.demo.frsn: machine;demo.frradiusCallingStationId :00-90-4c-87-12-13 radiustunneltype: VLANradiustunnelmediumtype: 6radiustunnelprivategroupid: 12

CN du certificat transmis par Radius au serveur LDAP

Page 78: Protocoles d’authentification réseau Sans-fil et filaireraisin.u-bordeaux.fr/IMG/pdf/Protocoles-auth-2pages.pdf · Protocoles d'authentification réseau 5 S.Bordères Pourquoi

Protocoles d'authentification réseau S.Bordères155

dn: uid=user1,ou=users,dc=demo,dc=frobjectclass: Inetorgpersonobjectclass: radiusProfileuid: user1userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94cn: user1sn: user1radiusCallingStationId :00904c871213 radiusCallingStationId: 00-0F-1F-16-C9-CEradiustunneltype: VLANradiustunnelmediumtype: 6radiustunnelprivategroupid: 15

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

Authentification 802.1x avec LDAP

Protocoles d'authentification réseau S.Bordères156

Livre: Radius par Jonathan Hassel (0'Reilly)

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

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

802.1X : Solution d'authentification sécurisée pour le futur réseau sans fil de l'Université Louis Pasteur

http://2003.jres.org/actes/paper.143.pdf

RFC2868:Radius attribute for tunnel protocol support :

RFC2865: RADIUS :

RFC2869:Radius extensions :

RFC3579:Radius support for EAP :

http://www.ietf.org/rfc/rfc2865.txt

http://www.ietf.org/rfc/rfc2869.txt

http://www.ietf.org/rfc/rfc3579.txt

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

Documentation

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

http://www.freeradius.orgFreeradius