Protocoles d'authentification réseau. Sans-fil et filaire



Documents pareils
Authentification sur réseau sans-fil Utilisation d un serveur radius Expérience du CENBG

TD3 - Radius et IEEE 802.1x

CRI-IUT Serveur d'authentification pour la sécurité des réseaux Wi-Fi

Le protocole RADIUS. Objectifs. Ethernet Switch RADIUS RADIUS

AUTHENTIFICATION x FREERADIUS. Objectifs

Le protocole RADIUS Remote Authentication Dial-In User Service

Sécurité des réseaux sans fil

1. Présentation de WPA et 802.1X

! "# Exposé de «Nouvelles Technologies Réseaux»

Protocoles utilisant des mécanismes d'authentification: TACACS+, RADIUS et Kerberos

Installation du point d'accès Wi-Fi au réseau

Authentification réseau

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Internet. Licence Pro R&S. TD 5 - Wifi / Radius. 1 Sur le réseau de distribution (DS) 1.1 Configuration des routeurs PC6

VPN et tunnel au niveau de la couche 2

Sécurité des réseaux wi fi

InstallatIon et configuration d une Infrastructure réseau sans-fil. Avec. Interface de gestion utilisateurs

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

freeradius Serveur RADIUS libre, performant et modulaire mais pas vraiment simple Aurélien Geron, Wifirst, 7 janvier 2011

eduroam Journées Marwan juin 2007 Vincent CARPIER Comité Réseau des Universités Merci à Rok Papez d'arnes pour la partie eduroam in a box

Configuration du matériel Cisco. Florian Duraffourg

INDUSTRIALISATION «802.1X» CONFIG : 802.1X PEAP MSCHAPV2

Introduction au Wi-Fi sécurisé

Présenté par : Ould Mohamed Lamine Ousmane Diouf

Intégration de RADIUS dans un réseau VOIP avec ASTERISK. Table des matières

Contenu. Cocher : Network Policy and Access Services > Next > Next. Cocher : Network Policy Server > Next > Install

WIFI sécurisé en entreprise (sur un Active Directory 2008)

IV. La sécurité du sans-fil

Table des matières 1 Accès distant sur Windows 2008 Server Introduction...2

Projet PacketTracer en Labo, et Authentification Wi-Fi Serveur RADUIS (NPS)

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Authentification. réseau Radius. avec x EAP FreeRadius. Authentification Radius

Configuration de l'accès distant

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Réseaux Locaux Virtuels

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Guide de configuration pour accès au réseau Wifi sécurisé 802.1X

Guide Utilisateur pour accès au réseau WiFi sécurisé 802.1X

WiFI Sécurité et nouvelles normes

MÉMOIRE DE FIN D'ÉTUDES HOUSSENBAY Olivier

SSL ET IPSEC. Licence Pro ATC Amel Guetat

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Le rôle Serveur NPS et Protection d accès réseau

Installation d'un serveur RADIUS

Pare-feu VPN sans fil N Cisco RV120W

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

SSH, le shell sécurisé

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

SÉCURITÉ DU SI. Authentification Centralisée LDAP / Radius. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET: Version : 1.0

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Utiliser Améliorer Prêcher. Introduction à LDAP

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

7.1.2 Normes des réseaux locaux sans fil

Sommaire. III : Mise en place :... 7

Table des matières Nouveau Plan d adressage... 3

>#? " $: $A; 4% 6 $7 -/8 $+.,.,$9:$ ;,<=</.2,0+5;,/ ! " # $%!& *$$ $%!& *! # +$

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Transmission de données

VPN TLS avec OpenVPN. Matthieu Herrb. 14 Mars 2005

PRODUCTION ASSOCIEE. Le réseau de la M2L est organisé VLANs et comporte des commutateurs de niveau 2 et des routeurs.

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

CONVENTION d adhésion au service. EDUROAM de Belnet

How To? Sécurité des réseaux sans fils

1 PfSense 1. Qu est-ce que c est

Modèle de sécurité de la Grille. Farida Fassi Master de Physique Informatique Rabat, Maroc May 2011

MONNIER Marie /2009 WPA

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

TP 6 : Wifi Sécurité

PRODUCTION ASSOCIEE. Le réseau de la M2L est organisé VLANs et comporte des commutateurs de niveau 2 et des routeurs.

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

REAUMUR-ACO-PRES. Wifi : Point et perspectives


Sécurité GNU/Linux. Virtual Private Network

réseau Tableaux de bord de la sécurité 2 e édition Cédric Llorens Laurent Levier Denis Valois Avec la contribution de Olivier Salvatori

SÉCURITÉ RÉSEAUX/INTERNET, SYNTHÈSE

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

Étude d une solution Radius

Projet n 10 : Portail captif wifi

Mission 2 : Prise de contrôle à distance sur les éléments d'infrastructures, les serveurs (Contrôleur de domaine et DHCP) et les clients

Les clés d un réseau privé virtuel (VPN) fonctionnel

WIFI (WIreless FIdelity)

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

Mettre en place un accès sécurisé à travers Internet

Contrôle d accès Centralisé Multi-sites

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Administration du WG302 en SSH par Magicsam

La technologie de contrôle d accès réseau 802.1x et son implémentation pratique

Utilisation des certificats X.509v3

Devoir Surveillé de Sécurité des Réseaux

Sécurité des réseaux IPSec

Accès aux ressources informatiques de l ENSEEIHT à distance

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Configuration Wi-Fi pour l'utilisation d'eduroam

Exercice Packet Tracer : Configuration de base des réseaux locaux virtuels

TEPZZ 699Z A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: H04W 12/06 ( ) H04L 29/06 (2006.

Transcription:

Protocoles d authentification réseau Sans-fil et filaire 1 Plan 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 2

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 3 Qu'est-ce que l'authentification réseau? Authentification Authentification réseau réseau Branchement physique sur le réseau Authentification Autorisation d'usage Base De Données Commune Authentification Authentification applicatives applicatives Authentification sur le système d'exploitation (windows, Linux ) Authentification sur une application (LDAP) 4

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 5 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. 6

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

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) 9 Rappel sur les Vlans Vision logique correspondante Routeur Routeur Lien 802.1Q Trunk (cisco) Tagged (HP) Réseau3 Vlan2 Vlan3 Réseau2 switch switch Vlan2 Vlan3 10

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 11 Protocoles d authentification: Radius Deux possibilités : Authentification par adresse MAC (Radius-Mac) Authentification 802.1x 12

Protocoles d authentification: Radius Authentification par adresse MAC Le serveur radius Interroge sa base de données pour mettre en correspondance l adresse MAC et le N de vlan Serveur radius L adresse MAC sert d identifiant Lorsque un poste se connecte sur un port le switch interroge le serveur radius Fichier local Et/ou Base Ldap Et/ou Base sql 13 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 Le switch relaie la demande du poste Exécution d un supplicant qui demande l authentification Fichier local Et/ou Base Ldap Et/ou Base sql Et/ou Domaine windows 14

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 Port non contrôlé EAP over LAN EAP Autres Port contrôlé EAP Autres Après authentification Avant authentification 15 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. 16

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. 17 Protocoles d authentification:terminologie NAS Authenticator (802.1x) Radius client supplicant Borne WIFi serveur Radius Domaine Windows Méthodes d'authentification et d'autorisation Commutateur supplicant NAS= Network Access Server NAS Authenticator (802.1x) Radius client LDAP Base sql certificats Fichier local 18

Le protocole Radius 19 Le protocole Radius Remote Access Dial In User Service Protocole d'authentification d'utilisateurs distants Initialement plutôt utilisé par les ISP Pour 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) 20

Le protocole Radius Radius est un serveur de type AAA Authentification Qui me parle? Authorization Quelles autorisations je lui accorde? Accounting Que fait-il? 21 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 22

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). 23 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. 24

Le protocole Radius: format des paquets Code(1) Identifier(1) Longueur(2) Authentificateur(16) Attributs et valeurs(variable) Codes 1 - access-request 2 - access-accept 3 - Access-reject 4 - Accounting-request 5 - Accounting-response 11- Access-challenge Identifier utilisé pour associer les requêtes et les réponses. Authentificateur Utilisé pour que l'équipement NAS 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. 25 Le protocole Radius: les types de paquets Code(1) Identifier(1) Longueur(2) Authentificateur(16) 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é. 26

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) Identifier(1) Longueur(2) Authentificateur(16) N attribut longueur valeur 27 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) Identifier(1) Longueur(2) Authentificateur(16) N attribut longueur valeur 28

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 29 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 30

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 31 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) Identifier(1) Longueur(2) Authentificateur(16) 26 longueur Vendor ID Attribut number longueur valeur 32

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) Identifier(1) Longueur(2) Authentificateur(16) 26 longueur Vendor ID Attribut number longueur valeur 33 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 34

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 35 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 36

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 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 Ethernet 37 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 38

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 39 Les extensions du protocole Radius: support EAP (802.1x) Authentification avec certificat (TLS) 2 EAP over LAN EAP-request =identity 1 EAP-reply=identity=CN EAP over RADIUS 4 EAP-request =TLS start EAP-Reply=Client_hello EAP_request=Server_hello, certificat+clé publique 3 5 Calcul clé principale 6 EAP-reply=Certificat+clé publique EAP-request=TLS_finished 7 7 EAP-request=TLS_finished Calcul clé principale EAP-reply= vide 8 8 EAP-reply= success EAP-reply= success+clé de session EAP-key=Clé WEP ou WPa 9 40

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 41 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 42

Les extensions du protocole Radius: support EAP (802.1x) Authentification avec login/password (PEAP) Client NAS Serveur d'authentification EAP-request/identity EAP-Response/identity (EAP-message- identity=login) Access-request (EAP-message) TLS pour création d un tunnel chiffré Tunnel TLS chiffré Authentification du client (mschapv2) authentification EAP key clé WEP/WPA Génération clé WEP/WPA Access-accept +Clé de session OK 43 Les extensions du protocole Radius: support EAP (802.1x) Authentification avec login/password (PEAP) EAP over LAN EAP-request =identity 1 EAP over RADIUS 2 4 EAP-reply=identity=login EAP-request =TLS start EAP-Reply=Client_hello 3 Calcul clé de session principale EAP_request=Server_hello, certificat+clé publique EAP-request-PEAP_finished 6 6 EAP-request=PEAP_finished Tunnel chiffré 5 Calcul clé de session principale EAP-reply= vide 7 7 EAP-reply= success EAP-reply= success+clé de session EAP-key=Clé WEP ou WPa 8 44

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 lui qui 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 à faire l authentification par vérification du mot de passe. Dans 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. 45 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. 46

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 47 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 48

Les extensions du protocole Radius: support EAP (802.1x) Imbrication des protocoles 802.11b/g 802.3 EAP TLS TLS MSCHAPv2 IP UDP Radius EAP TLS TLS MSCHAPv2 Cryptage WEP, ou WPA ou 802.11i (WPA2) IP TCP ou IPUDP 49 Processus d authentification et autorisation Check items Base Request-items Mac-address Processus d'authentification et autorisation Check-item= item=request-items? Reply-items Vlan=5 Reply items Base 50

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. 51 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. 52

Freeradius 53 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 54

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 Ou bien Logs dans /var/log/radius/radius.log radiusd X (mode debug) 55 Freeradius: Fichiers de configuration Les fichiers de configurations sont dans /etc/raddb Configurations principales radiusd.conf clients.conf eap.conf users Configurations particulières dictionnary Ldap.attrmap Oraclesql.conf Postgresql.conf Sql.conf Gestion des certificats cert 56

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 shortname = nom nastype = type-materiel Doit être présent aussi dans le NAS 57 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). Sur une seule ligne. Les lignes suivantes commencent par une tabulation suivie d'une liste d'items de réponse (reply item). Il peut y avoir plusieurs reply item séparés par des virgules et sur plusieurs lignes. 58

Freeradius: Fichiers de configuration - users username Type d'authentification Adresse MAC Check items Dupont Auth-Type := EAP, Calling-Station Station-Id == "0012f0ae2546" Service-Type = Framed-User User, Reply items Tunnel-type = VLAN, Tunnel-Medium Medium-Type = 6, Tunnel-private 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 59 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 SecurID Crypt-Local Reject ActivCard EAP ARAP Accept PAP CHAP LDAP PAM MS-CHAP Kerberos CRAM NS-MTA-MD5 SMB Reject permet de refuser inconditionnellement une connexion. Accept permet d'accepter inconditionnellement une connexion. 60

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. 61 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. 62

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) 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. 63 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 64

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 65 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 = * # Port on which to listen. # Allowed values are: # integer port number (1812) # 0 means "use /etc/services for the proper port" # port = 0 Listen : Utile uniquement lorsque le client peut être sur la machine où tourne Radius # Type of packets to listen for. # Allowed values are: # auth listen for authentication packets # acct listen for accounting packets # # type = auth # 66

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 log_auth_goodpass = yes usercollide = no lower_user = no lower_pass = no Paramétrage des logs nospace_user = no nospace_pass = no 67 Freeradius: Fichiers de configuration radiusd.conf security { max_attributes = 200 reject_delay = 1 status_server = no Paramètres imposants des limitations pour contrarier certains types d'attaques. Limite le nombre d'attributs par requête Autorise un délai de réponse pour freiner une attaque type DoS Interdit/autorise la requête status-server Inclusion des autres fichiers de configuration proxy_requests = yes $INCLUDE ${confdir/proxy.conf $INCLUDE ${confdir/clients.conf snmp = no $INCLUDE ${confdir/snmp.conf Autorise/interdit les requêtes proxy NAS autorisés à communiquer avec le serveur Autorise/interdit le support SNMP 68

Freeradius: Fichiers de configuration radiusd.conf Déclaration des modules Modules { Nom du module: correspond à une librairie rlm_nom1 Ces librairies sont situées dans /usr/local/lib. nom1 { nom2 {... nom3 {. Paramètres du module 69 Freeradius: Fichiers de configuration radiusd.conf pap { chap { pam { encryption_scheme = crypt authtype = CHAP pam_auth = radiusd Module d'authentification PAP Module d'authentification CHAP Module d'authentification PAM unix { cache = no cache_reload = 600 passwd = /etc/passwd shadow = /etc/shadow group = /etc/group radwtmp = ${logdir/radwtmp Module d'authentification Unix à partir d'un fichier de style /etc/passwd Mise en cache éventuelle de passw, shadow et group Emplacement des fichiers 70

Freeradius: Fichiers de configuration radiusd.conf $INCLUDE ${confdir/eap.conf Inclusion du module d'authentification EAP mschap { authtype = MS-CHAP #require_encryption = yes #require_strong = yes with_ntdomain_hack = yes Module d'authentification mschap pour authentification sur un domaine Windows 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) 71 Freeradius: Fichiers de configuration radiusd.conf ldap { server = "ldap.your.domain" # identity = "cn=admin,o=my Org,c=UA" # 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 Module d'authentification sur serveur LDAP (voir plus loin) 72

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 { # filename = /etc/group # format = "=Group-Name:::*,User-Name" # hashsize = 50 # ignorenislike = yes # allowmultiplekeys = yes # delimiter = ":" # passwd permet de spécifier le format de fichier de type /etc/passwd 73 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 74