Académique Documents
Professionnel Documents
Culture Documents
TP de routage et authentification
Fabien Locussol
Adrien Machado
Nicolas Phalippon
Charles Wazana
Professeurs responsables :
M. Jacques
lja@laposte.net
Année 2003
-2- Filière IR
ème
3 année
INTRODUCTION.................................................................................................................... 3
CONCLUSION....................................................................................................................... 30
ANNEXES............................................................................................................................... 31
CONFIGURATION FINALE DU ROUTEUR LOCAL ....................................................................... 32
CONFIGURATION FINALE DU ROUTEUR DISTANT .................................................................... 33
Introduction
Ce compte-rendu est rédigé à l'issu d'un de ce dernier. Il a pour but de présenter les
manipulations réalisées par nous-même dont l'objectif était de configurer un serveur
local pour donner l'accès à un routeur distant. L'authentification des machines distantes,
se fera par un serveur RADIUS, puis un serveur TACACS situé sur un serveur.
Généralités
Description
La majorité des routeurs CISCO sont dotés d’un port console et d’un port auxiliaire. Ils
ont tous un port de console, celui-ci étant prévu pour un accès administratif local à partir
d’un terminal ASCII ou d’un ordinateur avec émulation de terminal. Le port auxiliaire,
absent de certains modèles, est prévu pour un accès commuté asynchrone à partir d’un
terminal ASCII ou d’une émulation de terminal. Il est souvent utilisé comme une solution
de terminal.
Les produits Cisco ont évolué au point que les fonctions de routage sont assurées par des
cartes placées dans des équipements de routage/commutation multifonctions de plus
grande taille. Ces équipements, plus complexes utilisent le système IOS à des fins de
routage et pour les services associés.
EXEC dispose de deux niveaux d’accès aux commandes : le mode utilisateur et le mode
privilégié.
Le mode privilégié fournit des commandes destructives et son accès doit être protégé par
un mot de passe.
La commande copy est utilisée pour déplacer ces fichiers d’un emplacement vers un
autre, quelle que soit la source et la destination : RAM, NVRAM ou serveur TFTP.
La mémoire flash est l’emplacement qui héberge habituellement le système à utiliser par
le routeur. Elle constitue un espace de stockage permanent et modifiable, ce qui est idéal
pour stocker des fichiers qui ont besoin d’être conservés lorsque le routeur est éteint. De
plus, comme il n’y a pas de portions déplacables, les risques de pannes sont limités et la
disponibilité du routeur est mieux assurée.
cavaliers sur la carte processeur qui servent à définir la position des bits. La seconde
méthode consiste à utiliser la commande boot system.
Le champ d’amorçage est le nom des quatre bits de poids faibles du registre de
configuration. Ce champ peut être considéré comme une valeur de quatre bits
représentée sous forme hexadécimale. Cisco exprime les valeurs hexadécimales en les
faisant précéder des caractéres 0x (par exemple, 0xA pour la lettre A).
Valeur du
commande boot system Résultat
champ boot
Mode contrôle ROM, un mode bas
0x0 Ignorée si présente
niveau de détermination de problème.
Chargement du système IOS de la
0x1 Ignorée si présente
ROM
Chargement du système IOS de la
0x2-0xF boot system ROM
ROM
Chargement du premier fichier de la
0x2-0xF boot system flash
mémoire flash
Chargement du fichier IOS spécifié de
0x2-0xF boot system flash nomfichier
la mémoire flash
boot system tftp 10.1.1.1 Chargement du fichier IOS spécifié du
0x2-0xF
nomfichier serveur TFTP
Tentative de chargement du système
à partir de la première commande
Commandes multiples de toutes d’amorçage dans la configuration. Si
0x2-0xF
sortes elle échoue, la deuxième commande
est utilisée, et ainsi de suite jusqu’à
l’exécution réussie d’une commande.
• Commande trace
La commande trace, souvent appelée traceroute, sert à analyser un itinéraire de bout en
bout. Cette commande permet d’identifier les défaillances sur un itinéraire entre la
source et la destination.
Les noms d’hôtes sont affichés si les adresses sont traduites dynamiquement ou au
moyen d’un table d’hôte statique. Les durées indiquées représentent le temps requis
pour recevoir la réponse à chacune des trois tentatives.
Les mots de passe sont définis lors de la configuration initiale dans le mode de
configuration ou en tapant la commande enable password. Si aucun mot de passe n’a
été défini, l’accès au mode privilégié ne peut être obtenu qu’à partir de la console du
routeur.
Identification du routeur
Une des premières tâches lors de la configuration d’un routeur est de le nommer. Le
réseau est mieux géré si chaque routeur possède un identifiant unique. Ce nom est
considéré comme le nom d’hôte, et c’est celui qui est affiché sur la ligne de l’invite de
commande système. Si aucun nom n’est configuré, le nom pris par défaut est « router ».
• Nom du routeur :
hostname nom
• Bandeau de message :
banner motd # service public accès privés #
• Description de l’interface :
description LAN Ingénierie, Niveau 5
Configuration de routes
• Route par défaut
Un routeur peut ne pas connaître les routes vers tous les autres réseaux. Pour fournir
des capacités complètes de routage, la pratique courante est d’exploiter certains routeurs
comme équipements à utiliser par défaut et de configurer sur les autres routeurs des
routes par défaut vers ces routeurs.
Pour définir un routeur par défaut, on utilise la commande suivante dans le mode de
configuration globale :
ip default-network numéro-réseau
Lorsqu’une entrée pour un réseau de destination n’existe pas dans la table de routage, le
paquet est envoyé vers le réseau par défaut. Celui-ci doit donc figurer dans la table de
routage. Un avantage de l’utilisation des routes par défaut est qu’elles réduisent la taille
des tables de routage.
On utilise une adresse par défaut, lorsqu’on a besoin d’une route et que l’on ne dispose
que d’informations partielles sur le réseau de destination. Comme un routeur ne possède
pas toutes les informations sur tous les réseaux, il peut utiliser une adresse par défaut
pour indiquer la direction à prendre pour les adresse inconnues.
Outre l’emploi d’adresses IP normales, le protocole RIP utilise 0.0.0.0 comme route par
défaut.
Pour configurer une route statique, la commande utilisée est la suivante dans le mode de
configuration globale :
ip route réseau [masque] {adresse|interface} [distance] [permanent]
Les arguments de cette commande ont la signification suivante :
• réseau : le réseau ou sous-réseau de destination
• maque : le masque de sous-réseau
• adresse : l’adresse IP du routeur de prochain saut
• interface : le nom de l’interface à utiliser pour atteindre le réseau de destination
• distance : la distance administrative
• permanent : optionnel : spécifie que la route ne sera supprimée, même si
l’activité de l’interface venait à s’interrompre.
Les deux principales commandes utilisées pour configurer un routeur RIP sont les
suivantes :
Router(config)#router rip
Router(config-router)#network numéro-réseau
Schéma générale
Dans ce TP, nous allons devoir mettre en place la configuration suivante. Par manque de
temps, nous n’aurons pas le temps de mettre place la connexion par RNIS.
172.30.2.100
172.16.0.0 / 16
172.16.100.100
PC distant
Serveur
eth0 : 172.30.2.254 serial0 : 172.29.2.1 serial0 : 172.29.2.2 eth0 : 172.16.2.1 d’authentification
RADIUS
LAN site distant
Serveur FTP
Site Local
Description
Présentation
Le routeur local qui délimite le réseau interne et interconnecte le site distant est un Cisco
1720.
Il supporte jusqu'à deux cartes d'interface WAN répertoriées. Ces cartes prennent en
charge un grand choix de technologies WAN : RNIS (Réseau Numérique à Intégration de
Services), série asynchrone, série synchrone (lignes louées, par exemple), Frame Relay,
Switched 56, X.25 et SMDS (Switched Multimegabit Data Service).
Interfaces physiques/ports
Processeur
Configuration
Configuration globale :
Pour faire le paramétrage, on passe en mode privilégié avec la commande enable :
Router> enable
Router#
Maintenant, passons en mode configuration :
Router# configure terminal (ou conf t)
Router(config)#
On commence par changer le nom réseau du routeur en Local :
Router(config)# hostname Local
Local(config)#
On indique un mot de passe pour des raisons de sécurité : esitcom1 avec la
commande :
Local(config)#enable password esitcom1
Local(config)#
Rappel : Le chiffre /32 qui suit une adresse est le masque de réseau. Il indique le nombre
de bit à 1 du masque.
Il ne faut pas oublier d’indiquer au routeur de ne pas faire de résolution de nom ce qui
est fait lorsque l’on entre une commande inconnue car il prend cette commande inconnue
comme un hostname et fait débute donc un telnet :
Local(config)# no ip domain lookup
NB : pour s’assurer que les interfaces ne se mettent pas en veille (down), on entre la
commande :
Local(config-if)# no shutdown
Maintenant que ce premier routeur est configuré, on passe au deuxième. Avant cela, on
enregistre la configuration dans la mémoire non volatile avec la commande suivante. On
peut aussi l’enregistrer sur le serveur ftp avec la commande copy source dest.
write memory
Présentation
Le routeur distant qui permet de gérer les connexions des machines distantes est un
Cisco 2503.
Ce routeur est constitué d’une interface ethernet AUI, qui sera pour l’IOS (Internetwork
Operating System) l’interface ethernet 0. Elle fonctionne en 10 Mbts half duplex. On peut
y connecter un autre routeur ou plutôt un réseau LAN tel qu’un hub ou switch de
backbone. Pour y brancher un câble ethernet RJ-45, on utilise un transciever AUI-RJ45.
Dans le TP, nous relions notre PC à cette interface Ethernet.
Ce routeur est aussi constitué de 2 interfaces séries, serial 0 et serial 1 qui permettent
entre autre de relier des réseaux WAN par l’intermédiaire de LS, liaison modem de 64 ko
par exemple.
Nous avons également un port BRI, Basic Rate Interface qui est utilisé pour les liaisons
ISDN (RNIS).
Nous avons ensuite le port console, qui est un port de configuration, ainsi qu’un autre
port auxiliaire qui permet aussi de configurer le routeur.
On peut configurer le routeur par ces ports, ou à distance en telnet ou indiquer à l’IOS de
booter en TFTP sur une configuration présente sur une station.
La machine distante sera notre PC sur laquelle nous configuration l'interface réseau. Nous
ne devons pas aussi oublier de rentrer dans sa table de routage le chemin du serveur
distant.
Configuration
Configuration globale :
De la même façon que pour l’autre routeur, on passe en mode de configuration :
Router> enable
Router# configure terminal (ou conf t)
On indique Distant comme hostname et on met le mot de passe esitcom1 :
Router(config)# hostname Distant
Le résultat des configuration est consultable en annexe. Elle a été obtenu avec la
commande show run qui donne la configuration actuelle ou show conf qui donne celle
sauvegardé dans la ROM.
Maintenant, on peut faire des ping sur chaque interface des routeurs depuis chaque
routeur puisque toute sont accessible depuis toute grâce aux routes.
Distant#ping 172.29.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.29.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/31/36 ms
Distant#ping 172.16.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/28/28 ms
---------------------------------------
Local#ping 172.29.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echoes to 172.29.2.1, timeout is 2 seconds: !!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/29/32 ms
Local#ping 172.30.2.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echoes to 172.30.3.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/28/32 ms
Distant#ping 172.16.100.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.100.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/29/32 ms
---------------------------------------
Local#ping 172.16.100.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echoes to 172.16.100.100, timeout is 2
seconds:!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Machine distante
Sur la machine qui va simuler la machine distante, on configure son adresse ip et on
entre la route, avec ipconfig et route add.
c:\>ping 172.16.100.100
Pinging 172.16.100.100 avec 32 octets de donnees :
Reponse de 172.16.100.100 : octets=32 temps=20ms TTL=126
Reponse de 172.16.100.100 : octets=32 temps=10ms TTL=126
Pour faire ces tests avec des telnet sur les routeurs, on doit créer au moins un
utilisateur autorisé sur chaque routeur, de cette façon :
Local#: conf t
Local(config)#: username user1 password user
Local(config)#: line vty 0 4
Local(config-line)#: login local
Local(config-line)#:
---------------------------------------
Distant#: conf t
Distant(config)#: username user2 password user
Distant(config)#: line vty 0 4
Distant(config-line)#: login local
Distant(config-line)#:
L’authentification
Après avoir configuré nos routeur, nous allons mettre en place une authentification.
Voyons maintenant qu’est-ce que l’authentification.
Il s’agit de générer l’empreinte d’un message afin de certifier que le contenu de celui-ci
n’a pas été modifié. Il s’agit en fait d’une somme de contrôle obtenue par un calcul
numérique.
Il existe différents algorithmes certifiés tels que MD2, MD4, MD5 ou SHA1.
Ce sont généralement des fonctions de hachages. Pour qu’un tel algorithme soit efficace,
il faut que la probabilité d’obtenir une même empreinte à partir de deux documents
différents soit minimale.
Cette empreinte ainsi obtenue est cryptée par l’émetteur à l’aide de sa clef privée, et
ajoutée au message.
Les Certificats
Les certificats sont délivrés par des autorités de certification. Elles sont appelées CAs
(Certificates Authorities).
L’entité contacte une de ces autorités et lui transmet sa clef publique. L’autorité vérifie
les informations : identité de l’individu, propriétaire de la clef, etc.; et délivre un certificat
attestant la relation entre le propriétaire et sa clef publique. L’entité peut ainsi distribuer
son certificat librement et sans risque.
Serveurs et clients peuvent utiliser les certificats lorsqu’ils établissent une connexion afin
de pouvoir s’authentifier ; cela évite le transfert d’un secret du type "login/password ".
Les certificats peuvent ainsi remplacer les multiples mot de Passe. Il est ainsi possible de
configurer tous les serveurs d’une entreprise de manière à ce que le client n’ait qu’à
retenir le mot de passe débloquant sa clef secrète.
Le format d’un certificat te que définit par le standard X.509 est constitué de 2 parties :
Exemple de certificat
www.verisign.com/repository/RPA Incorp.
by Ref.,LIAB.LTD(c)98
VeriSign Trust Network
VeriSign, Inc.
This Certificate was issued by:
VeriSign Class 1 CA Individual
Subscriber-Persona Not Validated
www.verisign.com/repository/RPA Incorp.
By Ref.,LIAB.LTD(c)98
VeriSign Trust Network
VeriSign, Inc.
Authentication (authentification)
Cela correspond à l’identification de l’utilisateur, que ce soit une personne physique ou un
service. Cette identification passe par la présentation de l’identité de l’utilisateur. Cette
information est unique à chaque utilisateur et non secrète. Elle sert de référence dans la
base des utilisateurs.
Le contrôle de cette information consiste à vérifier un secret partagé entre l’utilisateur et
le serveur d’authentification. Elle peut être de plusieurs types :
statique : l’information transmise est alors la même lors d’authentifications successives :
mot de passe type UNIX par exemple.
Dynamique : on passe alors par un challenge entre le serveur et l’utilisateur, ce qui
permet d’avoir une information différente à chaque nouvelle authentification : calculette,
carte à puce, badge...
Physique : reconnaissance vocale, empreintes, iris...
Authorization (autorisation)
C’est le fait de déterminer quels sont les droits de l’utilisateur. Par exemple,
après s’être loggué, l’utilisateur peut essayer d’utiliser certaines commandes.
L’autorisation détermine alors si l’utilisateur peut ou non les utiliser. Dans certaines
implémentations, l’identification et l’autorisation sont regroupés en une seule étape.
Accounting (rapports)
Cela consiste à mesurer les ressources qu’un utilisateur consomme, en terme
d’échange réseau, de ressources système,... Cela sert en fait à logguer un certain
nombre d’informations sur l’utilisateur. Cela permet de connaître à la fois les services
demandés par l’utilisateur et la quantité de ressources requises.
Les trois points définis ci-dessus sont importants pour une bonne gestion et une
bonne sécurité d’un réseau. Ils devraient être disponibles au point d’entrée d’un réseau.
Tous les utilisateurs distants accèdent au réseau au travers d’un NAS (Network Access
Server), aussi appelé Remote Access Server, ou Terminal Server. Un NAS est une
interface qui accepte un accès distant à travers une ligne téléphonique ou RNIS. Le NAS
connecte les utilisateurs distants au réseau interne (Local Area Network).
Après s’être connecté, l’utilisateur distant a accès à toutes les ressources du réseau
interne (serveurs, partages, communication avec les autres utilisateurs, ...)
La mise en place des AAA au point d’entrée du réseau garantit un contrôle sur
les connexions des utilisateurs au réseau, ainsi que sur ce qu’ils sont autorisés ou non à
faire.
Session
TACACS+ utilise la notion de session pour ses communications entre le client
(NAS) et le serveur. Une session ne contient qu’un échange, ou d’authentification, ou
d’autorisation, ou d’accounting. TACACS+ peut utiliser l’identifiant des sessions pour
chiffrer les paquets.
Si le client et le serveur le supportent, plusieurs sessions peuvent être réalisées sur la
même connexion TCP. Mais, pour des raisons de compatibilité, ce dispositif est à éviter,
et il vaut mieux rouvrir une nouvelle connexion pour chaque session.
Un rapport peut être réalisé pour fournir différentes informations comme l'identité de
l'utilisateur, les heures de début et de fin de sessions, les commandes exécutées (comme
PPP), les nombres de paquets et les nombres d'octets échangés.
Dans le cas où l’une des conditions ne seraient pas remplies, le serveur retourne un
paquet “Access-Reject” qui indiquerait au client que la connexion a été refusée et
pourrait contenir un message d’explication. Sinon, le serveur retourne un “Access-
Challenge”. Le paquet contient un nombre aléatoire que le client doit chiffrer. Pour cela, il
peut utiliser une calculette, ou un logiciel permettant de faciliter le calcul de la réponse.
En retour, le client émet de nouveau le paquet “Access-Request” mais contenant cette
fois la réponse au challenge. Le serveur peut alors renvoyer :
• un “Access-Accept” si l’authentification est validée
• un “Access-Reject” dans le cas contraire
• un “Access-Challenge” si un complément d’information est nécessaire
TACACS+ RADIUS
UDP : port 1645
Protocole TCP : port 46
(1812 normalement)
Chiffrement du paquet Chiffrement du mot de
Chiffrement
entier passe
Autorisation liée à
Architecture AAA Les AAA sont indépendants
l’authentification
Profil émis champs par Profil global envoyé au NAS
Emission du profile champs à la demande du lors de la fin de
NAS l’authentification
Protocoles supportés Support complet Pas de ARA ni de NetBEUI
Challenge / Réponse Bidirectionnel Unidirectionnel
Présentation
Cisco Secure Access Control Server (ACS) pour Windows 2000 est un serveur de contrôle
d'accès hautement évolutif et hautes performances fonctionnant comme un système
serveur RADIUS ou TACACS+ centralisé et contrôlant l'authentification, l'autorisation et
la comptabilité (AAA) des utilisateurs qui accèdent aux ressources de l'entreprise. Cisco
Secure ACS prend en charge le contrôle d'accès et la comptabilité des serveurs d'accès
distant, des VPN et des pare-feu, ainsi que des solutions VoIP (Voice over IP). La version
3.1 et le nouveau module EAP (Extensible Authentication Protocol) permettent
l'authentification IEEE 802.1X conforme aux normes des utilisateurs Cisco Aironet 350
Wireless Access. Ils permettent également de distribuer les clés de cryptage sans fil à
l'aide de RADIUS.
Caractéristiques principales
Fonctionnalités principales
• Souplesse des produits : ACS peut être utilisé avec les serveurs d'accès
réseau/routeurs Cisco lors de l'exécution d'une version Cisco IOS intégrée à
RADIUS ou TACACS+.
• Prise en charge de produits tiers : prise en charge de Token Server pour RSA
SecurID, Axent Technologies, Secure Computing et CryptoCard.
• Contrôle : quotas dynamiques du temps machine, de l'utilisation du réseau, du
nombre de sessions ouvertes et des restrictions d'accès selon les jours de la
semaine.
RADIUS
On va dans un premier temps faire une authentification en local :
Distant#: conf t
Distant(config)#: aaa new-model
Distant(config)#: aaa authentication login default local
Distant(config)#: line vty 0 4
Distant(config-line)#: login authentication default
Distant(config-line)#: exit
http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2138.html
http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2139.html
TACACS
Configuration
Nous allons nous authentifier auprès du serveur TACACS :
On partage la clé esitcom qui permet l’authentification :
Distant(config)#tacacs-server key esitcom
On précise l’adresse du serveur :
Distant(config)#tacacs-server host 172.16.100.100
On configure ensuite notre authentification :
Distant(config)#aaa authentication login TACACS tacacs local
Distant(config)#: line vty 0 4
Distant(config-line)#login authentication TACACS
Distant(config)#: aaa authorization commands 14 TACACS group tacacs+ none
Il faut maintenant définir la liste que nous utilisons :
Distant(config)#: authorization commands 14 TACACS
On créé maintenant un compte utilisateur avec mot de passe qui se trouve sur le serveur
auquel nous allons donner des privilèges :
Distant(config)#: username support privilege 14 password 0 support
Conclusion
Avec ce TP, nous avons pu apprendre à mettre en place une configuration très courante
en entreprise. Nous avons vu les aspects architecture et sécurité qui sont des
connaissances indispensables.
Ce compte-rendu s’est voulu très complet pour se transformer en un support pour notre
vie professionnelle.
Par conséquent, grâce au cours de routage, nous avons eu les bases nécessaires pour
devenir un ingénieur réseau complet.
Toutefois, nous aimerions apporter quelques remarques sur ce cours dans un but
d'amélioration.
La première serait la structure. Nous n'avons pas eu l'impression d'avoir suivi un plan
défini, ou en tout cas, on ne nous l'a pas transmis explicitement. De ce fait, certains
n'ont pas bien compris tout de suite le but du cours, ce qui les a démotivé. Pour remédier
à cela, il suffirait simplement de commencer le cours par son plan. Le mieux serait même
de fournir un support qui nous serait très utile pour les TP.
Justement, la deuxième remarque concerne les TP. En effet, lors de ceux-ci, nous
regrettons de n'avoir pas été guidé plus concrètement dans nos démarches. On nous a
demandé de faire des manipulations que certains ne connaissait pas du fait de
l'hétérogénéité des parcours professionnels. Pour cause, nous ne les avions jamais vu, ni
dans les années précédentes, ni dans le cours. Ce manque de soutien a démotivé les
moins bons...
Malgré tout, grâce à notre investissement et les conseils du professeurs recueillis au fur
et à mesure, nous nous considérons maintenant comme opérationnel dans le domaine de
l'authentification distante.
ANNEXES