Documente Academic
Documente Profesional
Documente Cultură
Serge Bordres (Centre dEtudes Nuclaires de Bordeaux-Gradignan) 20 mars 2007 Institut dAstrophysique de Paris
Sommaire
Protocoles dauthentification Rseaux virtuels Programmation Portails captifs Transformer un serveur en client Radius
Portail capif
Authentification filaire
Qu'est-ce-que Radius ?
Protocole d'
uthentification
=> Qui parle ? => Quels sont ses droits ? => Que fait-il ?
d'
A A
d'
utorisation ccounting
Principe client/serveur
Le monde de Radius
Authentification
Equipements rseau
Serveurs
Clients Radius
Commutateurs Routeurs
Bornes sans-fil
VPN
portail captif
..
Postes utilisateurs Pour tre client Radius il faut partager un secret partag
Access-Request Access-Challenge
Optionnel suivant les protocoles
Access-Request Access-Challenge
. . .
Access-Accept Access-Reject
Accepte ou refuse
9 9
Tunnel-Private-Group-Id Framed-IP-Adress
Attributs vendor-specific
Apr
s a u
then
tific a t io
EAP
Port non-contrl Port contrl
802.1X est un mcanisme actif sur lquipement rseau EAP est un protocole de dialogue de bas niveau entre lquipement rseau et le poste de travail
Le protocole EAP
EAP (Extensible Authentication Protocol) nest pas un protocole dauthentification Cest un protocole de transport de protocole dauthentification (TLS, PEAP, TTLS) Les paquets du protocole dauthentification sont encapsuls dans des paquets EAP EAP dispose de quatre types de paquets 9Request 9Response 9Success 9Failure Lquipement rseau : Connat le protocole EAP et cest tout (il ne sait pas ce que transporte EAP) Redirige les paquets EAP vers un serveur dauthentification grce au protocole Radiu Les quipements rseau sont indpendants du protocole dauthentification utilis
EA P
Serveur Radius
ov er Ra di
us
802.1X
EAP
La compatibilit EAP dans Radius est ralise au moyen dun attribut supplmentaire: EAP-Message Lorsque lquipement rseau reoit un paquet EAP du poste utilisateur, il le copie dans un attribut EAP-Message, lui mme copi dans un paquet Access-Request. Lorsque le serveur Radius reoit ce paquet il extrait le contenu de EAP-Message et le passe un module EAP pour drouler le protocole quil contient. Ce qui suppose que le serveur Radius dispose de ce module EAP (qui ne fait pas partie du protocole Radius)
E A P
E A P
R A D I U S
R A D I U S
E A P
Bases de donnes
La base de donnes associe au serveur Radius contient des informations dauthentification et/ou dautorisations. Cette base nest pas spcifie par le protocole Radius Avec FreeRadius par exemple : Fichier plat (users) Base LDAP (avec le schma Radius) Domaine Windows Base SQL Autorisations et/ou authentification Autorisations et/ou authentification Authentification Autorisation
Lidentifiant (attribut User-Name) envoy au serveur Radius est utilis comme cl de recherche dans la base
Lidentifiant
Protocole RADIUS
certificat
Implmentations Radius
Open sources Freeradius Openradius Gnuradius Commerciales ACS (Cisco) IAS (Microsoft)
802.1X
=> Authentification du client par login/password et authentification du serveur par son certificat Met en uvre TLS Handshake puis TLS Record Le protocole dauthentification du mot de passe circule dans le tunnel chiffr
(VLAN)
Processus : Le serveur trouve lidentifiant dans sa base Rcupre les attributs Tunnel Envoie ces attributs lquipement rseau avec lAccess-Accept Lquipement rseau ouvre le port dans le VLAN contenu dans Tunnel-Private-Group-Id Les bornes WiFi doivent tre capables de grer plusieurs VLAN par SSID
0123456789ab Auth-Type :=Local, User-Password == 0123456789ab Tunnel-Type = VLAN, Tunnel-Medium-Type =IEEE-802, Tunnel-Private-Group-Id =Le 3 VLAN
Dupont Auth-Type := EAP Authentification 802.1X/EAP. Tunnel-Type = VLAN, Dupont peut se connecter depuis nimporte quel poste Tunnel-Medium-Type =IEEE-802, Tunnel-Private-Group-Id = 3
Dupont Auth-Type := EAP, Calling-Station-Id == 0123456789ab Tunnel-Type = VLAN, Tunnel-Medium-Type =IEEE-802, Tunnel-Private-Group-Id = 3
Authentification 802.1X/EAP. Dupont peut se connecter uniquement depuis le poste dadresse MAC 0123456789ab
MK
TLS-Handshake
MK
PMK
PMK
Access-Accept
PTK
GTK
Chiffrement TKIP ou AES
GTK
Authentification suivant l'quipement rseau Called-Station-Id ou Nas-IP-Address Identifiant Auth-Type := EAP , Called-Station-Id== adresse mac
Exemples :
9Gnrer 9Envoyer 9
9Modifier
/usr/local/bin/logrecord
#!/bin/sh CALLING_STATION_ID=$1 NAS_IP_ADDRESS=$2 NAS_PORT=$3 logger "radiusd:ALLOW: ${CALLING_STATION_ID} -> VLAN${TUNNEL_PRIVATE_GROUP_ID//'"'/}, nas ${NAS_IP_ADDRESS} port ${NAS_PORT} USER ${USER_NAME}"
Portail captif
Serveur Radius
Le serveur de portail captif est dclar comme client dans la configuration du serveur Radius Le serveur Radius accepte les requtes si elles viennent du portail captif (Called-Station-Id) Le portail captif envoi comme identifiant le login/password. Le portail captif agit comme routeur / firewall / dhcp
toujours accepts sur le portail captif (pas dauthentification) dans Radis des utilisateurs autoriss (par exemple avec la programmation Radius)
9Enregistrement
9Auto-enregistrement
Proxy-Radius, principes
Domaine A Domaine B
Identifiant=dupont@domaineA
Cest le serveur Radius du domaine auquel appartient lutilisateur nomade qui lauthentifie. Il envoi un Access-Accept au serveur Radius du domaine daccueil Le serveur daccueil choisit le VLAN Principe de Eduroam
Proxy-Radius, principes
Domaine-A
clients.conf Dclaration du serveur du domaine B comme client proxy.conf Dclaration du domaine-B Filtrage dattributs
Domaine-B
clients.conf Dclaration du serveur du domaine A comme client proxy.conf Dclaration du domaine-A Filtrage dattributs
Utilit : Se servir de Radius comme serveur central pour raliser des authentifications Se servir de Radius pour obtenir des informations (adresse IP, rgles de filtrage)
Compilation/Installation du module pam_radius sur le serveur-client Configuration de PAM Dclaration du serveur-client sur le serveur Radius (secret partag dans clients.conf) Cration du fichier pam_radius_auth sur le serveur-client pour inscrire le secret partag.
Radclient est un utilitaire fourni avec FreeRadius Il faut installer Freeradius sur le serveur client (on lance pas de daemon, pas de config) Permet dinterroger la base Radius et dobtenir les attributs dans une chane de caractres
Sur le serveur-client
echo User-Name=Dupont,User-Password=test | radclient x serveur-radius auth secret > tempfile
Radiusplugin permet une authentification sur le serveur Radius avec retour de certains attributs (Framed-IP-Address, Framed-Routes, Acct-Interim-Interval) Sutilise avec loption plugin de Openvpn Projet intressant mais pas encore au point Bien moins souple que radclient (http://www.nongnu.org/radiusplugin)
Bilan
Le serveur Radius est le moteur de la mobilit Cest un lment structurant du rseau Apporte des solutions pour authentifier sans-fil/filaire (unification) Apporte des solutions pour exploiter au mieux un rseau fortement structur Apporte des solutions pour laccueil des visiteurs Extension dautres services rseau
Rfrences
RFC 2865, RFC 2868, RFC 2869 (http://www.ietf.org) http://www.freeradius.org http://www.freeradius.org/list/users.html http://www.levkowetz.com/pub/ietf/drafts/eap/rfc2284bis/draft-ietf-eap-rfc2284bis-07.html (EAP) http://www.wi-fi.org (WiFi Alliance/WPA) Livre: Authentification rseau avec Radius par Serge Bordres - Eyrolles