Que fait "IPFW" face à un protocole qu'il ne reconnait pas?
Et donc, que doit faire un pare-feu face à un protocole qu'il ne connait pas?
Il laisse passer ou pas. Le but c'est de pouvoir créer un règle qui laisse passer ou pas un protocol qui n'est pas udp ou tcp.
L'aspect 'connaitre' le protocol est un raffinement qui n'est pas forcement nécessaire, d'autant qu'on ne fait pas de NAT.
En sortie:
En udp et tcp on track un quintuplet (proto, ip source, port source, ip dest, port dest) car cela offre plus de sécurité et ca permet de fonctionner en tandem avec un NAT.
Avec n'importe quel protocol on peut juste tracker un triplet [proto, ip source, ip dest]. Meme avec UDP et TCP d'ailleurs, si on n'a pas de NAT on peut simplifier le firewall et juste tracker [proto, ip source, ip dest]: on sait que source a chercher a joindre dest et on laisse passer si y'a une règle qui le permet et le retour aussi si cette règle est statefull et on ignore complètement les n° ports.
Apres rien n'empeche de faire des firewall plus 'customisables' ou programmables pour entrer plus dans les détails d'un protocol inconnu mais cela aura un coût en performance et en complexité.
De toute facon un protocol n'a pas forcement de numéro de port, c'est un concept propre au protocol lui-meme.
En entrée:
en regles entrantes c'est pareil (ce qu'on appelle a confusion "ouverture de port" en IPv4).
TCP et UDP servent a tellement d'usages que firewaller aussi le numéro de port a son importance.
En IPv6 on peut aussi oublier les ports: on peut utiliser une IP par service par exemple.
ex:
en IPv4 on va ouvrir sur le firewall le port TCP 80 vers un serveur web interne car si on n'ouvre tout TCP et pas que TCP port 80 ca expose tout les services TCP du serveur ce qui n'est pas forcement bon (donc le firewall doit connaitre TCP et savoir ou est le numéro de port dans le paquet). En IPv6 on peut faire pareil et on va faire pareil le plus souvent (par habitude principalement).
Mais on peut faire différent: le serveur a plusieurs IPv6 et une seul est utilisée pour le service Web a destination de l’extérieur.
Dans ce cas ouvrir dans le firewall que cette IP avec TCP complet ne pose pas vraiment plus de probleme et en plus ca rend le firewall plus efficace (il check un triplet au lieu d'un quintuplet). on pourrait meme ouvrir tout les protos pour cette IP en fait, c'est encore plus simple.
L'idée est qu'on a tellement d'adresses dispos qu'on peut s'en servir aussi pour faire de la sécurité.
bref faut pas raisonner comme en IPv4 encore une fois.