Rapport: simulation d'une infrastructure d'authentication 802.1x pour le test du protocole EAP-SIM



Documents pareils
1/ Introduction. 2/ Schéma du réseau

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

Le protocole RADIUS Remote Authentication Dial-In User Service

Le protocole RADIUS. Objectifs. Ethernet Switch RADIUS RADIUS

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

Installation d'un serveur sftp avec connexion par login et clé rsa.

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

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

NAS 109 Utiliser le NAS avec Linux

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

Sécurité des réseaux sans fil

Projet Administration Réseaux

Contrôle de la DreamBox à travers un canal SSH

Atelier Le gestionnaire de fichier

Polux Développement d'une maquette pour implémenter des tests de sécurité

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

1. Présentation de WPA et 802.1X

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

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

OpenMediaVault installation

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Tutoriel compte-rendu Mission 1

AUTHENTIFICATION x FREERADIUS. Objectifs

Réalisation d un portail captif d accès authentifié à Internet

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

Installation du client Cisco VPN 5 (Windows)

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

Accès aux ressources informatiques de l ENSEEIHT à distance

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

DOCKER MEETUP. Christophe Labouisse

Anas Abou El Kalam Sécurité SSH SSH

Mise en place des TPs Réseau en machines virtuelles. Utilisation de VmPlayer

Introduction au Wi-Fi sécurisé

Tutoriel Création d une source Cydia et compilation des packages sous Linux

[Serveur de déploiement FOG]

Installation du client Cisco VPN 5 (Windows)

SAGE Financements Notice de mise à jour via internet

Installation du client Cisco VPN 5 (Windows)

Sécurité des réseaux wi fi

Cisco Certified Network Associate

Protocole de mise en place et d utilisation de FOG-server

INDUSTRIALISATION «802.1X» CONFIG : 802.1X PEAP MSCHAPV2

Configuration Wi-Fi pour l'utilisation d'eduroam

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

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

Les différentes méthodes pour se connecter

NAS 224 Accès distant - Configuration manuelle

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

Projet Semestre2-1SISR

NAS 321 Héberger plusieurs sites web avec un hôte virtuel

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

Figure 1a. Réseau intranet avec pare feu et NAT.

Serveur FTP. 20 décembre. Windows Server 2008R2

Table des matières Hakim Benameurlaine 1

Sauvegardes par Internet avec Rsync

Automatisation de l administration système

But de cette présentation. Serveur DHCP (Application à CentOS) Cas des machines virtuelles. Schéma de principe. Hainaut P

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3)


FORMATION WS0803 CONFIGURATION ET DEPANNAGE DE L'INFRASTRUCTURE RESEAU WINDOWS SERVER 2008

Le logiciel Netkit Installation et utilisation

Configuration réseau Basique

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Documentation technique OpenVPN

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

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

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

pare - feu généralités et iptables

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

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

ETI/Domo. Français. ETI-Domo Config FR

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

Installation de Zabbix

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Galaxy est une plateforme de traitements (bio)informatiques accessible depuis l'url : (en précisant votre login et mot de passe LDAP «genotoul»).

DOCUMENTATION ADMINISTRATEUR

Sauvegarder automatiquement ses documents

Le meilleur de l'open source dans votre cyber cafe

Chapitre IX : Virtualisation

Tutoriel réalisé par luo. Version du 22/02/14

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

Rapport de stage Juillet/Août OUAHAB Karim ENSEEIHT - INPT Karim.Ouahab@etu.enseeiht.fr. Rapport de Stage

Services Réseau SSH. Michaël Hauspie. Licence Professionnelle Réseaux et Télécommunications

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

Configuration d un firewall pour sécuriser un serveur WEB

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

1. Présentation du TP

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

MEMO-LINUX.COM BLOG SUR GNU/LINUX, LE LIBRE ET L'OPEN-SOURCE.

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

Client Kiwi Backup : procédures d'installation et de mise à jour. Gilles Arnoult, Clément Varaldi

Manuel d'installation de Joomla 1.7

Transcription:

Rapport: simulation d'une infrastructure d'authentication 802.1x pour le test du protocole EAP-SIM Sami TABIBEL 28 mars 2013 1

Introduction Ce document à pour objectif de détailler les étapes nécessaires pour la mise en place d'un réseau virtuel d'authentication 802.1x ; Ce réseau nous servira d'infrastructure pour l'expérimentation et le test des protocoles d'authentication 802.1x tel que EAP-PEAP, EAP-MD5, EAP-SIM. Nous nous intéresserons particulièrement à ce dernier, cependant pour un premier temps nous allons illustré le fonctionnement de cette infrastructure par une authentication EAP-PEAP. 1 La structure visée Comme nous l'avons vu dans les chapitres précédents l'authentication 802.1x a un fonctionnement tripartite, dont les acteurs sont le supplicant, l'authenticator (Point d'accès) et le serveur d'authentication (Radius). La gure suivante illustre la structure que nous avons réalisé. Fig. 1 Infrastructure pour l'authentication 802.1x. 2 Pré-requis La structure sus-décrite a été réalisée sous un système GNU/Linux, distribution Fedora 16 ; Nous fournirons également les instructions pour l'installation des pré-requis sous Ubuntu. Pour les diérents chiers de conguration des diérents logiciels que nous allons utiliser dans ce travail, nous noterons seulement les lignes à modier par rapport aux chiers originaux et nous donnerons des liens vers les chiers complets. 2

LXC Container Les sources sont téléchargeables ici. Sous Fedora : $ sudo yum i n s t a l l l x c. i686 Sous Ubuntu : $ sudo apt get i n s t a l l l x c gcc Les sources sont disponibles en ftp à ftp ://gd.tuwien.ac.at/gnu/gcc/ Sous Fedora : $ sudo yum i n s t a l l gcc. i686 Sous Ubuntu : $ sudo apt get i n s t a l l build e s s e n t i a l GNU Make Les sources sont disponibles ici. Sous Fedora : $ sudo yum i n s t a l l make. i686 Sous Ubuntu : il est installé avec le paquet build-essential vue précédemment. SSH Server Ne requière pas de pré-conguration, nous allons donc installer les paquets pré-compilés. Sous Fedora 3

$ sudo yum i n s t a l l openssh s e r v e r. i686 Sous Ubuntu $ sudo apt get i n s t a l l openssh s e r v e r Les chiers de conguration ainsi que les clés RSA pour la connexion client/serveur ssh sont disponible sur le wiki : ssh.tar. Conguration du client et du serveur SSH Extrayez l'archive et placez vous dans le dossier ssh $ t a r xvf ssh. t a r $ cd ssh Éditez le chier cong et remplacez 'user_name' par votre nom d'utilisateur à la ligne : User user_name Placez les chiers de congurations dans les répertoires appropriés $ cp authorized_keys c o n f i g id_eapsim id_eapsim. pub ~/. ssh Éditez le chier /etc/ssh/sshd_cong et veillez à ce que les lignes ci-dessous soient présentes et que 'user_name soit remplacé par votre nom d'utilisateur HostKey /home/ user_name /. s s h / id_eapsim HostKey /home/ user_name /. s s h / id_eapsim AuthorizedKeysFile /home/user_name /. ssh / authorized_keys 4

3 Installation Cette section à pour objectif de congurer chacun des trois acteurs de notre structure à rappeler : le supplicant, l'authenticator et le serveur d'authentication. 3.1 Le supplicant Il s'agit de la machine réelle aussi appelée hôte. C'est sur cette partie de l'infrastructure que va s'exécuter le logiciel à réaliser (EAP-SIM supplicant) ; Pour des besoins d'expérimentation nous allons installer et congurer le supplicant wpa_supplicant. Téléchargement Les sources sont disponibles ici. Conguration Extrayez l'archive contenant les sources et créez le chier de conguration de l'installation $ sudo t a r xvfz wpa\ _supplicant x. y. t a r. gz $ cd wpa\ _ supplicant x. y $ cp d e f c o n f i g. c o n f i g Maintenant éditez le chier.cong avec votre éditeur de texte préféré et veillez à ce que les lignes suivantes soient présentes et actives 1 CONFIG_DRIVER_WIRED=y CONFIG_IEEE8021X_EAPOL=y CONFIG_EAP_MD5=y CONFIG_EAP_MSCHAPV2=y CONFIG_EAP_PEAP=y CONFIG_EAP_SIM=y CONFIG_USIM_SIMULATOR=y CONFIG_SIM_SIMULATOR=y Un chier complet est disponible sur le wiki du projet à cette adresse. 1 : Pour activer une ligne, supprimez le '#' au début de cette dernière, s'il est présent. 5

Installation $ make $ sudo cp wpa_cli wpa_supplicant / usr / l o c a l / bin eapol_test C'est un outil en ligne de commande que nous avons découvert en posant une question dans le mailing-list de Freeradius ; Il s'agit d'un outil de test de serveurs radius. eapol_test est fournit avec wpa_supplicant cependant il n'est pas constructible par défaut. Pour construire eapol_test éditez à nouveau le chier.cong et remplacez la ligne : # CONFIG_EAPOL_TEST=y par : CONFIG_EAPOL_TEST=y Ensuite, construisez la cible eapol_test : $ make eapol_test $ cp eapol_test / usr / l o c a l / bin 3.2 L'authenticator ou le point d'accès Il s'agit du commutateur ou du point d'accès a travers lequel notre supplicant va se connecter au réseau. Pour simuler un point d'accès nous allons utiliser un container LXC que nous appellerons 'authenticator' ; An que notre container puisse se comporter comme un point d'accès nous allons l'équiper d'un logiciel spécique appelé "Hostapd". Hostapd Est un démon qui s'exécute sur un point d'accès et qui implémente la norme IEEE 802.11, ce logiciel gère aussi la norme 802.1x avec une connexion laire réelle ou virtuelle comme nous l'avait armé l'auteur du wpa_supplicant 6

et du hostapd Jouni Malinen dans cette réponse à une question que nous avons posé dans le mailing-list du hostapd. Téléchargement Téléchargez l'archive contenant les sources. Conguration Décompressez l'archive et éditez le chier de conguration $ t a r xvfz hostapd x. y. t a r. gz $ cd hostapd x. y $ cd hostapd $ cp d e f c o n f i g. c o n f i g Éditez le chier.cong et veillez à ce que les lignes suivantes soient actives CONFIG_DRIVER_WIRED=y CONFIG_DRIVER_NONE=y CONFIG_EAP_SIM=y CONFIG_DRIVER_HOSTAP=y Installation $ make $ cp hostapd hostapd_cli / usr / l o c a l / bin Le chier de conguration complet est disponible sur le wiki à ce lien. 3.3 Freeradius Installation Sous Fedora $ sudo yum i n s t a l l f r e e r a d i u s. i686 Sous Ubuntu 7

$ sudo apt get i n s t a l l f r e e r a d i u s Conguration Les chiers de conguration se trouvent ici. À Extraire et à copier dans le répertoire /etc/raddb sous Fedora. $ t a r xvfz raddb. t a r. gz $ cd raddb $ sudo cp R / e t c /raddb Un tutoriel sur l'installation et la conguration de freeradius est disponible à cette adresse. 4 Mise en place du réseau virtuel Rappel sur la conguration réseau Fig. 2 Infrastructure pour l'authentication 802.1x. 8

Création du point d'accès Le chier network-cong # a c t i v a t i o n du f o r w a r d i n g sudo s y s c t l w net. ipv4. ip_forward=1 # c r e a t i o n e t a c t i v a t i o n du b r i d g e r e l i a n t l ' a u t h e n t i c a t o r # au s u p p l i c a n t, i l s ' a g i t du l i e n EAP Over Lan sudo b r c t l addbr eapolan sudo b r c t l s e t f d eapolan 0 sudo ip l i n k s e t eapolan up Le chier routing-cong # on f i x e l ' a d r e s s e de l ' i n t e r f a c e de l ' a u t h e n t i f i c a t e u r # v e r s l e s u p p l i c a n t sudo ip addr add 1 0. 0. 0. 1 / 2 4 dev eapolan Le chier de conguration du point d'accès nas.cfg l x c. utsname = a u t h e n t i c a t o r # network between s u p p l i c a n t and a u t h e n t i c a t o r l x c. network. type = veth l x c. network. veth. p a i r = veth_supp l x c. network. f l a g s = up l x c. network. l i n k = eapolan l x c. network. name = eth0 l x c. network. hwaddr = aa : 0 0 : bb : 0 0 : cc : 1 1 l x c. network. ipv4 = 1 0. 0. 0. 2 / 2 4 Le chier startnas sudo lxc execute n Nas f nas. c f g bash Le chier allcong.nas source source source network c o n f i g routing c o n f i g s t a r t n a s 9

Donner le droit d'exécution au chier allcong.nas $ chmod u+x a l l c o n f i g. nas Création du serveur radius Le chier nas-network-cong # a c t i v a t i o n du f o r w a r d i n g sudo s y s c t l w net. ipv4. ip_forward=1 # c r e a t i o n e t a c t i v a t i o n du b r i d g e r e l i a n t l ' a u t h e n t i c a t o r # au s e r v e u r radius, i l s ' a g i t du l i e n EAP Over Radius sudo b r c t l addbr eaporad sudo b r c t l s e t f d eaporad 0 sudo ip l i n k s e t eaporad up Le chier nas-routing-cong # on f i x e l ' a d r e s s e de l ' i n t e r f a c e de l ' a u t h e n t i f i c a t e u r # v e r s l e s e r v e u r r a d i u s sudo ip addr add 2 0 0. 0. 0. 1 / 2 4 dev eaporad Le chier de conguration du serveur radius nas.cfg l x c. utsname = r a d i u s l x c. network. type = veth l x c. network. veth. p a i r = veth_radius l x c. network. f l a g s = up l x c. network. l i n k = eaporad l x c. network. name = eth0 l x c. network. hwaddr = aa : 0 0 : ba : f e : 0 a : be l x c. network. ipv4 = 2 0 0. 0. 0. 1 0 0 / 2 4 Le chier startradius sudo lxc execute n Rads f r a d i u s. c f g bash 10

Le chier allcong.rad source source source nas network c o n f i g nas routing c o n f i g s t a r t r a d i u s Rendre le chier allcong.rad exécutable $ chmod u+x a l l c o n f i g. rad L'ensemble des chiers de conguration du réseau virtuel est disponible sur le wiki dans l'archive lxc-cong.tar 5 Illustration : réalisation d'une authentication EAP- PEAP d'illustration Depuis un terminal lancez l'authenticator $. / a l l c o n f i g. nas dans le même terminal (authenticator) lancer le serveur SSH $ / usr / sbin / sshd Depuis un autre terminal connectez vous à l'authenticator via ssh et lancez le container du serveur $ ssh h l o c a l $. / a l l c o n f i g. rad Maintenant on a un terminal représentant l'authenticator, un deuxième représentant le serveur radius et le supplicant sera notre machine hôte. 11

Fig. 3 création du serveur et du point d'accès. Depuis l'authenticator lancez hostapd avec le chier de conguration hostapd.conf $ sudo hostapd dd hostapd. c o n f Depuis le serveur lancer freeradius $ sudo radiusd X Le serveur Freeradius et le point d'accès sont en attente de nouvelles connexions. 12

Fig. 4 création du serveur et du point d'accès. Depuis la machine hôte ouvrez un terminal et lancez une demande d'authentication avec wpa_supplicant et le chiers de conguration wpa.confv1.1 : c t r l _ i n t e r f a c e =/var /run/ wpa_supplicant ap_scan=0 fast_reauth=1 network={ s s i d=" t e s t " scan_ssid=0 key_mgmt=ieee8021x eap=peap phase2=" auth=mschapv2" i d e n t i t y="sami" password=" samipass " Demande d'authentication wpa_supplicant i e apol an c wpa. conf v1. 1 Dwired 13

Fig. 5 Authentication auprès du serveur freeradius via l'authenticator avec wpa_supplicant. Et si on regarde du coté serveur et point d'accès... 14

Fig. 6 Messages du serveur et du point d'accès en réponse à une demande d'authentication depuis wpa_supplicant. 6 Sning et capture wireshark Nous avons lancer en même temps que l'exécution de la demande d'authentication avec wpa_supplicant une capture wireshark sur l'interface eapolan avec comme ltre l'expréssion 'eapol' 15

Fig. 7 Capture des paquets d'une authentication EAP-PEAP. 16

Le chier contenant les paquets de cette capture est disponible ici : capture01.pcap 7 Interaction avec scapy Nous allons lancer l'authenticator dans l'écran de droite et scapy dans l'écran de gauche et envoyer depuis scapy un paquet EAPOL/Start pour ensuite observer la réaction de l'authenticator : Fig. 8 État du point d'accès avant la demande d'authentication. On envoie le paquet EAPOL/Start 17

Fig. 9 État du point d'accès après la demande d'authentication. 18

Conclusion Nous avons vu comment cette structure permet-elle à un supplicant de s'authentier auprès d'un serveur freeradius en passant par un point d'accès qui gère l'authentication 802.1x. Il nous reste à exploiter cette structure pour faire de l'authentication EAP-SIM puis d'écrire un supplicant en python qui réalise ce type d'authentication. 19