Nemako - Systèmes et Réseaux

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, juillet 10 2008

Détail sur les hashs de mot de passe IOS

Cet article est complètement inspiré du billet de Jeremy Stretch : A bit more detail on IOS password hashes. Merci à lui.

Les mots de passe "type 7" utilisé dans les vieux IOS sont facilement réversibles. Ainsi l’utilisation de type 5 est préférable car il génère un hash MD5 non réversible. Cependant, l’utilisation du MD5 n’est pas son seul avantage.

L’utilisation d’un mot de passé stocké avec à l’aide de MD5 se fait en utilisant simplement la commande secret à la place de password.

Router(config)# username foo secret MyP4ssw0rd
Router(config)# do sh run | include username         
username foo secret 5 $1$jR5i$.HDBuKq.wIDOn2EYpCPYc0

Dans l’exemple précédent, ce qui suit le 5 est calculé par le routeur et stocké dans la running config. Ceci est plus qu’un simple hash md5, en effet la méthode reprend ce qui est fréquemment utilisé dans les environnements UNIX, à savoir l’utilisation d’un salt. Le résultat est composé de 3 éléments séparés par le signe dollar ($) :

  • 1 – indique un hash utilisant un salt
  • jR5i – salt de 24-bit généré aléatoirement
  • .HDBuKq.wIDOn2EYpCPYc0 – le hash MD5

Le hash et le salt sont des valeurs binaires utilisant le format d’encodage Base64. Quand l’utilisateur foo souhaite s’authentifier, le mot de passe envoyé en clair par l’utilisateur est concaténé avec le salt de 24-bit stocké dans le fichier de configuration. Un hash MD5 est alors calculé avec la chaine entière salt+password; si le hash calculé correspond au 3è élément stocké dans la configuration, le mot de passé fourni est alors considéré comme valide.

L’utilisation de ce salt a 2 gros bénéfices. Tout d’abord, 2 utilisateurs ayant choisi le même mot de passe auront virtuellement 2 hashs différent. Considérons la création de l’utilisateur bar avec le même mot de passé que l’utilisateur foo créé précédemment, voici le résultat:

Router(config)# user bar secret MyP4ssw0rd
Router(config)# do sh run | include username       
username foo secret 5 $1$jR5i$.HDBuKq.wIDOn2EYpCPYc0
username bar secret 5 $1$P9XX$y9d6Aw.t81.CoKvXITCpZ/

Les 2 utilisateurs vont pouvoir s’authentifier avec le même mot de passe : cependant lors de la création des utilisateurs, les 2 salts générés aléatoirement ont permis de supprimer toute similitude entre les hash stocké dans le fichier de config.

Le second avantage, et non le moindre, est que ce salt permet de se prémunir des attaques de type Rainbow Table. En cryptologie, une table arc-en-ciel (aussi appelée Rainbow Table) est une structure de données qui permet de retrouver un mot de passe à partir de son empreinte. Ce sont de grosse tables contenant des hash (MD5 et autres) précalculées. Cela permet de retrouver très rapidement le mot de passe qui a donné un hash précis.

Pour information, les systèmes UNIX-like utilisent la même technique pour stocker les comptes locaux (le salt étant simplement un peu plus long). L’outil OpenSSL permet de simuler l’opération réalisé par l’IOS Cisco. Voici un exemple pour l’utilisateur foo, nous pouvons retrouver le même hash avec OpenSSL :

fred@Sandbox$ openssl passwd -1 -salt jR5i MyP4ssw0rd
$1$jR5i$.HDBuKq.wIDOn2EYpCPYc0

Liens

lundi, novembre 26 2007

GNS3 : Graphical Network Simulator

GNS3 - Logo GNS3 est un simulateur d'équipements Cisco. Cet outil permet donc de charger de véritable IOS Cisco et de les utiliser en simulation complète sur un simple ordinateur. Pour caricutariser, GNS3 permet d'avoir un routeur Cisco virtuel sur son ordinateur. A noter simplement que GNS3 ne fournit pas d'IOS, il faut se les procurer à l'aide d'un compte Cisco CCO par exemple. Ou grâce à Google.

Cet outil est parfait pour se préparer aux certifications Cisco CCNA, CCNP, CCIP ou CCIE.

Pour ma part je l'utilise essentiellement pour tester des fonctionnalités d'IOS. Je l'ai par exemple beaucoup utilisé pour faire des tests autour de OSPF (redistribution, filtrage, authentification, ...).

Afin de permettre des simulations complètes, GNS3 est fortement lié avec:

  • Dynamips, un émulateur d'image IOS qui permet de lancer des images binaires IOS provenant de Cisco Systems.
  • Dynagen, une interface en mode text pour Dynamips.

GNS3 est un logiciel libre qui fonctionne sur de multiples plateformes, incluant Windows, Linux, et MacOS X.

Lire la suite...

lundi, septembre 3 2007

Configuring Router - Based DHCP Services

This article presents how to configure a dhcp server on a Cisco router.

  • Configuring IOS-Based DHCP options
  • Importing and Re-using DHCP Options
  • The biggest command of all : ip helper-address

Lire la suite...

dimanche, septembre 2 2007

Modifier une ACL

Cet article présente 2 méthodes pour modifier une access-list sur un routeur Cisco sans perturber le traffic:

  • une modification en live sur le routeur : on ajoute une règle entre les règles existantes.
  • une modification de 0 : on supprime l'ACL et on en applique une nouvelle modifiée.

Lire la suite...

vendredi, août 31 2007

IPv6

Cet article présente rapidemment IPv6:

  • Rationale for IPv6
  • IPv6 Addressing Format
  • IPv6 headers and Address Types
  • Types of Communication
  • Types of Addresses
  • Assigning IPv6 addresses
  • IPv6 routing protocols
  • Base configuration of OSPFv3
  • IPv4 to IPv6 migration strategies

Lire la suite...

mardi, août 28 2007

Multicast

Cet article présente le multicast:

  • The importance of multicast
  • The facts about multicast
  • Multicast MAC Address
  • Multicast IP Address
  • Internet Group Management Protocol (IGMP)
  • Multicast Routing Protocol
  • Enabling a Cisco router for Multicast

Lire la suite...

mardi, août 21 2007

BGP - Border Gateway Protocol

Cet article présente BGP:

  • Concepts.
  • Implementing and Tuning
  • Tuning Attributes

Attention : cette article est une prise de note, c'est donc un peu d'anglais et de français et certainement des fautes.

Lire la suite...

mercredi, août 8 2007

Manipulating Route Updates

This articles presents:

  • Using Distribute Lists
  • Using Route-maps
  • Using Administrative Distance

Lire la suite...

lundi, juillet 30 2007

Basic Route Redistribution

Cet article présente les fonctions basiques de redistribution de route sur les routeurs Cisco:

  • Why using multiple routing protocols ?
  • Configuring route redistribution

Lire la suite...

vendredi, juillet 27 2007

IS-IS - Intermediate System to Intermediate System

Cet article présente Is-IS:

  • Concepts
  • Basic Implementation and Verification

Attention : cette article est une prise de note, c'est donc un peu d'anglais et de français et certainement des fautes.

Lire la suite...

samedi, juillet 14 2007

Astuces Cisco

Voici quelques astuces à appliquer sur vos routeurs Cisco:

  • Synchroniser la console
  • Comment rendre une interface up lorsqu'elle n'est pas branché
  • Configurer ses bannières
  • Utiliser des alias
  • Modifier plusieurs interfaces simultanément
  • Effacer la table de routage
  • Définir l'adresse source d'un service
  • Protéger l'accès à un équipement par une access list
  • Modifier le niveau de log
  • Configuration ntp pour l'heure d'été
  • Activer le debug en SSH
  • Activer SSH
  • Rebooter le module d'un C6500
  • Vérifier la consommation d'un C6500
  • Ajuster l'interval de calcul de charge des interfaces
  • Filtrer la sortie show process cpu
  • Effacer la configuration d'une interface
  • Modifier la clé ssh d'un équipement
  • Afficher les logs avec la date du jour
  • Connaitre le nombre d'adresse MAC disponible et utilisé
  • Désactiver le prompt "more"

Lire la suite...

mardi, juin 5 2007

OSPF - Open Shortest Path First

Cet article présente OSPF:

  • Concepts.
  • Implementation and Verification
  • Understanding Network Types
  • Router LSAs And Summarization Options
  • Area Types and Options
  • Authentication and other Miscellaneous Options

Attention : cette article est une prise de note, c'est donc un peu d'anglais et de français et certainement des fautes.

Lire la suite...

vendredi, juin 1 2007

EIGRP - Enhanced Interior Gateway Routing Protocol

Cet article présente EIGRP:

  • les concepts d'EIGRP.
  • comment l'implémenter et le vérifier.
  • les techniques avancées de configuration (summarization, load-balancing, authentication).
  • bonnes pratiques et design options

Lire la suite...

mercredi, mai 30 2007

Routing Principles

Number of parallel routes (equal cost paths):

  • 6 for Cisco IOS Release < 12.3(2)T
  • 16 for Cisco IOS Release ≥ 12.3(2)T

Comment choisir une route dans la table de routage:

  1. Choose the most specific Network Mask for the destination network
  2. Choose the Best Administrative Distance
  3. Choose the metric

Administrative distance

Protocol Administrative distance
Directly connected 0
Static route out an interface 0
Static route to a next-hop address 1
EIGRP summary route 5
External BGP 20
Internal EIGRP 90
IGRP (IGRP is no longer supported, as of Cisco IOS Release 12.3) 100
OSPF 110
IS-IS 115
RIP 120
EGP 140
ODR 160
External EIGRP 170
Internal BGP 200
Unknown 255

Protocols, Ports, and Reliability of Routing Protocols

Routing Protocol Protocol Number Port Number Update Reliability
IGRP (IGRP is no longer supported, as of Cisco IOS Release 12.3) 9 - Best-effort delivery
EIGRP 88 - 1-to-1 window
OSPF 89 - 1-to-1 window
RIP - UDP 520 Best-effort delivery
BGP - TCP 179 Uses TCP windowing

Pour rappel, concernant la couche transport, les numéros de protocole de TCP et UDP sont:

  • TCP = 6
  • UDP = 17

mercredi, septembre 13 2006

Mise à jour hardware d'un routeur Cisco 2501

Je viens de récupérer un routeur Cisco 2501. Celui-ci est équiper de 8MB de Flash et de 8MB de DRAM, ce qui n'est absolument pas suffisant pour installer un IOS supérieur à 12.0. L'opération suivante consiste donc à mettre à jour ces deux éléments.

Lire la suite...

mardi, septembre 12 2006

Liens Cisco utiles

Quelques liens utiles concernant le constructeur Cisco.

Lire la suite...