Réseaux‎ > ‎Cisco‎ > ‎

Modèle de configuration de routeur IOS sécurisé



Document trop vieux, donc préférer les guides Cisco SAFE ou les excellents recommandations & guides de l'ANSSI.

Documents utilisés

Configuration sécurisée

Pré-requis

Une architecture idéale demande un minimum de serveurs:
  • Un serveur SYSLOG pour sauvegarder les logs des différents équipements
  • Un serveur NTP (utilisant l’authentification md5) pour avoir des heures synchrones pour les logs : Ce peut-être un routeur Cisco.
  • FTP pour réceptionner éventuellement les crashs dump des routeurs.
  • Station d’admin (en SNMP v3) si possible : Paramétrage non traité ici.
  • Un accès physique sécurisé au niveau des équipements (ici, pas de mot de passe console, en mettre si le client le désire, ou dans un environnement physique non sécurisé)
Version d’IOS minimum : 12.1 (ainsi que les fonctionnalités de cryptage DES ou une version 12.2T pour le SSH)

AutoSecure


Depuis la version 12.3, la fonction AutoSecure permet d'exécuter un script de sécurisation du routeur qui désactive les services sensibles et actives les services de sécurité.

Modèle pour tout équipement sous IOS

Désactivation des services inutiles

Attention, ici on désactive le serveur WEB embarqué, dans le cas ou le client souhaite administrer un commutateur par http, il est conseillé de le faire en mode sécurisé, authentifié et limité en fonction de la source

no service pad ! Désactivation du service PAD
no ip http server ! Désactivation du serveur WEB
no ip http secure-server ! Désactivation du serveur WEB Securisé
no ip bootp server ! Désactivation su serveur BootP
no ip domain-lookup ! Désactivation de la résolution de nom
no ip finger ! Désactivation du service finger
no service tcp-small-servers ! Désactive les services TCP
no service udp-small-servers ! Désactive les services UDP

Protection de l'équipement


service tcp-keepalives-in ! Préviens les sessions orphelines
no logging console ! Empêche de bloquer le port console par trop de log
service password-encryption ! Cache les mots de passes dans les fichiers de configuration
scheduler max-task-time 5000 ! Protège des plantages ou bloquage de process

! En cas de crash: Envois d’un DUMP sur un serveur FTP:

ip ftp username USER-CISCO-SUR-FTP-SRV ! Déclaration du compte FTP
ip ftp password PASSWORD-CISCO-SUR-FTP-SRV ! Déclaration du mot de passe FTP
exception protocol ftp ! Déclare l’envoie du dump par FTP
exception dump IP-ADDRESS-FTP-SRV ! Adresse IP du serveur FTP


Protection juridique

banner login #
Attention !
Acces reserve au personnel du service informatique de NOM-ENTREPRISE.
Toutes activites sur ce systeme sont enregistrees.
Toutes preuves d activites non autorisees seront traitees par les autorites competentes.
Toute intrusion sur un systeme informatique est interdite par les articles 323-1 a 323-7 du Code penal.#
banner motd #
Attention !
Acces reserve au personnel du service informatique de NOM-ENTREPRISE.
Toutes activites sur ce systeme sont enregistrees.
Toutes preuves d activites non autorisees seront traitees par les autorites competentes.
Toute intrusion sur un systeme informatique est interdite par les articles 323-1 a 323-7 du Code penal.#

Activation du SSH

Version 12.2T ou fonctionnalités DES obligatoire

hostname NOM-MACHINE ! Nom de l’équipement
ip domain name CLIENT.FR ! Déclaration du nom de domaine (obligatoire pour le SSH)
crypto key generate rsa ! Génère la clef RSA : UTILISER UN MODULUS DE 1024 bits minimum !
line vty 0 4
transport input ssh ! N’accepte que le SSH
exec-timeout 70 0 ! Empêche une session orpheline de bloquer une ligne
!


Gestion des logs


! Déclaration du fuseau horaire et du changement d’heure :
clock timezone CET 1 ! Déclaration du fuseau horaire
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00 ! Heure été/hiver

! Synchronisation NTP de l’heure :

ntp source-interface loopback0 ! Déclare l’IP de l’interface loopback comme source
ntp server IP-ADDRESS-NTP-SERVER ! Déclaration du serveur NTP
ntp authentication key 1 md5 CLEF-NTP ! Déclaration de la clef 1 d’authentification
ntp trusted-key 1 ! Utilisation de la clef 1

! Gestion des logs interne :
logging buffered 16384 debugging ! Reserve 16384 octects pour stocker les logs en RAM
service timestamps debug datetime msec localtime show-timezone ! Marque l’heure/date dans les debug
service timestamps log datetime msec localtime show-timezone ! Marque l’heure/date dans les logs

! Gestion de logs centralisé sur un serveur SYSLOG :
logging facility local NUMERO-FACILITY ! Change la facility par défaut (à voir avec le client)
logging trap
logging IP-ADDRESS-LOG-SERVER ! Adresse IP du serveur Syslog

Gestion des droits d'accès


Gestion des accès au routeur, l’avantage de gérer des utilisateurs fait que chaque modification de configuration est identifiée


enable secret MOT-DE-PASSE-ENABLE ! Mot de passe de l’accès super utilisateur

!
username NOM-UTILISATEUR1 secret MOT-DE-PASSE-UTILISATEUR1 ! Déclaration des users avec mot de passe crypté (version 12.2T minimum)
username NOM-UTILISATEUR1 password MOT-DE-PASSE-UTILISATEUR1 ! Déclaration des users (pour les versions IOS inférieures à la 12.2T)

! Activation du modèle sécurisé AAA:
!
aaa new-model ! Activation de l’AAA
!
aaa authentication login default local ! Utilise le paramétrage de la ligne par défaut
aaa authentication login Console none ! Déclaration du profil AAA « Console » n’utilisant pas d’authentification
aaa authorization exec default local ! Déclaration des droits d’accès locaux (dans le cas la gestion des niveau d’accès par login)
line con 0
login authentication Console ! Utilise le profil AAA « Console »


Spécificités pour un routeur

Optimisation de base


no ip source-route ! Empêche le routage par la source
ip cef ! Activation de la CEF (obligatoire pour ip verify unicast reverse-path)


Interface d'administration


Déclaration d’une interface et adresse IP de loopback (pour le management, DNS, OSPF, etc…)

interface loopback0 ! Déclare une interface de loopback

ip address IP-ADDRESS MASK ! Paramètre son adresse IP
logging source-interface loopback0 ! Utilise l’adresse de loopback comme IP source


Sécurisation des interfaces

! Définition de l’access-list appliqué à une interface donnant sur Internet
ip access-list standard Bad-Traffic-from-Internet
deny 192.168.0.0 0.0.255.255 ! Adresses Source en 192.168.X.X
deny 10.0.0.0 0.255.255.255 ! Adresses Source en 10.X.X.X
deny 172.16.0.0 0.15.255.255 ! Adresses Source en 127.16.X.X à 172.32.X.X
deny 127.0.0.0 0.255.255.255 ! Adresse Source « localhost »
permit any ! Autorise Le reste
!
interface INTERFACE-NAME
no ip proxy-arp ! Désactivation du proxy-arp
ip verify unicast reverse-path ! Active l’Anti-spoofing (« ip cef » obligatoire)
!

! Sécurité spéciale à ajouter au niveau des interfaces publiques uniquement (lien WAN, etc…):

!
no cdp enable ! Désactivation du CDP
no ip redirects ! Empêche les redirections ICMP
no ip unreachables ! Ne renvois de message d’erreur ICMP unreachables
no ip directed-broadcast ! Evite les broadcast dirigés (ex: 192.168.1.255)
ip access-group Bad-Traffic-from-Internet in
!

Spécificités pour un commutateur

VLAN d'administration


Déclaration de l’addressage IP sur le Vlan1 (pour le management, DNS, OSPF, etc…)

interface vlan1
ip address IP-ADDRESS MASK ! Paramètre son adresse IP
!
ip default-gateway GW-IP-ADDRESS !
Déclaration de la passerelle par défaut
Comments