eduroam Journées Marwan 2007 Workshop IdM-eduroam 5-6 juin 2007 Vincent CARPIER Comité Réseau des Universités Merci à Rok Papez d'arnes pour la partie eduroam in a box
Qu'est ce eduroam? Techniques utilisées 802.11 RADIUS EAP 802.1x Méthodes d'authentification EAP Plan Déploiement FreeRADIUS + LDAP Eduroam in a box Client 802.1x Eduroam Fédération - national Confédération - international L'example français
Qu'est ce eduroam? Techniques utilisées 802.11 RADIUS EAP 802.1x Méthodes d'authentification EAP Plan Déploiement FreeRADIUS + LDAP Eduroam in a box Client 802.1x Eduroam Fédération - national Confédération - international L'example français
Qu'est ce eduroam? Initiative de la Task Force Mobility de Terena en 2003 But : étude des problèmes de sécurité des réseaux sans fil pour les nomades Résultat : recommandations pour solution de nomadisme international pour les utilisateurs de réseaux académiques (NRENs)
Constatations : De plus en plus facile d'avoir accès à l'internet Outil indispensable dans le cadre professionnel Multiplication des accès sans fil Accès nomade simple et fiable Moindre coût pour l'administrateur Maîtrise de son réseau
Comment satisfaire tout le monde? Accès Internet aux utilisateurs nomades Aisés mais contrôlés Entraînant peu de surcroît d'administration Sécurité comparable à un accès filaire Facilement déployable à grande échelle
eduroam : solutions étudiées Authentification Web + RADIUS Déploiement facile Déjà utilisé Problèmes de sécurité VPN Déploiement laborieux à grande échelle Déjà utilisé Securisé IEEE 802.1x + RADIUS Déploiement facile à grande échelle Securisé
eduroam : conclusion 802.1x + RADIUS Première expérience de mobilité inter-nren Pilote européen appelé EduRoam (devenu eduroam) Hiérarchie de serveurs RADIUS gérés par les NRENs ayant signé un agrément avec Terena Serveur racine géré par Terena
couverture européenne
couverture asiatique
Qu'est ce eduroam? Techniques utilisées 802.11 RADIUS EAP 802.1x Méthodes d'authentification EAP Plan Déploiement FreeRADIUS + LDAP Eduroam in a box Client 802.1x Eduroam Fédération - national Confédération - international L'example français
Début de 802.11i Faiblesses du WEP (MIM et Hijacking) => GT IEEE débute la création de la norme 802.11i Ne voyant rien aboutir, en 2002, la Wi-Fi Alliance publie une version allégée de 802.11i => WPA (Wi-Fi Protected Access : chiffrement TKIP) WPA est utilisable sur les bornes d'accès de type 802.11a et 802.11b (moyennant un upgrade firmware)
Naissance de 802.11i En 2004, le GT IEEE ratifie la norme 802.11i En parralléle, la Wi-Fi Alliance crée la certification WPA2 (chiffrement AES) pour les produits implémentant entiérement la norme 802.11i WPA2 => bornes d'accès 802.11g
RADIUS Remote Access Dial-In User Service Protocole d'authentification avec trois fonctions : AAA Authentification : qui demande une connexion? Autorisation : cette personne est elle autorisée? Accounting : temps de connexion et volume?
RADIUS Trois entités fonctionnelles pour remplir ces rôles : Client (supplicant) : processus demandant l'authentification pour une connexion au réseau Network Access Server : point d'accès au réseau Serveur RADIUS : traitement des demandes d'authentification en interrogeant une base de données d'utilisateurs, autorisation et accounting
Les paquets RADIUS Pour remplir ses fonctions, le protocole RADIUS dispose de 9 types de paquet : 4 pour l'authentification 2 pour l'accounting 1 code pour le statut client 1 code pour le statut serveur 1 code réservé
Principe de demande d'authentification avec RADIUS Le point d'accès Le client Demande d'authentification Défi Réponse au défi Succès Le serveur RADIUS Access-Request Access-challenge Access-Request Acess-Accept
Relayage RADIUS Délégation de l'authentification à un autre serveur RADIUS (fonction appelé proxy) A qui adresser la demande? => Introduction de la notion de domaine (realm) renseigné à la demande d'authentification
Principe du proxy-radius Traffic protégé par un secret partagé Base des utilisateurs rouge Serveur RADIUS user@etab-bleu user user@etab-rouge Etablissement rouge Serveur RADIUS Base des utilisateurs bleu Etablissement bleu la valeur du domaine renseignera les serveurs RADIUS rencontré, pour router si bessoin, la demande d'authentification
EAP Extensible Authentification Protocol Protocole de transport de méthodes d'authentification telles que : OTP, TTLS, PEAP, SIM... Ce protocole ne sert que dans la phase d'authentification
EAP et 802.1x 802.1x décrit le transport des méthodes d'authentification sur EAP entre le client et un serveur RADIUS 802.1x entre le client et le point d'accès : EAPoL (EAP over LAN) 802.1x entre le point d'accès et le serveur RADIUS : EAPoRADIUS (EAP over RADIUS)
Principe 802.1x Serveur RADIUS Base des utilisateurs 802.1X EAPoRADIUS 802.1X EAPoL Un point d'accès utilisant la norme 802.1x se comporte comme un interrupteur
802.1X en pratique Supplicant Authenticator RADIUS server (AP or switch) University A User DB jan@student.university_a.nl Internet Commercial VLAN Employee VLAN Student VLAN 802.1X signaling data (VLAN assigment)
Principe EAP Tunnelisé (PEAP TTLS - TLS) el n é n Tu iffr Ch 802.1x 802.1x Etablissement d'un tunnel TLS avec authentification du serveur RADIUS, puis utilisation de ce tunnel pour le trafic d'authentification
EAP Tunnelisé en pratique Tunnel TLS Supplicant Authenticator (AP or switch) RADIUS server institution A nomade@cru.fr RADIUS server User DB institution B Internet guest VLAN regular VLAN Central RADIUS Proxy server User DB
EAP/PEAP Protected Extensible Authentication Protocol Méthode d'authentification interne : MS-CHAP(v2) ou TLS Pour éviter la distribution des certificats pour les clients, on préférera une authentification interne MS-CHAP(V2)
EAP/TTLS Tunneled Transport Layer Security Même principe que PEAP avec authentification du serveur RADIUS, mais on dispose d'un choix de méthode d'authentification plus large : MD5, MS-CHAP(V2) Exemple WPA Supplicant pour le choix des méthodes : http://hostap.epitest.fi/wpa_supplicant/
EAP/TLS Transport Layer Security Authentification mutuelle du serveur et du client par certificats X509 Utilisation d'une IGC obligatoire Solution la plus sûre et la plus robuste Néanmoins penser à protéger correctement la clé privé : utilisation de carte à puce cryptologique par exemple
Qu'est ce eduroam? Techniques utilisées 802.11 RADIUS EAP 802.1x Méthodes d'authentification EAP Plan Déploiement FreeRADIUS + LDAP Eduroam in a box Client 802.1x Eduroam Fédération - national Confédération - international L'example français
Déploiement Gros déploiement : FreeRADIUS LDAP Plus modeste : eduroam in a box (EiaB)
Rappel architecture eduroam
Configure Radius group: aaa group server radius radius_grp Access Point: Cisco 1130AG - IOS server 10.2.18.130 auth-port 1812 acct-port 1813 Configure network (SSID) dot11 ssid eduroam vlan 251 authentication open eap radius_auth authentication key-management wpa accounting default guest-mode Configure radio interface interface Dot11Radio0 encryption vlan 251 mode ciphers aes-ccm tkip ssid eduroam interface Dot11Radio1 encryption vlan 251 mode ciphers aes-ccm tkip ssid eduroam
Access Point: Cisco 1130AG - IOS Set RADIUS server connection secret: radius-server host 10.0.0.130 auth-port 1812 acct-port 1813 key ********** Configure server part: /etc/raddb/clients.conf: # =============== # Access Points # =============== client 10.0.0.131 { secret = ********** shortname = ap1 nastype = cisco }
Coexistance habituelle du filaire et du sans fil
Généralités eduroam.fr Technologies utilisées SSID préconisé : eduroam WPA Enterprise (WPA2/802.11i) VLANs dynamique multiple SSIDs diffusé (Pb Cisco) Configuration RADIUS EAP {TTLS / TLS / PEAP} Identité externe : anonymous@realm Envoi {user-name} dans Access-Accept (identité) Log RADIUS d'accounting + IP (traçabilité) Essentiellement FreeRADIUS
FreeRADIUS Installation Site Web : http://www.freeradius.org Liste de diffussion très active Puissance de régle (Regexp) : ex sur http://www.eduroam.si Configuration Manuelle Ou via utilisation de eduroam in a box (Interface Web) Relayage Realm (proxy) Préconisations ««Eduroam realm» == «DNS domain» Filtrage :.com par exemple Protection contre les boucles
FreeRADIUS: Envoi de requêtes proxyfiées /etc/raddb/proxy.conf: # ne pas déclarer dead un proxy si un 1 de leurs clients ne répond pas dead_time = 0 realm DEFAULT { type = radius authhost= rad1.eduroam.fr:1812 accthost = rad1.eduroam.fr:1813 secret = secretpartage nostrip }
Freeradius : Reception des requêtes /etc/raddb/clients.conf # le proxy eduroam.fr rad1.eduroam.fr : client 193.51.182.121 { secret = secretpartage shortname = rad1.eduroam.fr }
FreeRADIUS : Comptes /etc/raddb/users: # Refuser les utilisateurs avec un realm NULL DEFAULT Realm == NULL, Auth-Type := Reject # Utiliser l'annuaire LDAP avec l'identité interne DEFAULT Realm == domain.tld, Freeradius-Proxied-To == 127.0.0.1, Autz-Type := LDAP Fall-Through = yes
FreeRADIUS : Access to LDAP /etc/raddb/radiusd.conf: modules { [...] ldap { server = "localhost" basedn = "dc=domain,dc=tld" filter = "(siedupersonprincipalname=%{username})" identity = "cn=root,dc=domain,dc=tld" password = "*****" password_attribute = "userpassword" start_tls = no } }
FreeRADIUS : Access to LDAP /etc/raddb/radiusd.conf: modules { [...] } authorize { [...] Autz-Type LDAP { ldap } }
Eduroam in a box OpenSource: http://eduroam.sourceforge.net Interface web de configuration LDAP, RADIUS, SQL, DHCP,... Gestion des certificats Monitoring des connexions Gestion des logs Facile d'utilisation : Ajout sous forme de paquetage Linux Installer et ouvrir http://localhost/eduroam
Eduroam in a box Mode pont
Eduroam in a box: set-up Vraiment simple : PC avec plusieurs interfaces réseau Installation de Linux Installation du paquetage EiAB (yum install eduroam pour Fedora Core) Connection au réseau filaire et sans fil Ouvrir http://localhost/eduroam Configurer le systéme Appliquer les modifications
Eduroam in a box: Les types d'installation
Eduroam in a box : Relayage RADIUS
Eduroam in a box: Configuration DNS
Eduroam in a box: Suivi des modifications
Client eduroam (802.1X) Sans client spécifique, config par l'utilisateur : Configuration native windows (PEAP) SecureW2 Windows (TTLS) WPA Supplicant, X_supplicant : Linux Avec un client préparé pour Windows : Kit SecureW2 par établissement Certificats pré-installé SecureW2 pré-configuré Mode de chiffrement (local)
Disponibilités des méthodes d'authentification Méthodes MD5 LEAP PEAP TTLS TLS FAST SIM Auth X509 Serveur Client oui oui oui oui oui W indows Natif Disponible Natif Disponible Natif Client Linux Xsupplicant Xsupplicant Xsupplicant Xsupplicant Xsupplicant Xsupplicant Xsupplicant Mac OSX Natif Natif Natif Natif Natif
Qu'est ce eduroam? Techniques utilisées 802.11 RADIUS EAP 802.1x Méthodes d'authentification EAP Plan Déploiement FreeRADIUS + LDAP Eduroam in a box Client 802.1x Eduroam Fédération - national Confédération - international L'example français
Objectifs Authentification fortes des utilisateurs du réseau (pas de hijacking) Dédié aux nomades Déployable à grande échelle Peu de surcharge de travail d'admin Maîtrise du réseau Mise en oeuvre aisée Utilisation simple Libre Securisé
Eduroam : national roaming T o p lev el se rv er.n l su rfn e t.n l A ccess P o in t.a c.u k u v a.n l.a u.n o u n is.n o... u n in e tt.n o A ccess P o in t u se r@ u n in e tt.n o
Fédération eduroam : une question de confiance Intervenants de la chaine : utilisateurs, sites d'origine, sites visités, NRENs (+ Terena pour confédération) Confiance des visiteurs dans les sites visités : Disponibilité du service Infrastructure réseau Administration réseau Administration des serveurs RADIUS Chiffrement des liaisons sans fil
Une question de confiance, suite... Confiance des sites visités de la part des sites d'origine : Validation, choix et sécurisation de l'authentification Information / communications Configuration de leurs équipements Support Confiance dans les NRENs : Fiabilité et sécurisation de leurs réseaux Sécurisation et administration des proxies RADIUS nationaux
Confédération eduroam : The European eduroam policy NREN / relation de confiance / Terena Responsabilité du NREN pour ses établissements Membres : les NRENs (Federation national) Garantir des niveaux de sécurité Promouvoir eduroam dans son pays Actuellement plus de 500 établissements (Europe, Australie, Taiwan) Bientôt : USA, Japon, Corée Et plus?
Rejoindre eduroam pour un NREN Mettre en place des proxies nationaux : Acceptant les requêtes des membres nationaux et les relayer au bon établissement Pour ceci, envoyer un courriel (chiffré) à join@eduroam.org Contenant : FQDN of toplevel RADIUS-server(s) Acceptant les requêtes non-nationales et les relayer vers l'infrastucture eduroam IP-addresses of toplevel RADIUS-servers Shared secret to use between European servers and national server(s). URL of national eduroam website Information about test-account Contact details admin Signer la policy
Rejoindre eduroam pour un établissement Mettre en place votre infrastructure 802.1x Accepter les requêtes de votre domaine et les traiter Accepter les requêtes externes et les transmettre au serveur national Envoyer un courriel (chiffré) à votre NREN contenant : Nom du serveur RADIUS de votre établissement Adresse IP de votre serveur RADIUS Secret partagé : RADIUS <==> proxy national URL de votre site Web décrivant le service local Information du compte de test Contact pour ce service Signer la charte national
Qu'est ce eduroam? Techniques utilisées 802.11 RADIUS EAP 802.1x Méthodes d'authentification EAP Plan Déploiement FreeRADIUS + LDAP Eduroam in a box Client 802.1x Eduroam Fédération - national Confédération - international L'example français
eduroam.fr RADIUS (serveurs et proxies) IEEE 802.1x/EAP Méthodes d'authentification mutuelle sécurisées PEAP TTLS TLS SSID préconisé : eduroam
eduroam.fr : RENATER au centre des relations de confiance Les établissements s'engagent auprès de RENATER RENATER s'engage en leur nom auprès de Terena -> trust fabric
eduroam.fr Engagements de RENATER auprès de Terena Ses «clients» doivent s'engager sur de bonnes pratiques et sur l'éducation de leurs utilisateurs Au moins un serveur national doit être mis en oeuvre et sécurisé Informations sur le service Surveillance du service Implication du CERT (securité)
eduroam.fr : engagements des établissements / RENATER Offrir le service conformément aux recommandations Administrer et sécuriser un (ou +) proxy RADIUS Journaliser les résultats d'authentification Faire connaître l'existence du service (in)former leurs utilisateurs sur l'utilisation du service et le respect des règles d'utilisation des réseaux visités Offrir du support à leurs utilisateurs
eduroam.fr : engagements des établissements / RENATER Formalisé par la signature de la charte eduroam.fr associée au service mobilité de RENATER => Spécifications techniques : http://www.eduroam.fr/specif_tecnik.html
Service de mobilité pour la communauté RENATER Demande d'inscription par le correspondant technique RENATER Interface SAGA Base d'enregistrement des établissements adhérants Renseignement par le correspondant ARREDU des informations du compte Monitoring des clients RADIUS assuré par le CRU Configuration du RADIUS d'établissement Proxies national et son backup Les nomades RENATER / CRU Etablissement
Interface de configuration du compte eduroam.fr Interface Web de gestion de son compte authentification : Sympa ou X509
Spécifications techniques http://www.eduroam.fr/specif_tecnik.html Extrait : pas de filtrage sortant, dans le cas contraire au moins cette liste de service doivent être ouverts vers l'internet : HTTP et HTTPS, domaine (DNS), ICMP (echo/reply), IPSec (ESP, AH, IKE), OpenVPN, SSH, POPs, IMAPs, NTP, submission (smtp/auth), SMTP sur le serveur de messagerie local
Spécifications techniques Portail captif Tracabilité Site Web Formation / Information...
Monitoring : eduroam-fr Monitoring de l'infrastructure nationale Surveiller la disponibilité et les temps de réponse des serveurs RADIUS d'établissement Permettre aux administrateurs de voir comment est vu, depuis l'exterieur, leur service Aller au-delà de la surveillance des serveurs RADIUS Offrir aux utilisateurs la possibilité de vérifier la disponibilité de l'infrastructure là où ils en ont besoin
Méthode Simuler une utilisation 802.1x réelle Utiliser un compte d'utilisateur Utiliser la (les) méthode(s) d'authentification proposée(s) par l'établissement N'utiliser l'authentification RADIUS (qui expose les credentials) qu'en dernier recours Affichage sur un site Web publique http://www.eduroam.fr/monitoring/monitoring.html
Problèmes Simuler un supplicant 802.1x + EAP Minimiser les intermédiaires Afficher les résultats
Choix Tests effectués depuis le proxy national rad1.eduroam.fr Autorisé sur tous les serveurs d'établissement Aucun serveur intermédiaire Affichage effectué sur www.eduroam.fr Pas de trafic inutile sur le proxy Pas d'aléa introduit par d'autres serveurs Pas de http sur rad1.eduroam.fr Couplage avec la carte géographique
Architecture Radius Monitoring sec.cru.fr www.eduroam.fr rad1.eduroam.fr w Interface comptes eduroam status ro rw Serveurs d'établissement Comptes eduroam-fr (LDAP)
Implémentation Basée sur la commande eapol_test de wpa_supplicant et sur radtest de FreeRadius Des scripts génèrent les configurations nécessaires à eapol_test pour tester chaque établissement et analysent les résultats d'exécution Affichage texte ou html Peut être utilisé pour faire du debugging sur un realm particulier
Résultats de monitoring
Couplage avec la carte géographique
eduroam.fr : état Opérationnel depuis avril 2006 Un serveur national opéré par le CRU gérant le domaine fr Un serveur de backup géré par le CRC Raccordé à eduroam depuis avril 2006 ~50 établissements raccordés
Conclusions 802.1x offre la sécurité et le passage à l'échelle Si 802.1x en place => vraiment simple de rejoindre eduroam Livre de recette (Cookbook v2) Déjà plein de participants : Pourquoi pas vous ;-)
Des questions?