Académique Documents
Professionnel Documents
Culture Documents
Pierre LEONARD
Mobilit et Scurit sur le rseau Raumur, mise en place de solutions DHCP et VPN
Rapport de stage de licence R&T Universit Bordeaux 1 Service Raumur 351 crs de la Libration 33400 Talence
Pierre LEONARD
Remerciements
Je tiens tout d'abord remercier mon tuteur de stage Laurent FACQ, pour son aide et ses conseils enrichissants qui m'ont permis d'avancer intelligemment dans ma rflexion et mon travail. Son savoir aura t une mine de renseignements pendant les 3 mois qu'aura dur ce stage. Je tiens aussi remercier l'ensemble du personnel Raumur 1 pour m'avoir accueilli en son sein et m'avoir permis d'effectuer ce stage dans les meilleures conditions qui soient. Les diffrents contacts humain et professionnel auront t trs fructueux pour moi.
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mobilit et Scurit
Pierre LEONARD
Protocole IKE ................................................................................................... 35 VRF (Virtual Routing and Forwarding) ........................................................... 36 Authentification du client VPN pour ltablissement du tunnel....................... 37 Authentification de lutilisateur........................................................................ 39 Protocole RADIUS ........................................................................................... 40
Conclusions ..................................................................................................................... 43 5.1 Conclusion gnrale ................................................................................................... 43 5.1.1 DHCP................................................................................................................ 43 5.1.2 VPNs................................................................................................................. 43 5.2 Conclusion personnelle .............................................................................................. 44
Annexes
1 Solution DHCP ............................................................................................................... 46 1.1 Script Perl................................................................................................................... 46 1.2 Exemple de fichiers de configuration ........................................................................ 48 1.2.1 Fichier utilisateur .............................................................................................. 48 1.2.2 Fichier de dfinitions des classes...................................................................... 48 1.2.3 Fichiers de dfinitions des pools....................................................................... 49 1.2.4 Fichiers de configuration des switchs............................................................... 49 1.2.5 Fichier de configuration dhcp ........................................................................... 50 Solutions VPN................................................................................................................. 51 2.1 Openvpn ..................................................................................................................... 51 2.1.1 Fichier de configuration dOpenssl .................................................................. 51 2.1.2 Fichiers de configuration dOpenvpn ............................................................... 53 2.2 IOS Cisco ................................................................................................................... 57 2.2.1 Configuration du routeur Cisco 2851 ............................................................... 57 2.2.2 Configuration du serveur RADIUS (Freeradius).............................................. 60
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Figure 1-1 : Topologie du rseau Rnater Le service Raumur est n d'un besoin de crer un service rgional d'interconnexion des diffrents organismes universitaires Aquitains.
1.2 Missions
Le service Raumur est un service inter-universitaire qui a t cr afin de prendre en charge le rseau informatique de campus haut dbit. Une de ses missions pour les partenaires du campus Talence, Pessac, Gradignan est dassurer la maintenance et le dveloppement de moyens et de services rseaux communs dans le cadre des enseignements universitaires et de la recherche. Raumur fixe notamment les conditions scuritaires dutilisation, en accord avec les partenaires. Le service de base ralis par Raumur consiste mutualiser les services de connexion Rnater. Raumur a galement une mission au niveau rgional, puisquil est gestionnaire de la plaque rseau rgionale ESRA pour les tablissements dEnseignement Suprieur et de Recherche en Aquitaine. Cette mission concerne les partenaires dj cits auxquels sajoutent le Rectorat de Bordeaux, le CEMAGREF, lEAPBx, lENITA de Bordeaux, lINRA Aquitaine, lIUFM dAquitaine, lUniversit de Pau et des Pays de lAdour, et enfin lEcole de Management de Bordeaux.
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
1.3 Personnel
Le service Raumur est compos de 8 personnes + 2 stagiaires actuellement:
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
2.2 Contexte
Le campus possde des studios mis la disposition enseignants/chercheurs trangers de passage, et quips de prises Ethernet pour la connexion au Rseau du campus. Dans la configuration actuelle de cette partie du rseau, les utilisateurs de ces chambres ont la possibilit de se connecter l'Internet l'aide d'une configuration IP fixe affiche sur la porte du studio. Chaque prise est ensuite filtre par des ACLs 6 configurs sur les quipements en charge de la connexion de ces studios sur le rseau universitaire. Cette mthode permet de pouvoir tracer un utilisateur puisqu une IP correspond un studio et, un studio et une date correspond un locataire.
3 4
Dynamic Host Configuration Protocol Virtual Private Network 5 Media Access Control 6 Access Control List
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mais cette gestion de l'adressage pose plusieurs problmes puisque les utilisateurs novices en matire de rseau informatique, et principalement en ce qui concerne leur configuration, se trouvent confront une situation dans laquelle ils doivent eux mme configurer leur machine pour accder au rseau : Mauvaise connaissance des rseaux informatiques Mconnaissance des zones de configuration de leur machine Mauvaise lecture de l'adressage impos dans le studio o ils se trouvent Mauvaise configuration de la machine Surcharge de travail pour le personnel du Raumur Rsultat => Peu pratique et gourmand en assistance La solution envisage est donc d'installer un serveur DHCP qui assignera automatiquement la bonne IP chacun des utilisateurs de ces studios, un peu comme un FAI 7 le ferait. La configuration en IP fixe en fonction de l'adresse MAC de la machine nest pas envisageable dans l'tat actuel des choses puisque la proprit principale d'une adresse MAC est justement son unicit or le locataire peut changer tous moment. Une des configurations possibles consiste utiliser l'option 82 du serveur DHCP, il s'agit du "Relay Information Option", en d'autres termes le champ option de la requte DHCP va tre complt par l'agent de relais (routeur ou switch); cette option permettra ensuite de retracer la provenance d'une requte DHCP. Il existe galement un projet daccs distants mettant en uvre des VPN et permettant une fois lauthentification effectue, de placer lutilisateur dans son rseau de travail dorigine puisque chaque service ou site correspond un VLAN sur le rseau Raumur. Il existe pour cela deux solutions diffrentes tudier: Openvpn : ce logiciel provenant du monde libre s'installe sur un systme d'exploitation de type Unix et fonctionne sur un modle client/serveur. Il permet d'assurer la communication chiffre, grce au protocole SSL/TLS, et authentifie l'aide de certificats et/ou d'un systme de cls partages. Utiliser un routeur en tant que concentrateur VPN; il faut pour cela mettre jour lIOS8 du routeur en charge de concentrer les VPN, voir mme lui ajouter un module dacclration de cryptologie, dans le but de pouvoir crer simultanment un grand nombre de tunnels chiffrs tablis laide du protocole IPSec assurant la confidentialit des changes.
7 8
Mobilit et Scurit
Service RAUMUR
10
Pierre LEONARD
3 Solution DHCP
3.1 Prsentation du protocole
3.1.1 Introduction
Le protocole DHCP est un protocole de configuration dynamique sur un rseau via le protocole UDP 9. Il permet entre autre d'assigner une adresse IP aux diffrentes machines, mais aussi de leur fournir les informations ncessaires au bon fonctionnement du rseau (passerelle, serveurs DNS, domaine) et tout a dynamiquement sans que l'utilisateur n'est rien d'autre faire que de se relier physiquement au rseau et dactiver loption DHCP. Il s'agit d'un protocole client/serveur dfini par les RFCs 10 2131 et 2132 et bas sur le protocole BOOTP 11, apportant celui-ci de nouvelles fonctionnalits comme lallocation dynamique dadresses IP : il nest plus utile de renseigner manuellement une table de correspondance adresse MAC / adresse IP. Une adresse IP peut tre attribue partir dun ou plusieurs pools dadresses IP disponibles. En effet, le DHCP permet ladministrateur du rseau de crer un ensemble dadresses pouvant tre attribues aux clients. De cette faon, il peut dterminer des intervalles dadresses IP. Il peut donc dcider de donner un intervalle pour un segment et un autre intervalle pour un deuxime segment. De cette faon, la gestion du rseau est simplifie. Le protocole BOOTP ne permet pas cette possibilit. Pour des raisons doptimisation des ressources rseau, DHCP permet lallocation dune adresse IP pour une certaine priode de temps cest ce quon appel un bail (lease en anglais), les adresses IP sont dlivres avec une dure de validit. Cette caractristique du DHCP lui permet de garder en mmoire, pour une certaine priode de temps, les adresses IP quil assigne aux clients, ainsi que les informations de lordinateur en question, cela entrane donc moins de transferts lors dune connexion. La priode de temps est dfinie par ladministrateur du rseau. Le protocole BOOTP, quant lui, na pas cette fonction; les postes clients utiliseront donc leur adresse IP et les informations reus sur la configuration jusqu ce quil soit redmarr. Le protocole DHCP est surtout considr comme un remplacent du BOOTP. La plupart des implmentations TCP/IP 12 moderne offre aux clients le protocole DHCP laide dun serveur DHCP. Le serveur DHCP utilise 2 ports : Port serveur : 67 Port client : 68 C'est--dire, par exemple, que les requtes vont du port UDP 68 du client vers le port UDP 67 du serveur.
User Datagram Protocol Request For Comment 11 Bootpstrap Protocol 12 Transmission Control Protocol / Internet Protocol
10
Mobilit et Scurit
Service RAUMUR
11
Pierre LEONARD
Temps coul depuis le dbut de la transaction : Flag de broadcast : flag (2) secs (2) Adresse IP du client renseigne uniquement en cas de statut Bound, Renew, Rebinding : ciaddr (4) Adresse IP du client renvoye par le serveur DHCP : yiaddr (4) Adresse IP du serveur utiliser dans la prochaine tape du processus Bootp : siaddr (4)
* Les paramtres entre parenthses indiquent la taille du champ en octets. Quelques prcisions sur certains champs : op : est le type de message, si op vaut 1 le message est un DHCPRequest (trame DHCP mise par le client destination du serveur) si op vaut 2 cest un DHCPReply (trame DHCP mise par le serveur destination du client). htype : dfini le type de ladresse MAC (ex : 1=Ethernet 10Mb/s). xid : est lidentifiant de la transaction. Utilis pour associer les requtes dun client et les rponses dun serveur une mme transaction DHCP, il est choisi par le client DHCP et doit tre unique sur le rseau local. flags : Le bit positionn le plus gauche de ce champ est appel le "Flag de Broadcast". Certains clients DHCP ne sont pas capables de recevoir des datagrammes unicast avant que leur pile TC/IP ne soit configure. Dans ce cas, le client DHCP positionne 1 le "Flag de Broadcast" (le bit le plus gauche du champ flags) sur toute trame DHCP quil met. Un serveur DHCP recevant une telle trame rpond alors systmatiquement par broadcast. Si le "Flag de Broadcast" nest pas positionn, les rponses des serveurs peuvent tre mises sous forme dunicast, ladresse MAC destinatrice tant celle du champ chaddr lu dans la trame cliente et ladresse IP destinatrice tant celle offerte par le serveur. siaddr : Adresse IP du serveur utiliser dans la prochaine tape du processus Bootp. Ce champ est renseign dans les messages DHCP Offer et DHCP Ack.
Mobilit et Scurit
Service RAUMUR
12
Pierre LEONARD
3.2.2 Explication
Client 1 DHCPDISCOVER Le client recherche les serveurs DHCP disponibles Serveur
2 DHCPOFFER Le serveur dit qu'il est prt attribuer une adresse IP 3 DHCPREQUEST Le client demande l'attribution de l'adresse IP 4 DHCPACK Le serveur DHCP confirme l'attribution de l'adresse IP et envoies des informations de configuration rseau diverses (DNS, passerelle, etc...) ... DHCPREQUEST Demande de renouvellement du bail DHCPACK Le serveur attribue le bail au client ... DHCPRELEASE Le client n'a plus besoin d'accder au rseau, il libre son adresse IP Le serveur met fin au bail et libre l'adresse IP, cette dernire devient donc rutilisable
Mobilit et Scurit
Service RAUMUR
13
Pierre LEONARD
13
Mobilit et Scurit
Service RAUMUR
14
Pierre LEONARD
i1
i2
iN
Cette option est divise en deux sous options : Agent Circuit ID : cette sous option contient le vlan, le module et le port de linterface sur laquelle la trame dhcp arrive et porte le code option 1. Suboption type (1) 01 Length (1) 06 Circuit ID type (1) 00 Length (1) 04 Vlan (2) XXXX Module (1) YY Port (1) ZZ
Figure 3-2 : Maquette DHCP * Les configurations et informations indiques sur le schma sont les vritables donnes utilises pour les tests. Remarque : Pour les besoins de la maquette il a t ncessaire de crer des sous interfaces virtuelles sur linterface physique du serveur DHCP dans le but de communiquer avec les vlans configurs sur le switch. Cette manipulation a t effectu laide de loutil vconfig sous Debian.
Mobilit et Scurit
Service RAUMUR
15
Pierre LEONARD
Il est aussi possible dassigner une adresse IP fixe en fonction de ladresse MAC de la machine avec la syntaxe :
host toto { hardware ethernet aa:bb:cc:dd:ee:ff ; fixed-address 192.168.0.10; }
Pour ce genre de configuration on appellera cela du dhcp simple par opposition au dhcp volu que nous allons voir maintenant.
14
Mobilit et Scurit
Service RAUMUR
16
Pierre LEONARD
Remarque : Les mthodes substring ( ) et suffix ( ) permettent de dcouper les champs des sous options circuit-id et remote-id de loption agent. Il existe aussi une directive "include" propre au fichier dhcpd.conf permettant dinclure des fichiers indpendant, le but ici tant de gnrer ces fichiers via le script PERL et de les inclure ensuite. C'est--dire que lutilisateur contrle le fichier dhcpd.conf puis peut y inclure des fichiers de configuration supplmentaire limitant ainsi les conflits. Cela permet un travail moins fastidieux et plus souple dans la mesure o si le nombre de configurations similaires est important il y a de grands risques de faire des erreurs de syntaxes.
Mobilit et Scurit
Service RAUMUR
17
Pierre LEONARD
directive SWITCH : elle permet de renseigner le nom, l'adresse mac et ventuellement le type du switch sur lequel sera branch l'utilisateur final filtrer SWITCH <nom du switch> <@mac> [<type du switch>] Remarque: Par dfaut le type du switch est cisco . directive VLAN : comme son nom l'indique on y spcifie le numro de vlan de l'utilisateur filtrer VLAN <numro de vlan> directive PORT : cette directive est la plus complte de toute puisqu'on spcifie ici le module et le port du switch sur lequel est branch l'utilisateur filtrer ainsi que l'adresse ip que l'on veut lui attribuer PORT <numro de module> <numro de port> <@ip attribuer> [<commentaire>] Une fois excut, il aura gnr plusieurs fichiers de configuration :
autant de fichiers de dfinition de pool que de sous rseaux dclars. Les noms de ces fichiers sont constitus du nom fournit au niveau de la directive NETWORK et se terminent par ".conf ". un fichiers global contenant les dclarations des diverses classes. Ce fichier porte le nom de "classes.conf ". 1 fichier par switch concern et contenant sa configuration concernant les ACLs. Les fichiers de configuration des switchs porteront le nom du switch fournit la suite de la directive SWITCH et se termineront par ".conf ". Des exemples de tous ces fichiers sont fournis en annexe.
Mobilit et Scurit
Service RAUMUR
18
Pierre LEONARD
4 Solutions VPN
4.1 Notion de VPN
4.1.1 Introduction au VPN
Les applications et les systmes distribus font de plus en plus partie intgrante du paysage d'un grand nombre d'entreprises. Ces technologies ont pu se dvelopper grce aux performances toujours plus importantes des rseaux locaux. Mais le succs de ces applications a fait aussi apparatre un de leur cueil. En effet si les applications distribues deviennent le principal outil du systme d'information de lentreprise, comment assurer leur accs scuris au sein de structures parfois rparties sur de grandes distances gographiques ? Concrtement comment une succursale dune entreprise peut-elle accder de faon scuris aux donnes situes sur un serveur de la maison mre distant de plusieurs milliers de kilomtres comme si elles taient locales ? Les VPN, Virtual Private Network ou RPV, Rseau Priv Virtuel en franais, ont commenc tre mis en place pour rpondre ce type de problmatique. Mais dautres problmatiques sont apparues et les VPN ont aujourdhui pris une place importante dans les rseaux informatique et linformatique distribues.
Mobilit et Scurit
Service RAUMUR
19
Pierre LEONARD
Gestion d'adresses: Chaque client sur le rseau doit avoir une adresse propre. Cette adresse doit rester confidentielle. Un nouveau client doit pourvoir se connecter facilement au rseau et recevoir une adresse. Cryptage des donnes: Lors de leurs transports sur le rseau public les donnes doivent tre protges par un cryptage efficace. Gestion de cls: Les cls de cryptage pour le client et le serveur doivent pouvoir tre gnres et rgnres. Prise en charge multiprotocole: La solution VPN doit supporter les protocoles les plus utiliss sur les rseaux publics en particulier IP.
15
Mobilit et Scurit
Service RAUMUR
20
Pierre LEONARD
4.2 Openvpn
4.2.1 Prsentation
Comme expliqu plus haut, Openvpn est un logiciel libre de droit et il est donc une trs bonne alternative en ce qui concerne la cration de tunnels protgs utilisant Internet comme support physique. Openvpn se base sur le protocole de scurisation SSL/TLS pour assurer la confidentialit des changes, ce protocole a t labor dans le but de protger les donnes via des navigateurs web (ex: https 16). Lauthentification se fait la plupart du temps laide de certificats accompagns de cls. Il existe deux modes dutilisations principales concernant Openvpvn: Mode de niveau 2 : utilisation d'une interface TAP (mode bridg) Mode de niveau 3 : utilisation d'une interface TUN (mode rout) Globalement, si l'on ne souhaite grer que du trafic IP (niveau 3) il faudra sorienter vers un mode dutilisation de niveau 3, tandis que si lon dsire transporter des protocoles autres que IP (niveau 2) il faudra sorienter vers le mode dutilisation de niveau 3. Les paquetages Debian ncessaires son installation sont les suivants : bridge-utils_0.9.6-5_i386.deb -> uniquement pour le serveur (interface TAP) openssl_0.9.8a-8_i386.deb libssl0.9.8_0.9.8a-8_i386.deb liblzo1_1.08-3_i386.deb openvpn_2.0.6-1_i386.deb Tous ces paquetages peuvent tre install laide de la ligne de commande "apt-get install <nom_du_paquet>" sous un environnement Debian.
Mobilit et Scurit
Service RAUMUR
21
Pierre LEONARD
4.2.3.2 Gnralits
SSL est donc un protocole ngociation dvelopp lorigine par Netscape. Son but est de scuriser les transactions Internet, par authentification du serveur et ventuellement du client, et par chiffrement de la session. Il est une couche optionnelle se situant entre les couches dapplication et de transport. Le but de SSL est dtre un protocole de scurit facile dployer assurant une scurit totale des changes de plusieurs applications. Pour TCP, SSL nest quune application qui utilise ses services.
Application HTTP, FTP . Handshake SSL/TLS Alert TCP Record IP TCP CCS
Figure 4-2 : Le protocole SSL/TLS dans son environnement SSL ne dpend pas des applications utilises lors des transactions et sapplique sous les protocoles HTTP, FTP, Telnet, LDAP, etc.
16
Mobilit et Scurit
Service RAUMUR
22
Pierre LEONARD
Clients et serveurs commencent par sauthentifier mutuellement (pas toujours de manire symtrique), puis ngocient une cl symtrique de session qui servira assurer la confidentialit des transactions. Lintgrit de ces dernires est assure par lapplication de HMAC 17.
4.2.3.3 Fonctionnalits
Les principales fonctions assures par SSL sont : Authentification : dans SSL v3.0 et TLS, lauthentification du serveur est obligatoire. Elle a lieu louverture de la session. Elle emploie pour cela des certificats conformes la recommandation X 509 v3. Cela permet au client de sassurer de lidentit du serveur avant tout change de donnes. Dans la version actuelle de SSL et de TLS lauthentification du client reste facultative. Confidentialit : Elle est assure par des algorithmes de chiffrement symtriques. Bien que le mme algorithme soit utilis par les deux parties chacune possde sa propre cl secrte quelle partage avec lautre. Les algorithmes utiliss sont : DES, 3DES, RC2, RC4. Intgrit : Elle est assure par lapplication dun algorithme de hachage (SHA ou MD5) aux donnes transmises. Lalgorithme gnre, partir des donnes et dune cl secrte, une signature pour les donnes appele code dauthentification de message. Ainsi tout changement appliqu aux donnes provoquera un message derreur ct rcepteur puisque la signature contenue dans le message sera diffrente de celle calcule par le rcepteur.
Mobilit et Scurit
Service RAUMUR
23
Pierre LEONARD
Le protocole SSL comporte une phase de ngociation o client et serveur peuvent : dfinir le niveau de scurit voulu sauthentifier Aprs cette phase, ils peuvent communiquer (change de donnes applicatives : HTTP, FTP, etc.) Rappelons que les trois fonctionnalits principales de SSL sont lauthentification du serveur, lauthentification du client et le chiffrement des donnes. Le protocole se compose de deux couches principales : le protocole Record qui traite lencodage des donnes envoyer et le protocole Handshake qui gre la ngociation. Nous allons dtailler les diverses tapes du processus de ngociation, avec les messages que s'envoient le client et le serveur qui permettent la construction de la communication scurise grce SSL.
Suite cette phase de ngociation, le client et le serveur peuvent schanger des donnes de faon scurise. Celles-ci seront chiffres par lalgorithme symtrique choisit au cours de la ngociation.
Mobilit et Scurit
Service RAUMUR
24
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
25
Pierre LEONARD
o
brctl addbr br0
ifconfig tap0 0.0.0.0 promisc up ifconfig eth0 0.0.0.0 promisc up ifconfig br0 192.168.X.254 netmask 255.255.255.0 broadcast 192.168.X.255 up
Remarques: Le mode "promisc up" permet de pouvoir voir tout le trafic passant. La configuration IP de linterface br0 est donne comme exemple avec une adresse de classe C mais nest pas significative. o ou
openvpn --daemon --config /path_du_fichier_de_config
Mode "routed" : Il ny a aucune configuration pralable effectuer dans ce mode configuration. Une fois les fichiers de configuration dits de chaque ct du futur tunnel, il suffit de lancer le processus Openvpn de la mme manire que pour une configuration en mode "bridged".
Mobilit et Scurit
Service RAUMUR
26
Pierre LEONARD
TUN o
Avantages : Ne reoit que le traffic lui tant destin Moins de bande passante utilise Plus rapide que TAP Inconvnients : Ncessite dtre rout Nautorise que du traffic IP
Serveur :
iperf s # test de connexion tcp # test de connexion udp
ou
iperf s -u
Une fois ceci fait le serveur est en attente de connexion et coute sur toutes les interfaces.
Client :
iperf c <@ip serveur> # test de connexion tcp par dfaut 100Mbits/s # test de connexion udp par dfaut 1Mbits/s # test de connexion udp 10Mbits/s
ou
iperf c <@ip serveur> -u
ou
iperf c <@ip serveur> -b 10M
ou
iperf c <@ip serveur> -b 100M # test de connexion udp 100Mbits/s
Mobilit et Scurit
Service RAUMUR
27
Pierre LEONARD
Les tests ont donn les rsultats suivants avec TAP ou TUN, pour diffrents algorithmes de chiffrement et avec/sans compression :
TCP Simple Lzo BL+Lzo BL DES+Lzo 3DES+Lzo AES128+Lzo AES256+Lzo TAP 85 153 126 83 131 119 126 131 TUN 90 159 135 84 136 125 131 133 *test de vitesse en TCPMbits/s UDP [ 100Mbits/s ] Simple Lzo BL+Lzo BL DES+Lzo 3DES+Lzo AES128+Lzo AES256+Lzo TAP 85 100 100 84 100 95 100 100 TUN 90 100 100 85 100 100 100 100 *test de vitesse en UDP 100Mbits/s
Lgendes : o o o o o o Simple : ni compression, ni chiffrement Lzo : compression uniquement BL : chiffrement Blowfish DES/3DES : chiffrement DES/3DES AES128/256 : chiffrement AES 128 bits ou 256 bits Tous les dbits sont donns en Mbits/s
Les machines utilises pour ces tests sont un PC de bureau Intel Pentium 4 cadenc 3GHz avec 256 Mo de mmoire vive et un PC portable Intel Pentium M 1,73GHz avec 1Go de mmoire vive. Il ressort de ce test queffectivement lutilisation dune interface TUN est plus rapide et principalement lors de connexion TCP. Remarque importante: Une observation supplmentaire concernant la consommation de pourcentage CPU lors de ces tests dmontre que la compression est trs gourmande en ressources, de lordre de 55-60% sans et 80% avec celle-ci, et cela malgr le changement dalgorithme de chiffrement qui influe peu sur cette consommation. Cette remarque devra tre tenu en compte lors du choix de la technologie utiliser pour crer des VPNs, en effet la compression peut grandement ralentir la machine en charge des VPNs et ainsi ralentir les utilisateurs. Si le besoin daugmentation de bande passante ne se fait pas ressentir il est bien entendu possible dignorer cette option.
Mobilit et Scurit
Service RAUMUR
28
Pierre LEONARD
4.2.6.2 Explication
Cette architecture met en uvre autant dinstance du serveur Openvpn que de Vlan auquel il est rattach, il faut donc jouer sur le numro de port pour pouvoir grer diffrents Vlans. Il est recommand dutiliser Openvpn avec le protocole UDP pour viter le "TCP over TCP", c'est--dire lencapsulation de TCP par lui-mme pouvant entraner des problmes de retransmissions beaucoup trop longue dus au mcanisme de fentrage. Dans cet exemple, le client VPN du VLAN 12 devra se connecter sur le port 1194 de linstance du serveur Openvpn lui correspondant et le client VPN du VLAN 13 devra donc se connecter sur le port 5000 de linstance du serveur Openvpn correspondant son VLAN. Cela oblige bien entendu fournir aux diffrents clients le numro de port sur lequel ils devront se connecter. Lattribution dune adresse IP se fera en fonction du Common Name prsent sur le certificat du client lors de la connexion au serveur ; en effet le serveur doit obligatoirement possder un fichier, portant le mme nom que le Common Name, dans lequel la configuration IP fixe pour ce client est prsente. Ainsi mme si un client se connecte sur une autre instance du serveur que la sienne, aucune adresse ne lui sera attribue et il naura pas accs au rseau.
Mobilit et Scurit
Service RAUMUR
29
Pierre LEONARD
4.3.2.2 Gnralits
IPsec est un protocole destin fournir diffrents services de scurit. Il propose ainsi plusieurs choix et options qui lui permettent de rpondre de faon adapte aux besoins des entreprises, particuliers, etc IPsec sinsre dans la pile de protocole TCP/IP, au niveau dIP. Cela signifie quil agit sur chaque paquet IP reu ou mis et peut soit le laisser passer sans traitement particulier, soit le rejeter, soit lui appliquer un mcanisme de scurisation. Ainsi toutes les implmentations dune pile de protocole TCP/IP dIPv6 intgre nativement IPsec, en revanche IPsec est optionnel pour la version actuelle dIPv4 et nest pas encore fourni en standard sur la plupart des systmes courants. Le placement dIPsec au niveau IP, c'est--dire au niveau rseau, prsente lavantage de le rendre exploitable par les niveaux suprieurs, et donc doffrir un moyen de protection unique pour toutes les applications. Le rseau IPv4 tant largement dploy et la migration vers IPv6 ncessitant encore beaucoup de temps, il est vite apparu intressant de dfinir des mcanismes de scurit qui soient communs la fois IPv4 et IPv6.
18
Mobilit et Scurit
Service RAUMUR
30
Pierre LEONARD
Transport
IP
IPSec
Liaison
Figure 4-5: IPSec dans le modle OSI
4.3.2.3 Fonctionnalits
Les principales fonctions que peut assurer le protocole IPsec sont : Authentification des donnes : permet de sassurer, pour chaque paquet chang, quil a bien t mis par la bonne machine et quil est bien destination de la seconde machine. Authentification des extrmits : Cette authentification mutuelle permet chacun de sassurer de lidentit de son interlocuteur ltablissement du tunnel. Elle sappuie sur le calcul dintgrit pour garantir ladresse IP source. Confidentialit des donnes : IPSec permet si on le dsire de chiffrer le contenu de chaque paquet IP pour viter la lecture de ceux-ci par quiconque. Elle est assure par un chiffrement symtrique des donnes. Intgrit des donnes : IPSec permet de sassurer quaucun paquet na subit de modification quelconque durant son trajet en rajoutant chaque paquet IP le rsultat dun calcul de hachage (SHA-1 ou MD5) portant sur tout ou partie du datagramme. Protection contre les coutes et analyses de trafic : IPsec permet de chiffrer les adresses IP relles de la source et de la destination, ainsi que toute len-tte IP correspondant. Protection contre le rejeu : IPSec permet de se prmunir des attaques consistant capturer un ou plusieurs paquets dans le but de les envoyer nouveau pour bnficier des mmes avantages que lenvoyeur initial. Elle est assure par la numrotation des paquets IP et la vrification de la squence darrive des paquets.
Mobilit et Scurit
Service RAUMUR
31
Pierre LEONARD
19 20
Internet Key Exchange Internet Security Association and Key Management Protocol 21 Secure Key Exchange Mecanism for intErnet
Mobilit et Scurit
Service RAUMUR
32
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
33
Pierre LEONARD
Aggressive Exchange : l'change aggressif assure les mmes services que l'change de base, mais en un nombre minimal de messages (il contracte en fait en un seul message les donnes de ngociation de la SA, d'authentification et d'change de cl); on notera qu'il empche du mme coup l'utilisation de l'change de cls selon Diffie-Hellman. Informational Exchange : l'change d'information est un message univoque d'information concernant la gestion des SA d'un tiers (modification, suppression, ...).
Mobilit et Scurit
Service RAUMUR
34
Pierre LEONARD
Le mode basic qui fournit un change de cls bas sur une cl publique et assure la proprit de PFS grce Diffie-Hellman Un change de cls bas sur lutilisation dune cl publique, mais sans Diffie-Hellman Un change de cls bas sur lutilisation dune cl pr-partage et Diffie-Hellman Un mcanisme de saisie de nouvelles cls bas simplement sur un algorithme de chiffrement symtrique. De plus SKEME est compos de trois phases : SHARE, EXCH et AUTH. Durant la phase SHARE, les deux protagonistes schangent des demi-cls, chiffres respectivement avec leur cl publique. Ces deux demi cls sont ensuite utilises pour crer une cl secrte. Si lanonymat est requis, les identits des deux extrmits sont aussi chiffres. Bien sr si un secret partag existe dj cette phase est passe. La phase dchange EXCH est utilise, en fonction du mode choisi, pour changer lune ou lautre des valeurs publiques Diffie-Hellman ou dunicit. Le secret partag DH ne sera cr quaprs la fin de cet change. Les valeurs publiques ou dunicit sont authentifies durant la phase dauthentification AUTH en utilisant la cl secrte tablie durant la phase SHARE. Les messages de ces trois phases ne doivent pas ncessairement suivre lordre dcrit ci-dessus, dans la pratique ils sont combins pour minimiser le nombre des messages dchanges. Une autre phase, connue sous le nome de COOKIES, peut tre ajouter avant la phase SHARE pour fournir une protection contre les attaques de type "dni de service" grce au mcanisme de cookies.
Mobilit et Scurit
Service RAUMUR
35
Pierre LEONARD
Le premier change sert la ngociation des paramtres ncessaires la mise en place de la SA IKE. Le deuxime change sert la ngociation des valeurs publiques de l'algorithme Diffie-Hellman et des valeurs pseudo-alatoires contenues dans le bloc d'alas (Nonce Payload). Lors du dernier change les deux pairs s'envoient leurs identits respectives et le bloc Hash ncessaire l'authentification. Aggressive Mode Exchange : Ce mode utilise directement l'Aggressive Exchange de ISAKMP; l'change se droule donc en seulement trois messages. Quick Mode Exchange : Une fois la SA IKE tablie avec le Main Mode ou l'Aggressive Mode, le Quick Mode est utilis pour tablir une SA pour un autre protocole de scurit, comme AH ou ESP, sous la protection de la SA IKE prcdemment tablie. Dans un change en Quick Mode, les deux pairs ngocient les caractristiques de la SA IPSec tablir, et gnrent les cls correspondantes. La SA IKE protge ces changes en chiffrant et en authentifiant les messages transmis. En plus de l'en-tte ISAKMP, du Hash, de la SA, du Nonce et des paramtres optionnels de Diffie-Hellman, les deux pairs peuvent s'changer des informations concernant leur identit, comme leur adresse IP. La connexion scurise ayant t tablie par les protocoles ci-dessus, il est alors ncessaire de protger les donnes utiles: c'est le rle des protocoles AH et ESP.
Mobilit et Scurit
Service RAUMUR
36
Pierre LEONARD
Figure 4-6: Fonctionnement VRFs La connexion vers les diffrents sites est matrialise par la configuration de linterface interne en sous interfaces coutant sur les VLANs respectifs aux sites, il sagit ici du protocole 802.1Q, ainsi chacune de ces sous interfaces appartient un seul VLAN couter, et il est possible de rcuprer les trames arrivant de VLANs diffrents. Lajout dun paramtre de configuration, relatif aux VRFs, sur chacune de ces sous interfaces permettant de prciser quelle table de routage appliquer ces sous interface vitant ainsi la communication intersites. (La configuration du routeur est fournie en annexe).
4.3.6 Authentification du client VPN pour ltablissement du tunnel 4.3.6.1 Principe de fonctionnement
La configuration du modle de routeur Cisco test sest avre complique mettre en uvre : elle est base sur des profils qui sont crs dans le but de dfinir les systmes dauthentifications, de chiffrement, de comptabilit ainsi que les VRFs associes. Trois mthodes dauthentifications des clients VPN sont proposs sur le routeur Cisco : secret pr-partag, cl RSA, certificats. Nous verrons ici lauthentification par cl pr-partag qui bien qutant la plus facile mettre en uvre nest pas dpourvu de faille contrairement un systme bas sur les certificats. Voil comment se droule la configuration du routeur : Pour tre en mesure de traiter correctement les demandes de connexions arrivant sur une interface Ethernet, il est ncessaire dappliquer une "crypto map" une interface Ethernet, cette "crypto map" regroupe tous les paramtres ncessaires au traitement des donnes. Cette "crypto map" pointe vers une "crypto map dynamic", la diffrence entre les deux tant quune map dynamic permet de grer des connexions venant dhtes inconnus.
Mobilit et Scurit
Service RAUMUR
37
Pierre LEONARD
Dfinition de "crypto map dynamic" dfinissant le "transform-set" et pointant vers un ou plusieurs profils. Dfinition dun "transform-set" permettant de spcifier les paramtres de chiffrement et de hachage Dfinition dun profil dans lequel sont prciss : o Les paramtres dauthentification, dautorisation et de comptabilit (AAA via RADIUS ici) o La VRF dans laquelle sont dfinies les routes spcifiques un rseau o Le paramtre "match" permettant de pointer sur un groupe dfini ci-dessous (ou sur un certificat) o Divers paramtres (paramtres de connexion, description du profil) Dfinition dun groupe et dune cl associe pour lauthentification du client VPN sur le concentrateur (ISAKMP phase 1)
Mobilit et Scurit
Service RAUMUR
38
Pierre LEONARD
4.3.7.2 AAA
Authentication : Cela correspond lidentification fiable de lutilisateur, que ce soit une personne physique ou un service. Cette identification passe par la prsentation de lidentit de lutilisateur. Cette information est unique chaque utilisateur et non scrte. Elle sert de rfrence dans la base des utilisateurs. Le contrle de cette information consiste vrifier un secret partag entre lutilisateur et le serveur. Elle peut tre de plusieurs types : o Statique : linformation transmise est alors la mme lors dauthentifications successives : mot de passe type UNIX par exemple. o Dynamique : on passe alors par un challenge entre le serveur et lutilisateur, ce qui permet davoir une information diffrente chaque nouvelle authentification : calculette, carte puce o Biomtrique : reconnaissance vocale, empreintes, iris Authorization : Cest le fait de dterminer quels sont les droits de lutilisateur. Par exemple, aprs stre logg, lutilisateur peut essayer certaines commandes. Lautorisation dtermine si lutilisateur peut ou non les utiliser. Dans certaines implmentations, lidentification et lautorisation sont regroupes en une seule tape. Accounting : Cela consiste mesurer les ressources quun utilisateur consomme, en terme dchange rseau, de ressources systme Cela sert en fait journaliser un certain nombre dinformations sur lutilisateur. Cela permet de connatre la fois les services demands par lutilisateur et la quantit de ressources requises. Ces informations peuvent tre souvent utilises dans des buts de facturation.
22
Mobilit et Scurit
Service RAUMUR
39
Pierre LEONARD
Network Access Server Apple Remote Access 25 NetBIOS Enhanced User Interface (NetBIOS = Network Basic Input Output System)
Mobilit et Scurit
Service RAUMUR
40
Pierre LEONARD
Attributs
Identificateur : associe requtes et rponses (1 octet) Longueur : longueur de toutes les zones donnes (2 octets) Authentificateur : utilis pour authentifier la rponse du serveur et pour protger les mots de passe (16 octets) Attributs : format (type, longueur, valeur) utilis pour vhiculer toutes les informations ncessaires
Les valeurs des attributs sont les suivantes : 1 User-Name 4 NAS-IP-Address 7 Framed-Protocol 10 Framed-Routing 13 Framed-Compression 16 Login-TCP-Port 19 Callback-Number 22 Framed-Route 25 Class 2 User-Password 5 NAS-Port 8 Framed-IP-Addres 11 Filter-Id 14 Login-IP-Host 17 (unassigned) 20 Callback-Id 23 Framed-IPX-Network 26 Vendor-Specific 3 CHAP-Password 6 Service-Type 9 Framed-IP-Netmask 12 Framed-MTU 15 Login-Service 18 Reply-Message 21 (unassigned) 24 State
Mobilit et Scurit
Service RAUMUR
41
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
42
Pierre LEONARD
5 Conclusions
5.1 Conclusion gnrale
5.1.1 DHCP
Le paramtrage dun serveur DHCP laide de ce que lon peut appeler "DHCP volu" permet beaucoup plus quune simple attribution de configuration rseau un client en faisant la demande. Il est possible deffectuer cette attribution en fonction de nombreux paramtres tels que le lieu de connexion de lutilisateur ou encore son VLAN dappartenance. Il est cependant noter que cette prsentation na pas la prtention de fournir une configuration type et une liste exhaustive de paramtres et de directives pouvant tre utiliss, cette configuration sapplique ici un environnement bien dfini quest lattribution dadresse IP fixe en fonction du lieu de connexion. Il faut galement savoir que ce modle de configuration sapplique non seulement dans ce cas prcis mais galement avec des logiciels adapts et avec la version de DHCP cit ci-dessus, aucune autre version nayant t test, il en va de mme en ce qui concerne le commutateur utilis pour les tests. Ce nouveau service rendu aux utilisateurs, sera mis en production prochainement et permettra une meilleure utilisation du rseau avec une configuration grandement simplifi. On limite ainsi le nombre de demandes daide ou de dpannage manant des utilisateurs novices principalement, et on accrot lautonomie des populations utilisatrices du rseau de campus.
5.1.2 VPNs
Nous avons pu voir ici deux types de connexions client/serveur VPN, la premire utilisant un logiciel libre et un serveur de type PC, et la seconde faisant appel du matriel Cisco encore une fois joint un serveur de type RADIUS. Et cest cette dernire qui sera retenu et ventuellement amliore pour parer des problmes de scurit connus. Les problmes pouvant apparatre sur cette deuxime configuration touche lauthentification par mot de passe puisque celui-ci peut ventuellement tre intercept sur le systme client par faute de chiffrement solide et efficace. Toutefois ce genre de problme peut tre rsolu en utilisant une authentification par certificat sans mot de passe pr-partag et qui reste cependant plus complexe mettre en oeuvre. Il est galement noter que cette configuration a t test sur 3 modles de routeurs diffrents que sont les Cisco 2620, 1811 et 2851. Un problme de compatibilit a t trouv concernant le premier de ces modles (2620), puisque bien quaucun bugs ne soit rpertoris entre ce routeur et limage utilis et supportant les VPN/IPSec (image cisco 12.3(18)), la configuration refusait de fonctionner et un simple changement de routeur vers des modles plus rcents (1811 et 2851) embarquant dj des IOS supportant les fonctionnalits requises, sest avr salutaire. Malgr tout, ce problme de compatibilit ma permit de fouiller dans les documentations de configuration Cisco et dcouvrir de nombreuses options paramtrables, ainsi que plusieurs modles de routeur Cisco.
Ces deux services sinscrivent dans la mission du service Raumur qui est de fournir toujours davantage de services aux utilisateurs dans le but de leur simplifier lutilisation du rseau universitaire, ainsi de nouveaux accs scuriss distance et une configuration IP dynamique simple dutilisation viennent enrichir la liste des nombreuses options proposes par le service de gestion du rseau aquitain.
Mobilit et Scurit
Service RAUMUR
43
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
44
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
45
Pierre LEONARD
1 Solution DHCP
1.1 Script Perl
Dhcp_gen_conf.pl
#!/bin/perl print "Gnration des fichiers de configuration dhcp...\n"; # ouverture du fichier de conf utilisateur open (CONF,'conf_utilisateur') || die "Pb d'ouverture de \'conf_utilisateur\' : $!"; # lecture du fichier de conf utilisateur while (<CONF>) { if ($_ =~ /^\s/) {$_ =~ s/^\s*//;} # suppression des blancs en dbut de lignes if ($_ =~ /^#/ ) {next;} # ne pas tenir compte des commentaires
# rcupration du chemin denregistrement if ($_ =~ /ROOT/) { @root = split('\s+',$_); $root = $root[1]; $rootclasses = $root."classes.conf"; if ((@root != 2 and $_ =~ /ROOT/) or $_ !~ /ROOT/) {print STDERR "chemin d'enregistrement manquant\n";exit;} } # rcupration du nom du rseau if ($_ =~ /NETWORK\s+\w/) { @network = split('\s+',$_); $network = $network[1]; open (SUBNET,">$root$network.conf") || die "Pb d'ouverture network: $!"; print "ecriture fichier $root$network.conf\n"; # signale un nom network manquant if ((@network != 2 and $_ =~ /NETWORK/)) {print STDERR "nom de rseau manquant\n";} } # rcupration @mac switch if ($_ =~ /SWITCH/) { $_ =~ s/\s+$//; # supprime les blancs en fin de ligne @switch = split('\s+',$_,4); $switch_name = $switch[1]; # ouverture du fichier de conf switch open (SWITCH,">>$root$switch_name.conf") || die "Pb d'ouverture de \'$switch_name.conf\': $!"; print "ecriture fichier $root$switch_name.conf\n"; $mac = $switch[2]; if (@switch == 3) {$type = cisco;} else {$type = $switch[3];} } # rcupration du vlan if ($_ =~ /VLAN/) {@vlan = split('\s+',$_);} $vlan = $vlan[1]; # conversion en hexa $vlanHexa = sprintf "%04x",$vlan[1];
Mobilit et Scurit
Service RAUMUR
46
Pierre LEONARD
$vlanHexa = substr($vlanHexa,0,2).':'.substr($vlanHexa,2,2); # rcupration de : module / port / @ip if ($_ =~ /^PORT\s+\d+\s+\d+\s/ and $network[1] !~ /\s/) { $_ =~ s/\n$//; @port = split('\s+',$_,5); if (@port == 5){$description = $port[4];} $module = $port[1]; $moduleHexa = sprintf "%02x",$module; module if ($type eq "cisco") { $port = sprintf "%02x",$port[2]-1; port }else {$port = sprintf "%02x",$port[2];} $ip = $port[3]; $classes_name = $network."-vlan ".$vlanHexa."-mod ".$moduleHexa."-port ".$port." on ".$switch_name; # ouverture du fichier de conf des classes open (CLASSES,">>$rootclasses") || die "Pb d'ouverture de \'classes.conf\' : $!"; print "ecriture fichier ".$rootclasses."\n"; # criture dans le fichier de conf des classes print CLASSES "class \"".$classes_name."\"\{\n\tmatch if \(substring \(option agent\.circuit-id,2, 2\) = ".$vlanHexa."\) and \(substring \(option agent\.circuit-id,4,1\) = ".$moduleHexa."\) and \(suffix \(option agent\.circuit-id, 1\) = ".$port."\) and \(suffix\(option agent\.remote-id,6\) = ".$mac."\)\;\n\}\n"; # fermeture du fichier de conf des classes close (CLASSES); # criture dans le fichier de conf des pools print SUBNET "pool \{\n\tallow members of \"".$classes_name."\";\n\trange ".$ip.";\n\}\n\n"; $interface = $port[2]; # criture dans les fichiers de conf des switchs print SWITCH "interface FastEthernet $type $module/$interface\n description: $description\n ip access-group IP:$ip in\n switchport access vlan $vlan\n switchport mode access\n access-list IP:$ip permit 0.0.0.0\n access-list IP:$ip permit $ip\n\n"; } } # fermeture de tous les fichiers encore ouverts close (CONF); close (SUBNET); close (SWITCH); print "Fichiers gnrs\n";
# conversion hexa du
# conversion hexa du
Mobilit et Scurit
Service RAUMUR
47
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
48
Pierre LEONARD
Name2.conf
pool { allow members of "name2-vlan 00:0e-mod 00-port 15 on albert"; range 172.18.0.2;
Albert.conf
interface FastEthernet allied-telesyn 00/21 description: studio 2 ip access-group IP:172.18.0.2 in switchport access vlan 14 switchport mode access access-list IP:172.18.0.2 permit 0.0.0.0 access-list IP:172.18.0.2 permit 172.18.0.2
Mobilit et Scurit
Service RAUMUR
49
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
50
Pierre LEONARD
2 Solutions VPN
2.1 Openvpn
2.1.1 Fichier de configuration dOpenssl
Openssl-vpn.cnf
HOME RANDFILE = . = $ENV::HOME/.rnd
# Extra OBJECT IDENTIFIER info: oid_section = new_oids [ new_oids ] #################################################################### [ ca ] default_ca = CA_default #################################################################### [ CA_default ] dir = /etc/ssl/openvpn certs = $dir/certs crl_dir = $dir/crl database = $dir/index.txt #unique_subject = no new_certs_dir certificate serial = $dir/newcerts = $dir/cacert.pem = $dir/serial
crl = $dir/crl.pem private_key = $dir/private/cakey.pem RANDFILE = $dir/private/.rand x509_extensions name_opt cert_opt = usr_cert
= ca_default = ca_default
[ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional
Mobilit et Scurit
Service RAUMUR
51
Pierre LEONARD
#################################################################### [ req ] default_bits = 1024 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca string_mask = nombstr [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = FR countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Gironde localityName localityName_default = Locality Name (eg, city) = bordeaux
0.organizationName = Organization Name (eg, company) 0.organizationName_default = pierre organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = test reaumur commonName commonName_max emailAddress emailAddress_max [ req_attributes ] challengePassword challengePassword_min challengePassword_max unstructuredName [ usr_cert ] basicConstraints=CA:FALSE nsComment = "OpenSSL Generated Certificate" = Common Name (eg, YOUR name) = 64 = Email Address = 64
Mobilit et Scurit
Service RAUMUR
52
Pierre LEONARD
2.1.2 Fichiers de configuration dOpenvpn 2.1.2.1 Mode Bridged interface TAP (configuration retenue)
Bridge-start
#!/bin/bash openvpn --mktun --dev tap0 openvpn -mktun -dev tap1 brctl addbr br012 brctl addbr br013 vconfig add eth0 12 vconfig add eth0 13 brctl addif br0 eth0.12 brctl addif br0 tap0 brctl addif br0 eth0.13 brctl addif br0 tap1 ifconfig ifconfig ifconfig ifconfig ifconfig # cration des interfaces virtuelles # tap0 et tap1 # cration des interfaces de bridge # br012 et br013 # cration des interfaces vlan # virtuelles eth0.12 et eth0.13 # ajout de linterface eth0.12 au bridge # ajout de linterface tap0 au bridge # ajout de linterface eth0.13 au bridge # ajout de linterface tap1 au bridge linterface linterface linterface linterface linterface tap0 eth0.12 tap1 eth0.13 eth0
tap0 0.0.0.0 promisc up # configuration de eth0.12 0.0.0.0 promisc up # configuration de tap1 0.0.0.0 promisc up # configuration de eth0.13 0.0.0.0 promisc up # configuration de eth0 0.0.0.0 promisc up # configuration de
# configuration des interfaces de pont br012 et br013 ifconfig br012 192.168.2.254 netmask 255.255.255.0 broadcast 192.168.2.255 ifconfig br013 172.18.0.254 netmask 255.255.255.0 broadcast 172.18.0.255
Bridge-stop
#!/bin/bash
Mobilit et Scurit
Service RAUMUR
53
Pierre LEONARD
# dsactivation des bridges
# remise zro de la configuration tap0 et tap1 # suppression des interfaces vlan virtuelles
# reconfiguration initiale de linterface eth0 ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
Configuration Serveur
local <@ip> port 1194 proto udp dev tap0 tun-mtu 1500 mssfix # ip publique du serveur # port changer pour deuxime serveur
persist-key persist-tun ca /etc/openvpn/tls/cacert.pem cert /etc/openvpn/tls/vpn.pierre.crt key /etc/openvpn/tls/vpn.pierre.key dh /etc/openvpn/tls/dh1024.pem tls-auth /etc/openvpn/tls/ta.key
# certificat de l'autorit de certification # certificat du serveur # cl priv du serveur # cl DH pour initialisation du tunnel # cl partage
server-bridge 192.168.2.254 255.255.255.0 192.168.2.5 192.168.2.15 chroot /etc/openvpn/jail client-config-dir ccd # dossier contenant les associations CN/IP ccd-exclusive # fichiers dassociations obligatoires client-to-client # autorise les clients se voir entre eux keepalive 10 120 cipher BF-CBC comp-lzo max-clients 15 user nobody group nogroup status /etc/openvpn/jail/log/status_bridged.log log-append /etc/openvpn/jail/log/openvpn_bridged.log verb 4 mute 10
Configuration Client
client
Mobilit et Scurit
Service RAUMUR
54
Pierre LEONARD
# certificat de l'autorit de certification cert /etc/openvpn/tls/nomade1.pierre.crt # certificat du client key /etc/openvpn/tls/nomade1.pierre.key # cl prive du client tls-auth /etc/openvpn/tls/ta.key # cl partage keepalive 10 60 cipher BF-CBC comp-lzo
persist-key persist-tun ca /etc/openvpn/tls/cacert.pem cert /etc/openvpn/tls/vpn.pierre.crt key /etc/openvpn/tls/vpn.pierre.key dh /etc/openvpn/tls/dh1024.pem duplicate-cn server 192.168.1.0 255.255.255.0 chroot /etc/openvpn/jail client-config-dir ccd ccd-exclusive client-to-client keepalive 10 120 cipher BF-CBC comp-lzo max-clients 15 user nobody group nogroup
# certificat de l'autorit de certification # certificat du serveur # cl priv du serveur # cl DH pour initialisation du tunnel
# dossier contenant les fichiers de conf clients # fichier de conf obligatoire sinon client refus # autorise les clients se voir entre eux # chiffrement Blowfish # compression des donnes => meilleures perfs
Mobilit et Scurit
Service RAUMUR
55
Pierre LEONARD
Configuration Client
client dev tun proto udp remote <@ip> 1194 resolv-retry infinite nobind persist-key persist-tun ca /etc/openvpn/tls/cacert.pem # type interface tun (layer3) # ip publique du serveur joindre + port
# certificat de l'autorit de certification cert /etc/openvpn/tls/nomade1.pierre.crt # certificat du client key /etc/openvpn/tls/nomade1.pierre.key # cl prive du client keepalive 10 60 cipher BF-CBC comp-lzo
Mobilit et Scurit
Service RAUMUR
56
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
57
Pierre LEONARD
group 2 ! ! # dfinition des groupes crypto isakmp client configuration group test-cisco-vpn key key-vpn # cl partage concentrateur VPN/client domain u-bordeaux.fr ! crypto isakmp client configuration group test-toto key key-toto domain toto.fr ! # dfinition des profils crypto isakmp profile profile-pierre description profile test reaumur vrf vrflabo # dfinition de la vrf match identity group test-cisco-vpn # identification du groupe client authentication list authentication-radius # paramtres AAA isakmp authorization list authorization-radius client configuration address respond accounting accounting-radius keepalive 30 retry 5 initiate mode aggressive # mode de ngociation crypto isakmp profile profile-toto description profile test reaumur toto vrf vrflabo2 match identity group test-toto client authentication list authentication-radius isakmp authorization list authorization-radius client configuration address respond accounting accounting-radius keepalive 30 retry 5 initiate mode aggressive ! ! # dfinition des paramtres de scurit utilis pour chiffrer les donnes crypto ipsec transform-set set-cisco-vpn esp-3des esp-sha-hmac ! # dfinition des maps dynamiques crypto dynamic-map map-4 5 set transform-set set-cisco-vpn # application des parametres de scurit set isakmp-profile profile-pierre # application du profil reverse-route # prciser le chemin retour des paquets crypto dynamic-map map-4 10 set transform-set set-cisco-vpn set isakmp-profile profile-toto reverse-route ! ! # dfinition de la map principale crypto map map-5 10 ipsec-isakmp dynamic map-4 ! # paramtrage des interfaces Ethernet interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 duplex auto speed auto crypto map map-5 ! ! ! interface GigabitEthernet0/1
Mobilit et Scurit
Service RAUMUR
58
Pierre LEONARD
! interface GigabitEthernet0/1.1 # sous interface 0/1.1 encapsulation dot1Q 12 # appartient au VLAN 12 ip vrf forwarding vrflabo # faire suivre les trames de la vrflabo ip address xxx.xxx.xxx.251 255.255.255.224 no snmp trap link-status ! interface GigabitEthernet0/1.2 encapsulation dot1Q 13 ip vrf forwarding vrflabo2 ip address xxx.xxx.xxx.222 255.255.255.224 no snmp trap link-status ! ! # table de routage standard & VRFs ip route 0.0.0.0 0.0.0.0 xxx.xxx.xxx.254 ip route vrf vrflabo xxx.xxx.xxx.224 255.255.255.224 xxx.xxx.xxx.251 ip route vrf vrflabo2 xxx.xxx.xxx.192 255.255.255.224 xxx.xxx.xxx.222 ! ! ip http server no ip http secure-server ! ! # dfinition de la cl partage NAS/RADIUS radius-server host 192.168.1.3 auth-port 1812 acct-port 1813 key key-radius ! control-plane ! line con 0 line aux 0 line vty 0 4 privilege level 15 transport input ssh ! scheduler allocate 20000 1000 ! webvpn context Default_context ssl authenticate verify all ! no inservice ! ! end
Mobilit et Scurit
Service RAUMUR
59
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
60
Pierre LEONARD
detail { detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y-%m-%d detailperm = 0600 } files { usersfile = ${confdir}/users acctusersfile = ${confdir}/acct_users preproxy_usersfile = ${confdir}/preproxy_users compat = no } } # Les modules sont appliqus aux tapes du traitement dune requte authorize { preprocess files } authenticate { } preacct { preprocess files } accounting { detail } session { } post-auth { } pre-proxy { } post-proxy { }
Clients.conf
Mobilit et Scurit
Service RAUMUR
61
Pierre LEONARD
# cl partage serveur/NAS
Users
pierre User-Password == "pierre" Framed-IP-Address = xxx.xxx.xxx.236, # IP attribuer pierre Framed-IP-Netmask = 255.255.255.224 toto User-Password == "toto" # IP attribuer toto Framed-IP-Address = xxx.xxx.xxx.193, Framed-IP-Netmask = 255.255.255.224
Mobilit et Scurit
Service RAUMUR
62