Un peu de sécurité pour nos routeurs…
Ce n’est pas toujours clair, ni même évident à détecter, mais nos routeurs préférés ont parfois une multitude de services actifs qui peuvent potentiellement devenir des failles de sécurités. Voici donc quelques explications concernant certains services, et aussi comment les activer/désactiver le cas échéant…
TCP-SMALL-SERVERS / UDP-SMALL-SERVERS
Ces deux services activent des process en attente de connexions ou données. Par exemple:
Note: Pour la démonstration, le role du PC est assuré par un routeur pour des raison de facilités d’émulation dans GNS3.
- Protocole Echo (port n°7): renvoi une copie de toute donnée qui lui est passé
PC1#telnet 192.168.0.1 echo Trying 192.168.0.1, 7 ... Open hheelloo
Ce ci est le résultat d’une connexion au service ECHO en lui envoyant le mot « hello »
- Protocole Finger (port n°79): Ouvre une connexion TCP vers le port 79, le service répond par la liste des lignes actives.
PC1#telnet 192.168.0.1 finger Trying 192.168.0.1, 79 ... Open Line User Host(s) Idle Location 0 con 0 idle 00:00:01 * 66 vty 0 idle 00:00:00 192.168.0.10 Interface User Mode Idle Peer Address [Connection to 192.168.0.1 closed by foreign host] PC1#
- Protocole Chargen (port n°19): Envoi des séries de caractères sur la connexion établie par le client
PC1#telnet 192.168.0.1 chargen Trying 192.168.0.1, 19 ... Open !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl
- Protocole Discard (port n°9): Rejette toute donnée envoyée … donc ne fait rien! Difficile à présenter du coup 😉
- Protocole DayTime (port n°13): Renvoi les dates et heures courantes
PC1#telnet 192.168.0.1 daytime Trying 192.168.0.1, 13 ... Open Friday, March 1, 2002 00:23:30-UTC [Connection to 192.168.0.1 closed by foreign host] PC1#
Notez que la version UDP de ces services a exactement le même effet, si ce n’est qu’elle utilise UDP comme protocole de transport. Donc sans connexion au préalable. Envoyer un message UDP à destination du port n°13 du routeur, et il vous renverra l’heure 😉
Bien que ces services ne semblent pas être bien dangereux, il vaut mieux les désactiver, ce qui au minimum économisera les ressources nécessaires pour les faire tourner.
- Activer les services tcp-small-servers et udp-small-servers
router(config)# service tcp-small-servers router(config)# service udp-small-servers ! Selon les versions d'IOS le service finger doit être activé séparément ou pas ... au besoin: router(config)# ip finger
- Désactiver les services tcp-small-servers et udp-small-servers
router(config)# no service tcp-small-servers router(config)# no service udp-small-servers ! Selon les versions d'IOS le service finger doit être activé séparément ou pas ... au besoin: router(config)# no ip finger
Proxy-Arp
De nouveau selon les versions d’IOS et la plateforme utilisée, il se peut que votre routeur fasse automatiquement office de proxy ARP … Il s’agit simplement de propager les requêtes ARP provenant d’un réseau et les renvoyer dans un autre réseau. Chose qui normalement ne devrait pas se produire … après tout un routeur a pour vocation de limiter la propagation des broadcasts!
La commande « show ip interface … » vous permet de voir si cette fonctionnalité est active ou non.
R1#show ip interface fastEthernet 0/0 FastEthernet0/0 is up, line protocol is up Internet address is 192.168.0.1/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Local Proxy ARP is disabled Security level is default Split horizon is enabled ...
- Activer Proxy-Arp
router(config)#interface fastEthernet 0/0 router(config-if)#ip proxy-arp
- Désactiver Proxy-Arp
router(config)#interface fastEthernet 0/0 router(config-if)#no ip proxy-arp
Directed Broadcasts
Si j’envois un des données à destination de l’adresse broadcast d’un réseau distant, ces données devraient être routées comme tout paquet unicast, arriver au routeur connecté dans ce réseau, et celui-ci devrait émettre le broadcast dans le réseau. On comprend vite que ce genre de pratique ouvre d’énormes possibilités en matière de perturbation de réseau, il serait possible d’envoyer des données à tout un réseau, sans même être dedans… Du coup… il est vivement conseillé de désactiver cette fonctionnalité.
C’est de nouveau la commande « show ip interface… » qui permet de voir si cette fonctionnalité est active ou non …
R1#show ip interface fastEthernet 0/0 FastEthernet0/0 is up, line protocol is up Internet address is 192.168.0.1/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Outgoing access list is not set Inbound access list is not set ...
- Activer les « Directed Broadcasts »
router(config)#interface fastEthernet 0/0 router(config-if)#ip directed-broadcast
- Désactiver les « Directed Broadcasts »
router(config)#interface fastEthernet 0/0 router(config-if)#no ip directed-broadcast
Source Routing
Le protocole IPv4 dispose d’une multitude d’options généralement méconnues et très souvent peu utilisées. L’une d’entre elles est le « source routing » qui permet à l’émetteur d’un paquet de lister dans les options du paquet une série de routeurs par lesquels les données devraient transiter. Bien entendu, utilisé à mauvais escient cela peu devenir une faille de sécurité, il est donc généralement de bon ton de désactiver cette option. (Option active par défaut)
- Activer le « Source routing »
router(config)#ip source-route
- Désactiver le « Source routing »
router(config)#no ip source-route
Conclusion
Voilà donc quelques exemples de services, certes parfois nécessaires, mais le plus souvent il convient de les désactiver, ou du moins de s’assurer qu’ils le soient. La liste n’est bien entendu pas exhaustive, suite au prochain épisode 😉
Bonjour Steve, je suis très absent ces temps ci du au fait que j’ai débuté mon module de Sécurité CCIE, mais je veux pouvoir apporter ma contribution relatif a cet article très instructif.
En effet au programme cette semaine, nous avons passer en revue services actifs sur les routeurs Cisco qui peuvent potentiellement devenir des failles de sécurités.
Et l’une des méthodes principales etaient soient de les désactiver, ou de les limiter et ou les controler via des Access Control list (ACL).
Une Astuce pour voir tout les services activer sur votre Routeur :
R1 #show running-config all
Une astuce pour configurer les parametres de securite de base :
R1 #auto secure
Thanks !!!
Bonjour,
Merci pour tout, vos articles sont toujours accessibles et utiles.
Encore merci de mettre a disposition du public toutes ces connaissances
Continuez svp pour notre plus grand plaisir
serge
Merci encore Steve pour tes articles qui sont toujours aussi enrichissants.