La sécurité des "Box" est effectivement importante : C'est typiquement un équipement via lequel transitent tous les flux et qui est le premier point de contact avec le monde extérieur (que ce soit vis-à-vis de l'Internet mais aussi par rapport au "nuage WAN" d'un réseau MPLS privé). Pour compléter le tableau, ce sont des équipements sur lesquels on ne va pas tous les jours... sauf à être un administrateur réseau ayant des tendances compulsives. C'est très souvent l'équipement qui se trouve quelque part dans un coin et qui se fait oublier jusqu'au jour ou il tombe en panne ou qu'il faut le configurer pour activer une nouvelle fonction.
Quels grands principes adopter et quels outils pourraient nous faciliter la tâche pour améliorer notablement le niveau de sécurité de ces équipements ?
Pour commencer quelques "principes/recommandations" :
1) Réduction de la surface d'attaque : N'activer que les fonctions (ou services) que vous utilisez. C'est une recommandation très simple de prime abord, mais dans 90% des cas on peut désactiver tel ou tel service ou protocole. Attention ici : Il arrive que des fonctions/services soient actifs "par défaut" sans qu'il y ai la moindre ligne de configuration correspondante...
2) Limitation de l'exposition : Pour les services utiles, ne les activer que sur les interfaces réseaux depuis lesquelles il est raisonnable/normal d'y accéder. Par exemple, le service de supervision SNMP ne doit pas être visible depuis l'extérieur (interface WAN) si vos systèmes de supervision sont sur votre LAN. Pour les services qui doivent rester accessibles, les protéger en sus via des ACLs.
3) Version sécurisée des protocoles/services : Préférez en priorité (en ayant soin de les configurer correctement) les versions sécurisées/renforcées des protocoles d'administration ou de supervision : SSH est mieux que Telnet, SNMPv3 et plus sécurisé que les versions antérieures, etc.... Idem pour les couches et protocoles de routage : Les sessions BGP avec vos "peers" peuvent être sécurisées via MD5.
4) Passage en revue régulier : Pensez à faire "la tournée des popottes" de temps à autres pour vérifier que la configuration de vos équipements est comme elle devrait l'être. C'est surtout important après l'intervention d'un prestataire ou d'une personne tierce soit intervenue pour une évolution ou régler un problème. Un classique ? Pour aider au diagnostic il arrive de désactiver des ACLs... en oubliant de les réactiver après-coup. Le top étant que ce passage en revue soit automatisé...
5) La veille sécurité : Un équipement sur lequel tourne une version de micro-logiciel (firmware) présentant des vulnérabilités connues est une source de problèmes latents, ou autrement dit une bombinette à grenaille avec une mêche à retardement. Abonnez-vous aux listes de diffusion des éditeurs/équipementiers.... Après, il faut prendre le temps de faire les mises à jour en acceptant les effets de bords : Indisponibilité éventuelle durant la mise à jour, régression fonctionnelle, etc...
6) Les mots de passe : Je sais c'est très basique comme recommandation. Mais la réalité montre que malheureusement ce point n'est pas (encore) acquis. Changer systématiquement les mots par défaut et sélectionnez des mots de passe robustes... Choisissez aussi de stockage vos mots de passe de façon sécurisée (le CISCO 7 c'est nul... préférez le stockage des mots de passe en local via MD5). Le top ? Un serveur distant de type TACACS ou RADIUS avec des profils utilisateurs et tout et tout, bref du AAA comme on sait si bien faire depuis pas mal de temps.
7) La supervision sécurité: Alors là, c'est le dernier item.... et qui est TRES rarement mis en place au sein des entreprises (je parle en connaissance de cause) alors je ne vous raconte pas la messe pour le périmètre du grand public... La collecte et l'analyse des évenements de sécurité ne s'improvise pas et à un coût certain. La supervision permet notamment d'inscrire les différentes recommandations précédentes dans le temps, en augmentant mécaniquement le retour sur investissement. A minima, je conseillerai de mettre en place un suivi sur le contenu des configurations ainsi que sur les activités relatives aux mots de passe et l'utilisation qui en est faite.
C'est bien beau tout ça... Mais comment je commence et quels outils utiliser ? Sans aller dans les détails ni dans les secrets de fabrication, quels pointeurs :
Pour commencer, un peu de documentation : Le guide de la NSA sur la sécurisation des routeurs est un classique indémodable et très pertinent (NSA, Router Security Configuration Guide).
Si vous souhaitez tester la configuration de votre routeur via un outil pour avoir un "score" et une liste de points à corriger, deux outils :
- D'un coté "RAT" (Router Audit Tool, disponible depuis le site du "Center for Internet Security")
- Et de l'autre NIPPER qui est un outil de très bonne facture.
Pour suivre dans le temps la configuration de vos équipements, un outil comme ZipTie (Intègre Nipper + de quoi récupérer vos fichiers de conf) allié à un bon vieux CVS (je sais, c'est "old school"...) devrait vous aider.
Et pour tester les choses "vu de l'attaquant" : Le classique scanner de ports qu'est nmap et son confrère Nessus peuvent être d'une aide certaine. Ils vous permettront entre autres de détecter les services réseaux "actifs par défaut" ou ceux présentant des vulnérabilités (Le classique c'est NTP : Pas besoin d'avoir un serveur NTP en écoute sur le routeur pour synchroniser l'horloge de ce dernier...).
Cette liste de conseils ne se veut pas exhaustive/complète : Soyez créatif, curieux en conservant votre esprit critique : Ce qui est "bon" pour un environnement ne l'est pas forcément pour un autre.
..... J'aurai bien d'autres choses à vous raconter sur le sujet mais ce sera pour une prochaine fois peut-être !
Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens