Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
070-experiencesipv6:040-firewall_debase [le 17/03/2025 à 07:43] – prof | 070-experiencesipv6:040-firewall_debase [le 17/03/2025 à 14:21] (Version actuelle) – [Protéger la délégation] prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Couverture de survie ====== | ====== Couverture de survie ====== | ||
===== Le firewall de la Freebox ===== | ===== Le firewall de la Freebox ===== | ||
+ | La Freebox v6 propose une case à cocher pour activer un firewall sur la délégation principale. Si celle-ci est activée, alors une autre case concernant les délégations secondaires devient activable. | ||
+ | Le problème, c'est que rien n' | ||
+ | ==== Netfilter et Nftables (et Iptables) ==== | ||
+ | Juste un mot pour donner du courage. | ||
+ | * [[https:// | ||
+ | * IPtables, c'est l' | ||
+ | * Nftables apparaît comme le successeur d' | ||
+ | Passer d'un système de gestion des règles à l' | ||
+ | |||
+ | Ici, nous allons faire de la résistance, | ||
+ | < | ||
+ | < | ||
+ | |||
+ | ... | ||
+ | Réception de :1 http:// | ||
+ | Réception de :2 http:// | ||
+ | Réception de :3 http:// | ||
+ | Réception de :4 http:// | ||
+ | .... | ||
+ | Paramétrage de iptables (1.8.9-2) ... | ||
+ | update-alternatives: | ||
+ | update-alternatives: | ||
+ | <span class=" | ||
+ | update-alternatives: | ||
+ | update-alternatives: | ||
+ | update-alternatives: | ||
+ | ... | ||
+ | </ | ||
+ | On sent bien que iptables va être traduit en nftables au passage... | ||
+ | |||
+ | ==== Principes de base ==== | ||
+ | Il y a deux façons de concevoir un pare-feu: | ||
+ | - Tout interdire, sauf ce dont on a besoin; | ||
+ | - Tout autoriser sauf ce dont on n'a pas besoin. | ||
+ | Sur une installation similaire à notre maquette, nous pouvons effectuer un permier niveau de filtrage sur demoserver: | ||
+ | * pour sa protection personnelle; | ||
+ | * pour la protection des nœuds présents dans la délégation qui est derrière lui. | ||
+ | Nous pouvons également ajouter des filtrages plus personnels sur chaque hôte de la délégation. Le but ici est de faire juste un minimum, en partant du principe que les postes clients ne sont que des clients de l' | ||
+ | ==== Protéger demoserver ==== | ||
+ | Ce qui suit reste spécifique à IPv6. | ||
+ | |||
+ | Du fait que cet hôte n'a rien à partager avec le monde extérieur, aucune requête venant de dehors ne devrait passer. en mode TCP, tous les paquets contenant un simple [SYN] devraient être rejetés. | ||
+ | |||
+ | En revanche, demoserver va avoir des requêtes à formuler vers les services extérieurs, | ||
+ | En UDP, il n'y a pas de SYN, mais Netfilter va bien se débrouiller. | ||
+ | '' | ||
+ | Nous commençons par autoriser tout ce qui peut rentrer par enp7s0, l' | ||
+ | ip6tables -A INPUT -i enp7s0 -j ACCEPT | ||
+ | ip6tables -A INPUT -i lo -j ACCEPT | ||
+ | Sur enp1s0, nous devons laisser entrer toutes les adresses de type «lien-local» et, concernant le suivi de connexion, toutes les connexions établies et celles qui y sont attachées: | ||
+ | ip6tables -A INPUT -i enp1s0 -s FE80::/10 -j ACCEPT | ||
+ | ip6tables -A INPUT -i enp1s0 -m state --state RELATED, | ||
+ | Éventuellement, | ||
+ | ip6tables -A INPUT -p icmp -j ACCEPT | ||
+ | Et seulement dernier, la politique par défaut: | ||
+ | ip6tables -P INPUT DROP | ||
+ | Pour vérifier certaines choses, depuis un nœud capable d' | ||
+ | 2a01: | ||
+ | fe80:: | ||
+ | Testons un ping: | ||
+ | < | ||
+ | <span class=" | ||
+ | |||
+ | PING fe80:: | ||
+ | 64 bytes from fe80:: | ||
+ | |||
+ | --- fe80:: | ||
+ | <b>1 packets transmitted, | ||
+ | rtt min/ | ||
+ | |||
+ | <span class=" | ||
+ | |||
+ | PING 2a01: | ||
+ | From 2a01: | ||
+ | |||
+ | --- 2a01: | ||
+ | <b>1 packets transmitted, | ||
+ | |||
+ | </ | ||
+ | Formidable, ça marche comme prévu! | ||
+ | ==== Protéger la délégation ==== | ||
+ | Au minimum, empêcher les nouvelles connexions entrantes: | ||
+ | ip6tables -A FORWARD -i enp1s0 -m state --state RELATED, | ||
+ | Accepter toutes les connexions sortantes | ||
+ | ip6tables -A FORWARD -i enp7s0 -j ACCEPT | ||
+ | Et Par défaut: | ||
+ | ip6tables -P FORWARD | ||
+ | Vérifier que tout fonctionne depuis un client: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | PING www.debian.org(static-mirror-grnet-01.debian.org (2001: | ||
+ | 64 bytes from static-mirror-grnet-01.debian.org (2001: | ||
+ | |||
+ | --- www.debian.org ping statistics --- | ||
+ | <b>1 packets transmitted, | ||
+ | </ | ||
+ | mais qu'un ping venant de l' | ||
+ | < | ||
+ | < | ||
+ | |||
+ | PING 2a01: | ||
+ | |||
+ | --- 2a01: | ||
+ | <b>4 packets transmitted, | ||
+ | </ | ||
+ | ==== Bilan ==== | ||
+ | Nous avons maintenant toute possibilité d' | ||
Couverture de survie: Dernière modification le: 17/03/2025 à 07:43 par prof