User Tools

Site Tools


informatique:cisco:securiser_un_routeur

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:cisco:securiser_un_routeur [2009/07/14 17:52] pteuinformatique:cisco:securiser_un_routeur [2009/07/18 12:23] pteu
Line 119: Line 119:
    view seconde_vue    view seconde_vue
  
 +
 +=====Resilient configuration feature=====
 +
 +Fonctionnalité d'IOS qui permet de conserver une version "safe" de l'image IOS et/ou de la running-config afin de contrecarrer la compromission du routeur. La facilité de restauration de la version safe permet de réduire le //downtime//.
 +
 +Activer la résilience de l'image IOS :
 +  secure boot-image
 +
 +Pour la configuration :
 +  secure boot-config
 +
 +Pour restaurer l'IOS : démarrer en rommon puis :
 +  rommon 1 >boot disk0:<imageIOS>
 +
 +Pour restaurer la conf :
 +  secure boot-config restore slot0:rescue
 +  copy slot0:rescue running-config
 +
 +Vérif :
 +  show secure bootset
 +
 +
 +=====Management=====
 +
 +====Syslog / trap====
 +
 +Configurer un syslog externe :
 +  logging <IP_du_serveur_syslog>
 +
 +Configurer le niveau (de 0 à 7) de trap :
 +  logging trap <level>
 +
 +Configurer le syslog facility (valeurs de ''local0'' à ''local7'') :
 +  logging facility <facility-type>
 +
 +Les messages de log sont de la forme :
 +  Jul 16 19:51:00: %SYS-5-CONFIG_I: Configured from console by resadm on vty0 (10.0.0.100)
 +
 +... avec 3 champs distincts, séparés par une virgule :
 +  * ''Jul 16 19:51:00'' le timestamp
 +  * ''%SYS-5-CONFIG_I'' indique le niveau de sécurité de 0 à 7 (ici 5 => "Notification") suivi du nom du message de log (ici un message touchant la configuration du routeur)
 +  * le reste : le texte du message
 +
 +Si on les récupère dans un syslog ils sont précédés (dépend du syslogd utilisé) du timestamp de réception du serveur syslog et de l'IP source du paquet reçu.
 +
 +D'autres commandes utiles :
 +
 +  * activer la journalisation : ''logging on''
 +  * pour préciser l'interface source des paquets syslog émis ''logging source-interface <interface>''
 +
 +Quoiqu'il en soit il faut que l'horloge des équipements soient synchronisés => NTP.
 +
 +====NTP====
 +
 +Pour synchroniser l'horloge de toutes les machines il est recommandés d'utiliser **NTP** (Network Time Protocole) qui est un protocole de synchronisation d'horloge fonctionnant sur udp/123. Le terme //strate// désigne le nombre de hop pour atteindre une autorité de temps (par exemple une horloge atomique).
 +
 +On peut définir différents types de dépendance avec une machine distante :
 +  * client : le routeur émet des requêtes pour se synchroner auprès d'un serveur
 +  * serveur : le serveur NTP fourni l'ajustement du temps à tous les clients
 +  * peer : les requêtes NTP vont dans les 2 sens et chacun peut être soit client soit serveur
 +
 +Configuration type : déclaraion d'un serveur NTP sur lequel se synchroniser :
 +  ntp {server | peer} 10.0.0.111
 +
 +Pour mettre en place de l'authentification :
 +  ntp authenticate
 +  ntp authenticate key 1 md5 <mdp_secret>
 +  ntp trust-key 1
 +  
 +  ntp server 10.0.0.254 key 1 prefer
 +
 +Le mot de passe ne doit pas dépasser 8 caractères.
 +
 +Pour écouter les broadcasts NTP reçus sur une interface (en mode ''(config-if)#'') :
 +  ntp broadcast client
 +
 +Mise en place d'une ACL :
 +  ntp access-group {query-only | serve-only | serve | peer} <ACL-number>
 +
 +Les machines qui matchent l'ACL auront le droit indiqué.
 +
 +===Serveur ntp===
 +Pour faire d'un routeur un serveur ntp autoritatif :
 +  ntp master [stratum]
 +
 +Stratum indique la précision supposée (de 1 à 15) : plus la valeur est faible plus le serveur sera considéré comme fiable par les clients NTP.
 +
 +Pour émettre des broadcast NTP sur une interface (en config-if) :
 +  ntp broadcast
 +
 +====SNMP====
 +
 +Pour monitorer/interroger les routeurs, le SNMP est parfait à ceci près qu'il n'est pas du tout sécurisé.
 +
 +Il est conseillé d'utilisé SNMPv3 (pour ses fonctions d'authentification et de chiffrement), ou à défaut de désactiver l'accès rw (écriture) et à mettre un nom de communauté (~ sorte de mot de passe) pour l'accès ro (lecture).
 +
 +Procédure de configuration du SNMPv3 :
 +  * configurer le server-ID local du routeur ; Il est optionnel de préciser l'IP, l'ID et le numéro de port (par défaut 161) d'un équipement distant.
 +  * configurer les noms de groupes
 +  * configurer les utilisateurs
 +  * configurer les machines
 +
 +Exemple :
 +  snmp-server enable traps cpu
 +  snmp-server enable traps config
 +  snmp-server inform retries 0
 +  snmp-server source-interface traps loopback 0
 +  
 +  snmp-server engineID local 0123456789
 +  snmp-server engineID remote 10.0.0.100 00000063000100a1c0b4011b
 +  
 +  snmp-server group authgroup v3 auth
 +  snmp-server group authgroup v3 priv
 +  
 +  snmp-server user authuser authgroup v3 auth md5 mypassword priv des56 encryptedpasswd
 +  snmp-server user authuser authgroup v3 auth md5 mypassword
 +  
 +  snmp-server host 10.0.0.111 traps version 3 priv authuser
 +
 +
 +Liens :
 +  * http://www.cisco.com/en/US/docs/switches/lan/catalyst3560/software/release/12.2_46_se/configuration/guide/swsnmp.html
 +
 +
 +=====AAA=====
 +
 +Authentication, Authorization and Accounting est un mécanisme de sécurité qui permet d'authentifier une personne, de lui attribuer des droits et d'auditer ce qu'il fait. Cela permet de contrôler les accès au réseau.
 +
 +Il existe 3 types de configurations possibles :
 +  * **Self-contained AAA** : il s'agit d'un serveur inclus dans l'IOS (authentification locale)
 +  * **Cisco Secure ACS Server for Windows Server** : un logiciel installé sur un serveur pour créer un serveur AAA externe
 +  * **Cisco Secure ACS Solution Engine** équipement dédié
 +
 +2 modes d'accès au routeur :
 +  * **character mode** pour les "line" (vty, con) => on définit les droits ''exec''
 +  * **packet mode** pour les interfaces (async, serial) => on définit les droits ''network''
 +
 +====RADIUS====
 +
 +L'un des 2 protocoles AAA les plus connu avec TACACS+ ; il est normalisé par l'IETF (RFC 2865) et utilise des datagrammes udp/1812 et 1813 (le serveur Cisco Secure ACS utilise lui udp/1645 et 1646). A chaque compte sont associés des paires AV (Attribute-Value) qui définissent ses droits. Il y a une 50aine de paires AV prédéfinies, mais RADIUS permet des extension propriétaires.
 +
 +Le RADIUS permet :
 +  * le chiffrement du mot de passe (uniquement) en MD5
 +  * l'authentification des paquets par hash MD5
 +
 +Mise en place :
 +  aaa new-model
 +  radius-server host 10.0.0.111
 +  radius-server key <secretkey>
 +
 +
 +====TACACS+====
 +
 +Le TACACS+ ressemble au RADIUS à ceci près qu'il est propriétaire Cisco et utilise tcp/49. Lui aussi associe à chaque compte 0 ou plusieurs AV. On peut 'en servir pour identifier un utilisateur et appliquer un profil réseau (ses VLAN/ACL/adresse IP/droits persos).
 +
 +TACACS+ permet :
 +  * de chiffrer tout le contenu des transactions
 +
 +Mise en place :
 +  aaa new-model
 +  tacacs-server host 10.0.0.111
 +  tacacs-server key <secretkey>
 +
 +====aaa authentication====
 +
 +Créer une méthode d'authentification par défaut :
 +  aaa authentication login default group tacacs+ local
 +
 +Elle utilisera en premier lieu le serveur TACACS+ ; si ce dernier ne répond pas on essaie dans la base locale. S'il renvoie une erreur d'authentification le routeur ne recherche pas dans la base locale. On peut lister jusqu'à 4 méthodes parmi celles-ci : ''enable, group, krb5, line, local, local-case, none''.
 +
 +Pour créer un groupe, applicable sur une ou plusieurs interfaces on remplace ''default'' par un nom :
 +  aaa authentication login ma_liste group tacacs+ local
 +
 +Puis on l'applique sur une ou des interfaces :
 +  line vty 0 4
 +   login authentication ma_liste
 +
 +====aaa authorization====
 +
 +Pour définir les droits associés à un compte.
 +
 +  aaa authorization exec default group radius local none
 +
 +====aaa accounting====
 +
 +L'accounting permet d'auditer et de facturer un compte utilisateur.
 +
 +  aaa accouting exec default start-stop group tacacs+
 +
 +Cette commande permet de logger chaque début et fin de processus lancé par n'importe quel profil (default) du groupe tacacs+.
 +
 +====Vérifs====
 +
 +  debug aaa authentication
 +  debug aaa authorization
 +  debug aaa accounting
  
 =====Vérifs===== =====Vérifs=====
  
   show login [failure]   show login [failure]
informatique/cisco/securiser_un_routeur.txt · Last modified: 2014/02/07 14:29 by pteu