« Ip6tables » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 71 : | Ligne 71 : | ||
*https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMFHS-041/Netfilter-et-le-filtrage-du-protocole-IPv6 | *https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMFHS-041/Netfilter-et-le-filtrage-du-protocole-IPv6 | ||
*https://resources.sei.cmu.edu/tools/downloads/vulnerability-analysis/assets/IPv6/ip6tables_rules.txt | *https://resources.sei.cmu.edu/tools/downloads/vulnerability-analysis/assets/IPv6/ip6tables_rules.txt | ||
*https://debian-facile.org/viewtopic.php?id=24227 |
Version actuelle datée du 26 juillet 2021 à 13:05
Il s'agit de la même chose que iptables pour le protocole IPv6.
Attention !! Le changement des règles de filtrage peut dans certains cas engendrer une coupure de connexion. Il est judicieux de ne pas les inclure tout de suite dans un script exécuté au démarrage, mais de les tester au moins une fois avant. Il ne faudrait pas se tirer une balle dans le pied en se coupant sa propre connexion !
Comme d'habitude pour des raisons de sécurité, la première étape consiste à tout bloquer.
#purges de toutes les règles ip6tables -F INPUT ip6tables -F FORWARD ip6tables -F OUTPUT ip6tables -F #suppression des chaînes écrites par l'utilisateur ip6tables -X INPUT ip6tables -X FORWARD ip6tables -X OUTPUT ip6tables -X #pareil pour la table nat et mangle ip6tables -t nat -F ip6tables -t nat -X ip6tables -t mangle -F ip6tables -t mangle -X #changement de la politique des chaînes INPUT, FORWARD et OUTPUT, qui sera DROP par défaut ip6tables -P INPUT DROP ip6tables -P FORWARD DROP ip6tables -P OUTPUT DROP
Les règles suivantes vont permettre de ne pas casser les connexions déjà établie et autoriser le loopback.
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ip6tables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ip6tables -A INPUT -i lo -j ACCEPT # trafic local ip6tables -A OUTPUT -o lo -j ACCEPT # trafic local
Maintenant, on jette les paquets qualifiés d'invalide :
ip6tables -A INPUT -m state --state INVALID -j DROP ip6tables -A OUTPUT -m state --state INVALID -j DROP ip6tables -A FORWARD -m state --state INVALID -j DROP
Le protocole ICMPv6 va se charger de découvrir ses voisins, il est donc nécessaire pour un routeur d'autoriser certaines entrées :
ip6tables -I INPUT -p icmpv6 --icmpv6-type 133/0 -j ACCEPT ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 134/0 -j ACCEPT
Toujours dans le cas d'un routeur, pour vérifier l'unicité des adresses :
# Multicast Listener Report Message v2 ip6tables -A INPUT -p icmpv6 --icmpv6-type 143/0 -j ACCEPT # Neighbor Solicitation/Advertisement ip6tables -A INPUT -p icmpv6 --icmpv6-type 135/0 -j ACCEPT ip6tables -A INPUT -p icmpv6 --icmpv6-type 136/0 -j ACCEPT ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 135/0 -j ACCEPT ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 136/0 -j ACCEPT
Règles pour le ping :
#Ping ip6tables -A INPUT -p icmpv6 --icmpv6-type 128/0 -j ACCEPT ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 128/0 -j ACCEPT ip6tables -A FORWARD -p icmpv6 --icmpv6-type 128/0 -j ACCEPT
Source :