Nmap, est un bon outil, mais il faut savoir s’en servir (et bien savoir ce qu’on cherche à tester avec).
Un scan de ports de base ne montrera pas forcément les gros défauts du firewall. Notamment celui de flyght (voir autre discussion) : l’identification des paquets retour se base seulement sur le port source, ce qui constitue un trou béant puisqu’un attaquant a la liberté de choisir le port source qu’il va utiliser pour scanner n’importe quel port destination, et il n’aura pas à chercher bien loin, comme souvent : 80 (HTTP) en TCP et 53 (DNS) en UDP.
Autre défaut du jeu de règles : la (non-)gestion de la fragmentation. Dans le cas d’un paquet fragmenté, seul le premier fragment contient l’en-tête du protocole de transport (TCP, UDP) qui contient les ports source et destination. Les fragments suivants ne correspondant à aucune règle seront bloquées, le paquet incomplet ne pourra être réassemblé et sera perdu. Heureusement, cela n’arrivera pas car 1) on fait généralement en sorte d’éviter la fragmentation, et 2) le fait d’avoir chargé la table ‘nat’ d’iptables (même si elle est vide) active automatiquement le suivi de connexion IPv4 (même si les règles ne s’en servent pas) qui, par chance, effectue le réassemblage des paquets fragmentés avant qu’ils soit soumis aux règles iptables. A noter que ceci n’est vrai qu’en IPv4 ; en IPv6, le suivi de connexion ne réassemble pas les fragments.