• Aucun résultat trouvé

Le spoofing et les mauvaises adresses source.

4.Vérification de l’interface avec ifconfig.

M. ROOT-SERVERS.NET 3600000 A 202.12.27.33 ; End of File

VI. Le courrier électronique.

7. Construction d’un firewall.

7.2. Initialisation du firewall.

7.2.5. Le spoofing et les mauvaises adresses source.

Au niveau du filtrage de paquets, une des fausses adresses identifiable avec certitude est l’imitation de l’adresse IP du firewall. Il faut donc établir une règle refusant tous les paquets entrants prétendant provenir du firewall.

ipchains –A input –i $INTERNETETH –s $INTERNETADDR –j DENY -l

Il n’est pas nécessaire de bloquer les paquets sortants qui sont destinés au firewall. En effet, ces paquets passent toujours par l’interface loopback.

Les adresses IP réservées aux réseaux privés ne peuvent en aucun cas être reçues par le firewall. De même, le firewall ne doit jamais diffuser les adresses privées vers Internet. Voici une série de règles empêchant la réception et la distribution de ces adresses :

ipchains –A input –i $INTERNETETH –s $CLASSEA –j DENY ipchains –A input –i $INTERNETETH –d $CLASSEA –j DENY ipchains –A output –i $INTERNETETH –s $CLASSEA –j DENY -l ipchains –A output –i $INTERNETETH –d $CLASSEA –j DENY -l ipchains –A input –i $INTERNETETH –s $CLASSEB –j DENY ipchains –A input –i $INTERNETETH –d $CLASSEB –j DENY ipchains –A output –i $INTERNETETH –s $CLASSEB –j DENY -l ipchains –A output –i $INTERNETETH –d $CLASSEB –j DENY -l ipchains –A input –i $INTERNETETH –s $CLASSEC –j DENY ipchains –A input –i $INTERNETETH –d $CLASSEC –j DENY ipchains –A output –i $INTERNETETH –s $CLASSEC –j DENY -l ipchains –A output –i $INTERNETETH –d $CLASSEC –j DENY -l

Il faut également refuser les paquets possédant une adresse source réservée à l’interface loopback : ipchains –A input –i $INTERNETETH –s $LOOPBACK –j DENY

ipchains –A output –i $INTERNETETH –s $LOOPBACK –j DENY -l

Les paquets broadcast peuvent avoir une adresse source ou une adresse destination illégale. Un paquet entrant possédant une adresse source 255.255.255.255 est certainement illégal car l’adresse source ne peut être que 0.0.0.0. Dans le même ordre d’idée, un paquet entrant possédant une adresse destination 0.0.0.0 est certainement illégal car l’adresse destination ne peut être que 255.255.255.255. En résumé, les paquets entrants ayant une adresse source correspondant à une adresse broadcast de destination doivent être éliminés de même que les paquets entrants ayant une adresse de destination correspondant à une adresse broadcast source. Cette inversion dans l’utilisation des adresses broadcast n’est pas une erreur mais une sonde employée pour identifier les machines utilisant UNIX.

ipchains –A input –i $INTERNETETH –s $BROADCASTDEST –j DENY ipchains –A input –i $INTERNETETH –d $BROADCASTSRC –j DENY -l

Les adresses multicast ne sont légales qu’à la condition d’être une adresse de destination. Cela signifie que les paquets possédant une adresse source de type multicast sont des attaques par spoofing.

ipchains –A input –i $INTERNETETH –s $CLASSED –j DENY –l ipchains –A output –i $INTERNETETH –s $CLASSED –j REJECT –l

De plus, le firewall ne doit pas envoyer des paquets multicast vers Internet. La règle suivante bloque l’envoi des paquets multicast :

ipchains –A output –i $INTERNETETH –d $CLASSED –j REJECT –l

Si la machine firewall n’est pas inscrite à un service broadcast, il est permis au moyen de la règle suivante, de refuser tous les paquets multicast entrants :

ipchains –A input –i $INTERNETETH –d $CLASSED –j REJECT –l

Les adresses de la classe E sont réservées à un usage expérimental et ne sont, par conséquent, pas employées sur Internet. Il faut donc refuser tous les paquets entrants prétendant provenir d’un réseau de classe E.

ipchains –A input –i $INTERNETETH –s $CLASSEE –j DENY –l

L’Internet Assigned Numbers Authority (IANA) administre la distribution et l’enregistrement des espaces d’adresses IP du monde entier. Quelques blocs d’adresses sont identifiés comme étant réservés à l’IANA. Ces adresses ne devraient pas apparaître dans le réseau public Internet. Voici les plages d’adresses réservées à l’IANA :

Début Fin Début Fin Début Fin

1.0.0.0 1.255.255.255 69.0.0.0 69.255.255.255 116.0.0.0 116.255.255.255 2.0.0.0 2.255.255.255 70.0.0.0 70.255.255.255 117.0.0.0 117.255.255.255 5.0.0.0 5.255.255.255 71.0.0.0 71.255.255.255 118.0.0.0 118.255.255.255 7.0.0.0 7.255.255.255 72.0.0.0 72.255.255.255 119.0.0.0 119.255.255.255 23.0.0.0 23.255.255.255 73.0.0.0 73.255.255.255 120.0.0.0 120.255.255.255 27.0.0.0 27.255.255.255 74.0.0.0 74.255.255.255 121.0.0.0 121.255.255.255 31.0.0.0 31.255.255.255 75.0.0.0 75.255.255.255 122.0.0.0 122.255.255.255 37.0.0.0 37.255.255.255 76.0.0.0 76.255.255.255 123.0.0.0 123.255.255.255 39.0.0.0 39.255.255.255 77.0.0.0 77.255.255.255 124.0.0.0 124.255.255.255 41.0.0.0 41.255.255.255 78.0.0.0 78.255.255.255 125.0.0.0 125.255.255.255 42.0.0.0 42.255.255.255 79.0.0.0 79.255.255.255 126.0.0.0 126.255.255.255 58.0.0.0 58.255.255.255 80.0.0.0 95.255.255.255 217.0.0.0 217.255.255.255 60.0.0.0 60.255.255.255 96.0.0.0 111.255.255.255 218.0.0.0 218.255.255.255 65.0.0.0 65.255.255.255 112.0.0.0 112.255.255.255 219.0.0.0 219.255.255.255 66.0.0.0 66.255.255.255 113.0.0.0 113.255.255.255 220.0.0.0 223.255.255.255 67.0.0.0 67.255.255.255 114.0.0.0 114.255.255.255 68.0.0.0 68.255.255.255 115.0.0.0 115.255.255.255 Voici les règles du firewall refusant les paquets provenant soit -disant de l’IANA : ipchains –A input –i $INTERNETETH –s 1.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 2.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 5.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 7.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 23.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 27.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 31.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 37.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 39.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 41.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 42.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 58.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 60.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 65.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 66.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 67.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 68.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 69.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 70.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 71.0.0.0/8 –j DENY –l

ipchains –A input –i $INTERNETETH –s 72.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 73.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 74.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 75.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 76.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 77.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 78.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 79.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 80.0.0.0/4 –j DENY –l ipchains –A input –i $INTERNETETH –s 96.0.0.0/4 –j DENY –l ipchains –A input –i $INTERNETETH –s 112.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 113.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 114.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 115.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 116.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 117.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 118.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 119.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 120.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 121.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 122.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 123.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 124.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 125.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 126.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 217.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 218.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 219.0.0.0/8 –j DENY –l ipchains –A input –i $INTERNETETH –s 220.0.0.0/6 –j DENY –l

7.3. Filtrage des messages d’état et de contrôle ICMP.

Les messages de contrôle ICMP apparaissent à la suite d’un certain nombre d’erreurs, ils sont produits par un programme d’analyse de réseau tel que ping et traceroute. Voici les types de messages ICMP les plus courants :

Code Nom symbolique Description

0 echo-reply Réponse à un ping.

3 destination-unreachable Message d’erreur général ; un routeur le long du trajet est incapable de transmettre le paquet à la destination suivante (utilisé par traceroute).

4 source-quench Contrôle de flux de niveau IP entre deux routeurs ou entre un routeur et un hôte. 5 redirect Message d’acheminement renvoyé à l’expéditeur lorsque le routeur détermine qu’il

existe un chemin plus court.

8 echo-request Requête ping.

11 time-exceeded Message d’acheminement renvoyé lorsque le nombre maximal de hops est dépassé (utilisé par traceroute).

12 parameter-problem Valeur non attendue se trouvant dans l’en-tête du paquet.