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