version PDF - Flash informatique
Transcription
version PDF - Flash informatique
Contrôle d’accès Daniel.Grandjean@epfl.ch, Domaine IT L’ accès fiable et efficace aux réseaux IP est devenu indispensable pour la recherche, l’éducation et la production. L’usage de cette précieuse ressource est souvent considéré comme étant un accessoire (ou attribut) de l’outil informatique alors qu’elle en est le noyau. Repères historiques 1994-2003: PPP (Point to Point Protocol) (des dizaines de RFC!) 1997-2000: RADIUS (Remote Authentication Dial In User Service) (RFC 2058 remplacé par 2138, puis 2865) 1998-2004: EAP (Extensible Authentication Protocol) (RFC 2284 remplacé par 3748) 1999-2003: TLS (Transport Layer Security protocol) (RFC 2246 et étendu par 3646) 2001: IEEE 802.1X 2003: WPA Wi-Fi Protected Access 2004: IEEE 802.11i Un objet raccordé de manière permanente au réseau, hérite de ce fait une connexion réseau avec les privilèges (ou les contraintes) alloués à cette machine. Dans ce cas de figure, l’accès au réseau se résume alors à l’accès physique à la machine, ou du moins à son raccordement physique. Il faut toucher pour être raccordé. Le système d’exploitation de la machine peut encore présenter une ligne de défense ténue: l’utilisateur en quête de connectivité devra ouvrir une session. C’est-à-dire se faire authentifier par le système. Le système autorise ensuite l’usager à faire ce qu’il est en droit d’accomplir. Dans le cas de systèmes multi-utilisateurs, l’accès au réseau est partagé par tous les utilisateurs hébergés simultanément par la machine. Les communications ne sont généralement pas ventilées par utilisateur, ce service n’étant pas inclus dans la majorité des systèmes d’exploitation. La totalité du trafic est donc imputée à la machine. Si cette vision du monde prévaut encore dans de nombreux cas, la multiplication des objets dépendants de la présence d’une connexion réseau introduit de nouveaux modèles: ❚ les objets sont portables ou transportables, ils peuvent sauter d’une prise murale à l’autre, mais toujours dans les limites du campus. Des indélicats peuvent être tentés de se substituer à des équipements fixes. Exemple: notebook mobile, imprimante fixe. ❚ les réseaux utilisent les technologies sans fil (radio). Les objets ne sont plus trivialement localisables. L’accès physique au réseau n’est plus nécessaire. Le trafic est facilement observable par la brute, le bon et le méchant. Exemple: notebook avec carte WIFI, PDA, téléphone ❚ les utilisateurs ont plusieurs objets, ils peuvent être personnels ou de fonction. Exemple: un PDA privé et un téléphone de service. ❚ les utilisateurs appartiennent à des entités administratives disparates. Exemple: étudiants, collaborateurs, consultants, visiteurs,... Pour allouer au nomade (par l’intermédiaire de l’objet qu’il utilise) les services réseau qu’il est en droit d’obtenir, l’infrastructure doit être pourvue de certaines fonctionnalités nouvelles: ❚ un moyen d’authentifier un utilisateur ou une machine; ❚ être à même de concrétiser les décisions prises comme suite à l’authentification, c’est-à-dire les résultats de l’autorisation; ❚ et le cas échéant de protéger la confidentialité du trafic. En fin de compte si les outils sont nouveaux, les tâches ont un air de déjà vu: rappelez-vous votre bonne vieille connexion modem sur votre ligne téléphonique. Vous vous connectez. Vous montrez patte blanche et vous êtes sur l’Internet. Votre opérateur vient de vous authentifier et de vous fournir une prestation correspondante à votre plan tarifaire. Le tout étant bien sûr comptabilisé. Concrètement, vous avez établi une communication point à point entre votre ordinateur et un port dans le central téléphonique avec le protocole PPP. Vous avez été authentifié par le serveur RADIUS de votre fournisseur d’accès Internet [ISP](Internet Service Provider). Le succès de PPP dans les environnements les plus variés a mis en évidence qu’il était difficile de lui adjoindre de nouvelles méthodes d’authentification. Il en découla la création d’un système d’authentification modulaire reposant sur un socle unique: le protocole EAP. Un a s s e m b l a g e d e s p r o t o c o l e s P P P, E A P, IEEE802{.3 .5 .11} et subsidiairement de RADIUS est connu comme la norme IEEE802.1X. 802.1X définit un mécanisme relais d’authentification au niveau de la couche 2 du modèle ISO 2 (fig. 1) pour les réseaux physiques de type IEEE802 {Ethernet, Token Ring, r a d i o } e t P P P. Le mécanisme d’authentification 802.1X intervient avant d’éventuels mécanismes d’auto configuration tels fig. 1 – les sept couches ISO que DHCP (Dynafi 2 – 1er mars 2005 – page 3 Contrôle d’accès mic Host Configuration Protocol) ou PXE (Pre-Boot Execution Environment). 802.1X ❚ permet le contrôle d’accès aux ressources même si l’accès physique au réseau est incontrôlable; ❚ organise, le cas échéant, la distribution de clefs cryptographiques aux clients sans fil. ❚ est conçu pour être utilisé partout où l’on peut appliquer le concept de point d’accès (port ou interface pour les anglophones). 802.1X introduit le concept de port contrôlé (PAE pour Port Access Entity). fig.2 – port PAE Les acteurs principaux du protocole Trois entités interagissent et sont nécessaires à une authentification 802.1X: L’authentificateur ou l’authenticator. Il gère l’état du port contrôlé. Il a la responsabilité d’exiger une authentification de la part du système à authentifier. Un authentificateur est typiquement le port physique ou logique d’un commutateur ou switch réseau. Dans une infrastructure sans fil, l’authentificateur peut être une borne radio ou Access Point [AP]. L’authentificateur relaie les informations d’authentification vers le serveur d’authentification. L’authentifié, le client, nommé supplicant dans la littérature 802.1X ou peer dans la terminologie EAP. Le supplicant a la tâche de présenter les informations d’autorisation à la demande de l’authentificateur. Dans certaines configurations, le supplicant peut agir spontanément. Concrètement, l’adaptateur Ethernet d’un notebook est un supplicant s’il est pourvu d’un client logiciel conforme à la norme 802.1X. Par extension, ce logiciel est souvent nommé supplicant. Un composant de l’infrastructure réseau peut aussi jouer le rôle de supplicant. Tel un port de switch raccordé à un autre switch. Un Access Point utilisé comme passerelle ou bridge radio. Le serveur d’authentification ou authentication server procure un service d’authentification à l’authentificateur. Ce service détermine, à partir des éléments (essentiellement l’identité) de la requête du demandeur, les services qui lui sont accessibles. Ce serveur peut être sur la machine qui sert d’authentificateur ou accessible à ce dernier via le réseau. Concrètement un serveur RADIUS doté des extensions EAP remplit ce rôle. Il assortit son message d’acceptation de paramètres de configuration du port à l’usage de l’authentificateur. fi 2 – 1er mars 2005 – page 4 fig. 3 – acteurs principaux Fonctionnement général du protocole L’état du port de l’authentificateur détermine si le supplicant est autorisé à accéder le réseau. L’état initial d’un port est non contrôlé ou non autorisé. C’est-à-dire que le port est imperméable à tout le trafic qui n’appartient pas à 802.1X. Le port passe dans l’état autorisé ou contrôlé dès que le supplicant est positivement authentifié. Tout le trafic du client circule alors librement au travers du port. Le trafic reste bien sûr subordonné à la présence de la connectivité au niveau physique ou à l’établissement du link. Les ports des équipements doivent être en mode actif ou up. Les échanges EAP reposent sur seulement quatre messages: ❚ EAP-Request ❚ EAP-Success ❚ EAP-Response ❚ EAP-Failure Le cœur de 802.1X est la définition de l’encapsulation des paquets EAP pour les réseaux IEEE802. Les trames EAP over LAN [EAPoL] sont pour les réseaux filaires, les trames EAP over WLAN [EAPoW] pour les réseaux Wi-FI. Quatre messages, non indispensables, sont ajoutés: ❚ EAPoL/EAPoW-Start ❚ EAPoL/EAPoW-Logoff ❚ EAPoL/EAPoW-Key ❚ EAPoL/EAPoW-Encapsulated-ASF-Alert L’échange 802.1X peut se résumer à ce dialogue au niveau de la couche ISO 2 Contrôle d’accès Le supplicant utilise le EAPol/EAPoW-Start pour tester la présence d’un Authenticateur. Mais l’authenticateur peut devancer le supplicant en émettant un EAP-Request dès la détection d’une connexion. Le supplicant n’est pas forcé de demander sa déconnexion par un EAPoL/EAPoW-Logoff. Il peut filer à l’anglaise. La perte du link provoque le retour du port dans l’état non autorisé. Le client doit se re-authentifier s’il est physiquement débranché ou s’il perd son association avec la borne radio. Une authentification 802.1X EAP est le socle de base. De nombreuses autres méthodes d’authentification peuvent venir se greffer par-dessus. Les plus répandues sont EAP-MD5, LEAP, EAP-TLS, EAPTTLS, PEAP. La grande majorité des supplicants disponibles aujourd’hui suppportent la méthode PEAP/MS-CHAP-V2. Cette méthode illustre bien comment les différents protocoles sont imbriqués à la manière de poupées russes. Passons succintement en revue une authentification PEAP/MS-CHAP-V2 sur un réseau filaire: ❚ le link est up. L’authentificateur émet une EAP-Request: identity. ❚ le supplicant émet une EAP-Response où il donne son identité et exprime le souhait d’utiliser PEAP. Cette identité est l’outer identity et est visible d’un observateur extérieur. L’authentificateur relaie l’EAP-Response au serveur RADIUS mais cette fois emballée dans une trame RADIUS-Access-request. ❚ la réponse du serveur RADIUS est un RADIUS-Access-Challenge emballant une EAP-Request:start PEAP. L’authentificateur passe l’EAP-Request:start PEAP au supplicant. ❚ le supplicant et le serveur RADIUS échangent une série de messages EAP-PEAP. Le but de cet échange est d’établir un tunnel TLS. Dans cette opération le certificat du serveur RADIUS est vérifié. Le client a donc la certitude qu’il s’adresse à un serveur de confiance. Ils négocient également l’établissement d’un canal chiffré entre eux. Ce canal est similaire à celui entre un navigateur Web et un site bancaire. Le canal TLS établi est utilisé pour mener à bien une authentification EAP-MS-CHAP-V2. L’authentificateur se contente de transformer les trames EAP-Response du supplicant en trame RADIUS-Access-Request et les trames RADIUS-Access-Challenge en trames EAP-Request. Comme tous les observateurs potentiels de ce trafic réseau, il n’est pas capable d’en décrypter le contenu. Tout ce qui suit à lieu sur le canal sécurisé et entre la supplicant et le serveur RADIUS: ❚ le serveur RADIUS émet une EAP-Request:identity. ❚ le supplicant émet une EAP-Response avec son identité. Cette identité est l’inner identity et est invisible d’un observateur. ❚ RADIUS émet une EAP-Request:EAP-MS-CHAP-V2 Challenge et lance un défi au client. ❚ le supplicant relève le défi du serveur RADIUS et en profite pour le défier à son tour dans un EAP-Response: EAP-MS-CHAP-V2 Response. ❚ RADIUS émet un EAP-Request:EAP-MS-CHAP-V2 Success qui informe le client que le défi est relevé et il relève celui du client. ❚ le supplicant répond avec un EAP-Response:EAP-MSCHAP-V2 Ack si le serveur RADIUS a relevé son défi. A ce moment, il est établi que le client et le serveur connaissent le même mot de passe pour une identité donnée. Le client a la certitude qu’il n’a pas conversé avec un imposteur. ❚ Toujours dans le tunnel, RADIUS émet un EAP-Success. Mais comme l’emballage extérieur est un RADIUS-Access-Accept, l’authentificateur sait qu’il est temps d’ouvrir le port contrôlé. Le client a accès au réseau. Le cas échéant, c’est ici que prend place la phase de configuration de la connexion IP: DHCP acquisition d’une adresse, PXE boot réseau... fig. 5 – Exemple d’une configuration Ethernet Rapide à configurer pour l’utilisateur final, EAP/MSCHAP-V2 est aussi bien adapté au contrôle d’accès sur un port Ethernet que pour les réseaux Wi-Fi. Toutefois, la mise en œuvre d’une grande infrastructure sans fil offrant un bon confort en déplacement sur un campus et un nomadisme extra-muros requiert un soin tout particulier dans le choix et l’assemblage des composants. Dans un prochain article, nous aurons l’occasion d’aborder plus en détail les solutions techniques mises en œuvre dans les réseaux radio utilisant le protocole 802.1X. Mais sans attendre, il est déjà possible de pratiquer le contrôle d’accès par 802.1X à l’EPFL. Les utilisateurs du réseau radio de l’école qui souhaitent s’affranchir du client VPN peuvent visiter l’URL http://network.epfl.ch/ara. Ils y trouveront les informations sur le déploiement du Wi-Fi Protected Access [WPA] sur notre campus. Les amateurs de 802.1X câblés sont bien sûr aussi cordialement invités à se rendre sur cette page! ■ fig. 4 – imbrication des protocoles fi 2 – 1er mars 2005 – page 5