Académique Documents
Professionnel Documents
Culture Documents
Protocoles Auth 2pages
Protocoles Auth 2pages
Sans-fil et filaire
S.Bordres
Plan
Introduction Qu'est-ce que l'authentification rseau ? Pourquoi faire de l'authentification rseau ? Intrt de l'authentification rseau Authentifier quoi ? Des utilisateurs ou des machines ? Elments pour authentifier Autoriser quoi ? Le protocole Radius Bases du protocole Support des Vlans Support EAP Authentification 802.1X Configuration des quipements rseau WIFI (borne HP et Cisco) Filaire (switch HP et Cisco) Configuration du serveur Radius Freeradius Configuration des clients TLS - Windows et Linux PEAP - Windows et Linux Utilisation d'une base de donnes. Windows LDAP Mise en oeuvre Authentification par adresse MAC (Radius-mac) Configuration des quipements rseau WIFI (borne HP et Cisco) Filaire (switch HP et Cisco) Configuration du serveur Radius Configuration des clients
S.Bordres
Il s'agit d'authentifier une machine lorsqu'elle se branche sur le rseau afin de lui autoriser ou refuser l'usage du rseau.
Cette authentification est indpendante d'autres authentifications vers des systmes d'exploitation ou applications
S.Bordres
Au th en r s tific ea ati u on
S.Bordres
Scuriser un rseau filaire ou sans-fil Pour interdire les postes inconnus Pour placer les postes connus a des endroits spcifiques du rseau (vlan) de faon dynamique. Pour savoir quelle machine est connecte et o elle est connecte
S.Bordres
S.Bordres
La rponse dpend de la destination et/ou de larchitecture du rseau. Une authentification par utilisateur implique que les autorisations sont accordes quelque soit la machine utilise. Une authentification par machine implique quune machine recevra les mmes autorisations quelque soit lutilisateur qui lutilise. Dans chaque cas il est possible de croiser les lments dauthentification avec ladresse MAC de la machine.
S.Bordres
S.Bordres
Autoriser quoi ?
Dans un rseau plat (sans sous-rseau) on autorise tout le rseau obligatoirement Dans un rseau segment on autorise la connexion sur un sous-rseau (Vlan)
S.Bordres
Routeur
Rseau3 Rseau2
Vlan2
switch
switch
Vlan2
Vlan3
Protocoles d'authentification rseau
10
S.Bordres
Protocoles dauthentification
Exemple: VMPS de Cisco Authentification sur adresse MAC uniquement Rseau filaire
Protocoles ouverts
=>
Radius et 802.1x Authentification sur adresse MAC, Login/password Certificats, cartes puce . Rseau filaire et sans-fil
11
S.Bordres
Authentification 802.1x
12
S.Bordres
Serveur radius
Ladresse MAC sert didentifiant
13
S.Bordres
Serveur radius
Lidentifiant et soit un login/password soit un certificat Fichier local Et/ou Base Ldap Et/ou Base sql Et/ou Domaine windows
14
S.Bordres
Serveur radius
Au t
P EA
re s
Aprs authentification
Avant authentification
Protocoles d'authentification rseau
15
Au t
P EA
re s
S.Bordres
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'intrt de l'architecture de EAP est de pouvoir utiliser divers mcanismes d'authentification sans que l'quipement rseau (NAS) aient besoin de les connatre. Dans ce cas il agit comme un tunnel transparent vers un serveur qui lui implmente les mcanismes souhaits. Par exemple: Mot de passe, certificats, carte puce .
16
S.Bordres
- EAP/PEAP ou EAP/TTLS
Le client est authentifi par un login/mot de passe. Le serveur peut tre authentifi par son certificat.
17
S.Bordres
Protocoles dauthentification:Terminologie
NAS Authenticator (802.1x) Radius client
serveur Radius
supplicant
Domaine Windows
Mthodes d'authentification et d'autorisation
Borne WIFi
Commutateur
supplicant NAS Authenticator (802.1x) Radius client
18
S.Bordres
Le protocole Radius
19
S.Bordres
Le protocole Radius
Initialement plutt utilis par les ISP Pour authentifier leurs utilisateurs
Le protocole de base de RADIUS est dcrit dans le RFC 2865. Utilise UDP sur le port 1812 (anciennement 1645)
Protocoles d'authentification rseau
20
S.Bordres
Le protocole Radius
Authentification
Qui me parle ?
Authorization
Quelles autorisations je lui accorde ?
Accounting
Que fait-il ?
21
S.Bordres
Le protocole utilise 4 types de paquets suffisants pour assurer toutes les transactions: (hors accounting) Access-Request Access-Accept Access-Reject Access-Challenge
22
S.Bordres
Access-Accept Renvoy par le serveur Radius pour accepter la requte du client aprs interrogation de sa base d'authentification. Ce paquet peut contenir une liste d'attributs correspondant aux services qui sont autoriss (par exemple le vlan).
23
S.Bordres
Access-challenge Emis par le serveur Radius pour demander soit de r-emettre un access-request, soit pour demander des informations complmentaires.
24
S.Bordres
Code(1) Identifier(1)
Longueur(2)
Authentificateur(16)
Attributs et valeurs(variable)
Codes 1 2 3 4 5 11access-request access-accept Access-reject Accounting-request Accounting-response Access-challenge Identifier utilis pour associer les requtes et les rponses. Authentificateur Utilis pour que l'quipement NAS puisse authentifier les rponses du serveur -> Request authenticator -> Response authenticator
Attributs et valeurs Ensemble d'attributs et leur valeur qui indique quels services sont demands ou autoriss.
25
S.Bordres
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 squence alatoire. Le serveur rpond 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 vrifier que le serveur qui rpond est bien celui qu'il a contact.
26
S.Bordres
Longueur(2)
Authentificateur(16)
valeur
27
S.Bordres
Longueur(2)
Authentificateur(16)
valeur
28
S.Bordres
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 numro de tlphone sur lequel il faut rappeler le client. Ce qui est inutile dans notre cas
Seront dcrits ici uniquement les attributs intressants pour l'authentification 802.1X et Radius Mac
29
S.Bordres
30
S.Bordres
N attribut
Nom d'attribut
type
31
S.Bordres
Authentificateur(16)
valeur
32
S.Bordres
Authentificateur(16)
valeur
33
S.Bordres
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
Exemple 2
34
S.Bordres
Le support des VLANs est ralis 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 crer des tunnels avec des clients distants.
35
S.Bordres
10 Generic Route Encapsulation (GRE) 11 Bay dial in virtual Services (DVS) 12 IP-in-IP Tunneling 13 Vlan 802.1Q
36
S.Bordres
1 2 3 4 5 6 7 8 9 10 11 12 13 14
IPv4 UPv6 NSAP HDLC BBN 1822 802 E.163 (POTS) E.164 (SMDS, Frame relay, ATM) F.69 (Telex) X.121 IPX Appletalk Decnet IV Banyan Vines
Ethernet
37
S.Bordres
Tunnel-Private-Group-Id
Indique un group-id pour un tunnel spcifique. Dans le cas des VLANs il s'agit du numro de Vlan.
38
S.Bordres
RFC:
radius extension radius support for EAP EAP EAP/TLS 802.1x radius usage guidelines
39
S.Bordres
5
Calcul cl principale
6
Calcul cl principale
7
EAP-request=TLS_finished
EAP-reply= vide
8
EAP-reply= success
Protocoles d'authentification rseau
8
EAP-reply= success+cl de session
9
40
S.Bordres
41
S.Bordres
7- Le client et le serveur calculent une cl de chiffrement pour la session principale ( partir des challenges changs) 8- Le client renvoi une rponse EAP vide et le serveur rpond 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 lenvoi au client. Dans le cas dauthentification EAP/TLS la cl de session principale nest pas utilise. Seul lchange de validation mutuelle des certificats est utile
42
S.Bordres
NAS
Serveur d'authentification
43
S.Bordres
5
Calcul cl de session principale
EAP-request-PEAP_finished EAP-request=PEAP_finished
Tunnel chiffr
EAP-reply= vide
7
EAP-reply= success EAP-key=Cl Protocoles d'authentification rseau WEP ou WPa EAP-reply= success+cl de session
44
S.Bordres
Dans les phases 1 et 2 lidentit (rponse identity) transmise nest pas crypte Ce nest pas directement ce champ qui permet lauthentification. Mais cest lui qui est utilis pour lautorisation. Pour TLS : Cest la validation mutuelle des certificats qui constitue lauthentification Pour PEAP: Cest le username transmis dans le tunnel (crypt) qui sert faire lauthentification par vrification du mot de passe. Dans tous les cas il est possible de donner une identit diffrente du CN ou du username. Ceci afin que lidentit relle ne circule pas en clair. Dans la ralit il faut tre prudent car il y a risque quun utilisateur sauthentifie avec sa propre identit mais puisse acqurir les autorisations dun autre.
45
S.Bordres
Pour EAP/PEAP les changes ncessaires lauthentification sont crypts dans un tunnel TLS et ce mme si ensuite aucune mthode de cryptage nest configure.(en filaire galement)
Mme si 802.1x nimpose pas le cryptage des communications il est FORTEMENT recommand de crypter avec une mthode srieuse . (au moins WPA)
La borne doit grer la transmission automatique des cls de cryptage vers les postes clients et, de prfrence, la rotation dynamique de ces cls.
46
S.Bordres
WPA : Associ TKIP pour la rotation Initialisation des cls par 802.1x Changement de la cl tous les 10Ko Cl 128 bits (RC4) vecteur dinitialisation de 48 bits MIC: Contrle dintgrit WPA2: = 802.11i Principe identique WPA avec: CCMP pour la rotation des cls AES pour le cryptage
47
S.Bordres
48
S.Bordres
802.3
TLS TLS MSCHAPv2
IP
TCP ou UDP IP
49
S.Bordres
Base
Reply-items
Vlan=5
Reply items
50
Base
S.Bordres
L'quipement NAS envoi un access-request contenant une liste d'attributs appels 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 associe chaque utilisateur/machine connu. Radius interroge sa base pour trouver une entre qui correspond au username envoy et dont les check-items matches les request-item. Si aucune correspondance n'est trouve un access-reject est envoy. Si une correspondance est trouve, une reply-list est forme partir des reply-items contenu dans la base. Par exemple, le numro 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
S.Bordres
La mthode dauthentification: Elle peut tre indique explicitement dans la base de donnes ou bien tre dduite 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 dune authentification par adresse MAC. Dans ce cas le mot de passe est ladresse MAC. Ladresse MAC Les reply-items: Exemple: le ssid ou le N de vlan.
52
S.Bordres
Freeradius
53
S.Bordres
Freeradius
Fonctionnalits: - 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
S.Bordres
Dmarrage /etc/init.d/radiusd start Logs dans /var/log/radius/radius.log Ou bien radiusd X (mode debug)
Protocoles d'authentification rseau
55
S.Bordres
Les fichiers de configurations sont dans /etc/raddb radiusd.conf clients.conf eap.conf users
Configurations principales
Configurations particulires
cert
56
S.Bordres
Dans ce fichier doivent tre rfrencs tous les clients Radius (NAS) autoriss interroger le serveur.
57
S.Bordres
Le fichier user est la base de donnes locale. Cest un fichier plat. Il est constitu d'une succession "d'entre". Chacune correspondant un utilisateur ou machine. Le fichier est parcouru squentiellement du haut vers le bas. Chaque entre commence par un identifiant suivi par une liste d'item vrifier (check item). Sur une seule ligne. check item Les lignes suivantes commencent par une tabulation suivie d'une liste d'items de rponse (reply item). reply item Il peut y avoir plusieurs reply item spars par des virgules et sur plusieurs lignes.
58
S.Bordres
username
Type d'authentification
Dupont
Auth-Type := EAP, Calling-Station-Id == "0012f0ae2546" AuthCalling- StationService-Type = Framed-User, ServiceFramed- User, Tunnel-type = VLAN, TunnelTunnel-Medium-Type = 6, Tunnel- MediumTunnel-private-Group-ID = 15 Tunnel- private- GroupReply items
DEFAULT
Rejet de la requte
59
S.Bordres
60
S.Bordres
Attribute != valeur (check-item) Match si l'attribut est prsent et n'est pas gale cette valeur.
(check-item)
Match si l'attribut est prsent et est > ou >= ou < ou <= cette valeur.
61
S.Bordres
Attribute != value (check-item) Match si l'attribut n'est pas prsent dans la requte. La valeur n'a pas d'importance.
62
S.Bordres
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
S.Bordres
64
S.Bordres
65
S.Bordres
ipaddr = *
# Port on which to listen. # Allowed values are: # # # integer port number (1812) 0 means "use /etc/services for the proper port"
Listen : Utile uniquement lorsque le client peut tre sur la machine o tourne Radius
port = 0
auth acct
type = auth
66
S.Bordres
67
S.Bordres
$INCLUDE ${confdir}/snmp.conf
68
S.Bordres
69
S.Bordres
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
S.Bordres
$INCLUDE ${confdir}/eap.conf
71
S.Bordres
ldap {
server = "ldap.your.domain" serveur # 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=%{LdapUserDn}))(&(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 }
72
S.Bordres
#passwd etc_smbpasswd { # filename = /etc/smbpasswd # format = "*User-Name::LM-Password:NT-Password:SMB-Account-CTRL-TEXT::" # authtype = MS-CHAP # hashsize = 100 # ignorenislike = no # allowmultiplekeys = no #} #passwd etc_group { passwd permet de spcifier # filename = /etc/group le format de fichier de type # format = "=Group-Name:::*,User-Name" /etc/passwd # hashsize = 50 # ignorenislike = yes # allowmultiplekeys = yes # delimiter = ":" #}
73
S.Bordres
74
S.Bordres
Permet de comparer la valeur d'un attribut dans une requte avec une liste de check-item (utilis avec LDAP)
75
S.Bordres
76
S.Bordres
77
S.Bordres
Fichier docs/aaa.txt
Authorization is a process of obtaining information about the user from external source (file, database or LDAP), and checking that the information in request is enough to authenticate user. Authorization modules deal with data sources, so ldap, sql, files, passwd are authorization modules.
78
S.Bordres
Auth-Type CHAP { chap } Auth-Type MS-CHAP { mschap } # # digest pam unix # # # } eap } Auth-Type LDAP { ldap
Fichier docs/aaa.txt
Authentication is simply a process of comparing user's credentials in request with credentials stored in database. Authentication usually deals with password encryption. PAP, CHAP, MS-CHAP are authentication modules. Few modules act as both authorization and authentication. For example, the MSCHAP module is normally authentication one, but it may be used during authorization to verify that request contains MS-CHAP related attribute and only in this case perform MS-CHAP based authentication. LDAP is normally an authorization module, but it may be used for authentication (In this case FreeRADIUS will authenticate user in case he can connect to LDAP server with his account). SQL is only an authorization module, as dial-in users are not normally given passwords to access an SQL server.
79
S.Bordres
ignore_unknown_eap_types = no cisco_accounting_username_bug = no md5 { } leap { } gtc { #challenge = "Password: " auth_type = PAP }
. . .
80
S.Bordres
81
S.Bordres
peap { default_eap_type = mschapv2 copy_request_to_tunnel = yes use_tunneled_reply = yes } mschapv2 { } } (fin module eap)
82
S.Bordres
Mise en oeuvre
Cisco
HP
Configurer les quipements rseau Configurer les vlans dans ces quipements Configurer les serveurs Radius utiliser dans ces quipements Configurer les cryptages (WIFI) Configurer les fichier USERS de radius
802.1X Radius-mac
83
S.Bordres
Remarque importante
Dans le cas du WIFI ne pas se contenter dune authentification par adresse MAC. MAC. Ladresse MAC nest pas crypte
84
S.Bordres
HP et Cisco
85
S.Bordres
WIFI
86
S.Bordres
WIFI
Vlan par dfaut si le serveur radius ne renvoi rien ou ne fonctionne pas (mettre un vlan poubelle)
87
S.Bordres
WIFI
88
S.Bordres
WIFI
10.4.0.3
89
S.Bordres
WIFI
90
S.Bordres
WIFI
Tous les postes utilisant le mme ssid utilisent la mme suite de scurit
Mthode possible en Radius-mac
91
S.Bordres
WIFI
ET AIRON CISCO
1200
Chez Cisco la posibilit de crer plusieurs couple SSID/vlan existe depuis longtemps mais lutilisation dun vlan gnrique fonctionne depuis rcemment (test avec la version k9w7-tar.123-7.JA2)
92
S.Bordres
WIFI
15
demo 15
93
S.Bordres
WIFI
CO CIS
10.4.0.3
10.4.0.3
10.4.0.3
10.4.0.3
94
S.Bordres
WIFI
CO CIS
Le format des adresses mac est le mme pour tous les serveurs et les ssid
95
S.Bordres
WIFI
CO CIS
96
S.Bordres
Filaire
Avec Cisco 2950 IOS version 12.1(22)EA4 pas possible: La fonctionnalit n'est pas prsente Pour faire de l'authentification MAC il faut utiliser VMPS
97
S.Bordres
Filaire
h itc Sw
HP
Lien tagged
Port 24 tagged sur tous les vlans Port 24 tagged sur tous les vlans
98
S.Bordres
Configuration du serveur Radius avec utilisation de la base local USERS pour la mthode RADIUS-MAC
99
S.Bordres
WIFI+Filaire
Sur le serveur Radius il faut crire une entre par adresse MAC autorise du type suivant:
100
S.Bordres
Configuration sur le client Aucune configuration particulire sur le client que ce soit en wifi ou en filaire
101
S.Bordres
Authentification 802.1x
102
S.Bordres
Authentification 802.1x
Client
Certificat personnel Request Identity
WIFI et filaire
NAS Serveur radius
Certificat serveur
EAP-type=EAP-TLS
certificat autorit
vrification
certificat autorit
CN users
accept
Machine1.demo.fr Auth-Type=EAP
103
S.Bordres
Authentification 802.1x
104
S.Bordres
Authentification 802.1x
Inter-connexion des quipements rseau
Idem que pour Radius MAC
WIFI
=> Si la borne est capable de grer simultanment desSSID avec authentification MAC et des SSID avec authentification 802.1x, il ny a rien de plus faire sur le switch sur lequel est connect cette borne.
Lien tagged
105
S.Bordres
Authentification 802.1x
Configuration des vlans et des serveurs Radius
4 HP
WIFI
20 La configuration dans la borne est identique au cas Radius-MAC sauf quil ne faut pas activer lauthentification MAC.
106
S.Bordres
Authentification 802.1x
Configuration du cryptage
4 HP 20
WIFI
Tous les postes utilisant le mme ssid utilisent la mme suite de scurit
107
S.Bordres
Authentification 802.1x
Configuration des vlans et des serveurs Radius
ET AIRON CISCO 1200
WIFI
108
S.Bordres
Authentification 802.1x
Configuration du cryptage
ET AIRON CISCO 1200
WIFI
109
S.Bordres
Authentification 802.1x
aaa new-model aaa group server radius demo_radius aaa server 10.4.0.3 auth-port 1812 acct-port 1813 aaa authentication login default enable aaa authentication dot1x default group demo_radius aaa authorization network default group demo_radius dot1x system-auth-control interface FastEthernet0/15 switchport mode access dot1x port-control auto
Filaire
Switch HP 2626
Switch HP 2626
110
S.Bordres
Authentification 802.1x
Configuration du serveur Radius avec utilisation de la base local USERS pour les mthodes EAP
111
S.Bordres
Authentification 802.1x
tls { private_key_password = cl-prive 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 {
WIFI et filaire
Fichier eap.conf
TLS
default_eap_type = mschapv2 copy_request_to_tunnel = yes use_tunneled_reply = yes } mschapv2 { } } (fin module eap)
PEAP
112
S.Bordres
Authentification 802.1x
Data: Version: 3 (0x2) Serial Number: 12331 (0x302b) Signature Algorithm: sha1WithRSAEncryption Issuer: C=FR, O=CNRS, CN=CNRS-Standard Validity Not Before: Feb 14 15:22:23 2006 GMT Not After : Feb 14 15:22:23 2008 GMT Subject: C=FR, O=CNRS, OU=UMR5797, CN=radius.demo.fr /emailAddress=system@demo.fr Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c1:e4:f9:b8:da:27:5a:11:21:26:ce:51:b3:90: . db:04:61:2c:77:24:91:e5:fb Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE Netscape Cert Type: SSL Client, SSL Server X509v3 Key Usage: critical Digital Signature, Non Repudiation, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication Netscape Comment: Certificat serveur CNRS-Standard X509v3 Subject Key Identifier: FD:59:C5:56:87:5F:2D:DD:29:92:AE:44:5B:86:21:61:D2:53:1F:2B X509v3 Authority Key Identifier: keyid:67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3C DirName:/C=FR/O=CNRS/CN=CNRS serial:02 X509v3 Subject Alternative Name: DNS:radius.demo.fr X509v3 CRL Distribution Points: Protocoles URI:http://crls.services.cnrs.fr/CNRS-Standard/getder.crl d'authentification rseau
WIFI et filaire
113
S.Bordres
Authentification 802.1x
WIFI et filaire
"Jean Dupont" Auth-Type := EAP Service-Type = Framed-User, Tunnel-type = VLAN, Tunnel-Medium-Type = 6, Tunnel-private-Group-ID = 15
Avec TLS, ne pas oublier check_cert_cn = %{User-Name} pour obliger le client envoyer une identity gale au CN.
Lauthentification na pas besoin dune base extrieure. Le certificat est valid dans la section Authentication par lappel au module EAP dans le fichier raddb.conf
Dans cette exemple, quelque soit la machine depuis laquelle se connecte Jean Dupont il pourra se connecter sur le vlan 15.
114
S.Bordres
Authentification 802.1x
WIFI et filaire
Machine.demo.fr
Attention au format
Dupont
Auth-Type := EAP, Login-Time := any0700-2000 , Calling-Station-Id == 0050.124e.4500 Service-Type = Framed-User Tunnel-type = VLAN, Tunnel-Medium-Type = 6, Tunnel-private-Group-ID = 15
115
S.Bordres
Authentification 802.1x
116
S.Bordres
Configuration avec le supplicant intgr (Windows) Configuration avec lutilitaire de la carte sans-fil (Windows) Configuration avec Xsupplicant ou wpa_supplicant (Linux) Authentification au logon TLS (certificat machine ou utilisateur) PEAP Authentification au dmarrage TLS PEAP
117
S.Bordres
ind W
s ow
Un certificat utilisateur doit tre dans le magasin certificat utilisateur actuel le rpertoire personnel/certificat La protection renforce ne doit pas tre active Un certificat machine doit tre dans: le magasin certificat ordinateur local le rpertoire personnel/certificat Un certificat machine peut aussi tre mis dans le magasin certificat utilisateur actuel
118
S.Bordres
ind W
s ow
demo
119
S.Bordres
in W
s ow d
Pendant la phase de dmarrage le PC envoi comme identifiant: host/CN-certificat Il sagit dun certificat machine prsent dans le magasin de certificat machine. Le serveur radius demande au client de lui envoyer son certificat.
x
120
S.Bordres
in W
s ow d
121
S.Bordres
Lin
ux
Il faut disposer du driver de la carte sans-fil: Il existe ventuellement sous Linux ndiswrapper pour utiliser les drivers Windows MadWifi Autres
Il faut installer un supplicant Xsupplicant - Utilisable en wifi et filaire. Pour le wifi supporte WPA depuis la version 1.2.3 (Janvier 2006)
http://open1x.sourceforge.net/
122
S.Bordres
u Lin
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=TLS pairwise=TKIP group=TKIP cnexact=no cncheck=demo.fr identity="machine.demo.fr ca_cert="/root/cert/ca/cademo.pem client_cert="/root/cert/machine.demo.fr.pem private_key="/root/cert/machine.demo.fr.key private_key_passwd="test eapol_flags=3 }
WPA_SUPPLICANT
Fichier /etc/wpa_supplicant.conf
123
S.Bordres
Lin
ux
network_list = all default_netname=default default { type = wired allow_types = all identity =machine1.demo.fr eap_tls { user_cert = /root/cert/machine1.demo.fr.pem user_key = /root/cert/machine1.demo.fr.key user_key_pass = passphrase root_cert = /root/cert/ca-demo-cert.pem chunk_size = 1398 random_file = /dev/urandom } }
XSUPPPLICANT
Fichier /etc/xsupplicant.conf
xsupplicant i eth0 f
124
S.Bordres
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)
CN du certificat
125
S.Bordres
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)
126
S.Bordres
127
S.Bordres
128
S.Bordres
WIFI
in W
s ow d
demo
129
S.Bordres
WIFI
ind W
s ow
Avec utilitaire DELL 1450 il est possible de configurer un login/mot de passe qui sera utilis au dmarrage de la machine x
130
S.Bordres
Filaire
in W
s ow d
131
S.Bordres
WIFI
x inu
WPA_SUPPLICANT
Fichier /etc/wpa_supplicant.conf
132
S.Bordres
Filaire
Lin
ux
network_list = all default_netname=default default { type = wired allow_types = all identity = dupont eap-peap { random_file = /dev/urandom root_cert = /root/cert/cademo.pem allow_types = eap_mschapv2 eap-mschapv2 { username = dupont password = mot-de-passe } } }
XSUPPPLICANT
Fichier /etc/xsupplicant.conf
xsupplicant i eth0 f
133
S.Bordres
134
S.Bordres
135
S.Bordres
Configuration Proxy
La configuration proxy est utilise pour r-orienter une requte vers un autre serveur radius ou bien pour tenir compte dun domaine (realm) pass dans lidentity. Exemple:Lorsquune requte de type host/cn-certificat (authentification au dmarrage) arrive on peut mettre dans le fichier users une entre host/cn-certificat. Mais si un requte arrive avec juste cn-certificat (authentification au logon) lentre prcdente dans users ne va pas matcher. Il vaut donc mieux mettre une entre cn-certificat et configurer le proxy comme suit: raddb.conf
Realm host { format = prefix delimiter = / ignore_default = no ignore_null = no }
Proxy.conf
Realm host { type =radius authhost = LOCAL accthost = LOCAL }
Dans ce cas les requtes prfixes par host sont rediriges vers le serveur radius local avec le mot host en moins.
136
S.Bordres
137
S.Bordres
138
S.Bordres
Fichier smb.conf Pour rejoindre le domaine: net rpc join w nom-domaine -U administrateur
139
S.Bordres
140
S.Bordres
Permet de centraliser toutes les demandes dauthentification dun site rseau, systme et applicatifs.
Permet de dcrire un grand nombre dattributs pour chaque utilisateur ou machine dans un schma (arbre)
Cest un standard
Dans le cas de Radius, on peut stocker dans une base LDAP des check-items et des reply-item. Donc une base LDAP peut servir pour authentifier et/ou autoriser
141
S.Bordres
142
S.Bordres
Identity=user1
Identity=user1
Query: user1
Authentification
checkval
Access-chalenge
Check-item Reply-item
uid=user1
Check-item Reply-item
accept
Autorisation
Reply-item
143
S.Bordres
Toutes les communications radius-NAS-client sont identiques aux cas prcdents quelque soit la mthode d'authentification (Radius-mac ou EAP). Seule change la faon dont les autorisations et l'authentification sont faits. La base LDAP doit contenir une entre pour chaque client. Cette entre contient les valeurs de check-items et de reply-items Le serveur Radius demande au serveur LDAP de lui envoyer les check-items puis les reply-items. Le module checkval permet de vrifier si des check-items correspondent des request-items. Par exemple, l'adresse MAC.
144
S.Bordres
Pour mettre en uvre openldap il faut: - l'installer - Configurer le daemon - Crer un base
145
S.Bordres
146
S.Bordres
Il faut inclure dans la base Ldap le schma des attributs radius. Ce schma est fourni par freeradius dans: freeradius-x.xx/doc/RADIUS-LDAPv3.schema
Exemple: attributetype ( 1.3.6.1.4.1.3317.4.3.1.7 NAME 'radiusCallingStationId' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
147
S.Bordres
dictionary_mapping = ${raddbdir}/ldap.attrmap
permet de mettre en rapport les noms d'attributs tels que dfinie dans freeradius et les noms d'attributs dfinis dans le schma LDAP.
148
S.Bordres
149
S.Bordres
151
S.Bordres
uid=00904c871213,ou=machines,dc=demo,dc=fr objectclass: Inetorgperson objectclass: radiusProfile uid: 00904c871213 userPassword: 00904c871213 cn: 00904c871213 sn: 00904c871213 radiusCallingStationId: 00-90-4c-87-12-13 radiustunneltype: VLAN radiustunnelmediumtype: 6 radiustunnelprivategroupid: 12
152
S.Bordres
dn: uid=user1,ou=users,dc=demo,dc=fr objectclass: Inetorgperson objectclass: radiusProfile uid: user1 userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94 cn: user1 sn: user1 radiusCallingStationId :00-90-4c-87-12-13 radiustunneltype: VLAN radiustunnelmediumtype: 6 radiustunnelprivategroupid: 12
153
S.Bordres
154
S.Bordres
dn: uid=user1,ou=users,dc=demo,dc=fr objectclass: Inetorgperson objectclass: radiusProfile uid: user1 userPassword: 0xBFAD8787F5DC64B730028C20A64EBA94 cn: user1 sn: user1 radiusCallingStationId :00904c871213 radiusCallingStationId: 00-0F-1F-16-C9-CE radiustunneltype: VLAN radiustunnelmediumtype: 6 radiustunnelprivategroupid: 15
155
S.Bordres
Documentation
Livre: Radius par Jonathan Hassel (0'Reilly) An analysis of Radius Authentication protocol Installing and operating a Radius server 802.1X : Solution d'authentification scurise pour le futur rseau sans fil de l'Universit Louis Pasteur RFC2865: RADIUS :
http://www.untruth.org/~josh/security/radius/radius-auth.html http://www.keller.com/wifi/CNIT107HW7.html
http://2003.jres.org/actes/paper.143.pdf
http://www.ietf.org/rfc/rfc2868.txt
RFC2868:Radius attribute for tunnel protocol support : http://www.ietf.org/rfc/rfc2865.txt RFC2869:Radius extensions : RFC3579:Radius support for EAP : WPA/WPA2 Freeradius
http://www.ietf.org/rfc/rfc2869.txt http://www.ietf.org/rfc/rfc3579.txt
http://www.ossir.org/sur/supports/2005/ossir_wpa_wpa2.pdf http://www.freeradius.org
156
S.Bordres