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 | ||
| pratique:informatique:parefeu:nftables [05/06/2025 08:39] – [Vérification et mise en place] Zatalyz | pratique:informatique:parefeu:nftables [27/08/2026 14:09] (Version actuelle) – [Vérification et mise en place] Zatalyz | ||
|---|---|---|---|
| Ligne 11: | Ligne 11: | ||
| Plus d' | Plus d' | ||
| + | Comment savoir ce qu'il y a sur le serveur ? Simplement en essayant les commandes '' | ||
| + | < | ||
| + | sudo nft list ruleset | ||
| + | sudo iptables -L -n | ||
| + | sudo ufw status | ||
| + | sudo firewall-cmd --state | ||
| + | </ | ||
| + | |||
| + | La commande suivante indique ce que la commande iptable fait réellement : | ||
| + | sudo update-alternatives --display iptables | ||
| + | |||
| + | La réponse sera certainement : | ||
| + | |||
| + | < | ||
| + | le lien de la meilleure version est / | ||
| + | le lien pointe actuellement sur / | ||
| + | le lien iptables est / | ||
| + | le lien secondaire iptables-restore est / | ||
| + | le lien secondaire iptables-save est / | ||
| + | / | ||
| + | lien secondaire iptables-restore : | ||
| + | lien secondaire iptables-save : | ||
| + | / | ||
| + | lien secondaire iptables-restore : | ||
| + | lien secondaire iptables-save : | ||
| + | |||
| + | => cela indique que '' | ||
| + | |||
| + | < | ||
| + | sudo apt install nftables</ | ||
| ===== nftables.conf ===== | ===== nftables.conf ===== | ||
| Ce fichier ''/ | Ce fichier ''/ | ||
| Ligne 446: | Ligne 476: | ||
| type filter hook output priority 0; policy drop; | type filter hook output priority 0; policy drop; | ||
| # Autoriser le trafic de paquets " | # Autoriser le trafic de paquets " | ||
| - | ct state established accept | + | ct state established, |
| # Autorise le loopback sortant | # Autorise le loopback sortant | ||
| oifname " | oifname " | ||
| Ligne 455: | Ligne 485: | ||
| tcp dport { http, https } accept | tcp dport { http, https } accept | ||
| udp dport domain accept | udp dport domain accept | ||
| - | | + | |
| + | # Autoriser msmtp à envoyer ses mails | ||
| + | tcp dport { 25, 465, 587 } ct state new, | ||
| + | # Autoriser NTP | ||
| + | udp dport { 53, 123 } ct state new, | ||
| + | # Log de ce qui est bloqué | ||
| + | log prefix "[NFT OUTPUT DROP] " flags all drop | ||
| + | |||
| } | } | ||
| Ligne 496: | Ligne 533: | ||
| * -f : indique le fichier à lire (ici l' | * -f : indique le fichier à lire (ici l' | ||
| - | Une fois qu'on a configuré | + | Avant de redémarrer, |
| - | sudo systemctl enable nftables.service | + | < |
| - | | + | systemctl restart nftables || systemctl status nftables |
| + | echo " | ||
| + | read -p "press any key, or nft will be flushed" | ||
| + | if [ $? -eq 0 ]; then | ||
| + | echo -e " | ||
| + | else | ||
| + | echo -e " | ||
| + | nft flush ruleset | ||
| + | fi | ||
| + | }</ | ||
| + | |||
| + | Puis l' | ||
| Ligne 507: | Ligne 555: | ||
| nft -f / | nft -f / | ||
| + | Et pour les logs, si on a activé les [[pratique: | ||
| + | tail -f / | ||
| + | |||
| + | ==== Bannir ==== | ||
| Admirer en temps réel les bans ? Pour admirer le contenu d'un set (par exemple tempblock_v4), | Admirer en temps réel les bans ? Pour admirer le contenu d'un set (par exemple tempblock_v4), | ||
| sudo watch -n 1 'nft list set inet firewall tempblock_v4' | sudo watch -n 1 'nft list set inet firewall tempblock_v4' | ||
| - | Et pour les logs, si on a activé les [[pratique:informatique:systemd_error# | + | Pour bannir une ip en la mettant dans un set précis |
| - | | + | sudo nft add element inet firewall blocklist_v4 { 1xx.1xx.1.1xx } |
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Pour voir l' | ||
| + | | ||
| + | |||
| + | Pour supprimer une seule ip du set : | ||
| + | sudo nft delete element inet firewall blocklist_v4 { 1xx.1xx.1.1xx } | ||
| + | |||
| + | Pour vider tout le set : | ||
| + | sudo nft flush set inet firewall blocklist_v4 | ||
| ===== Sources ===== | ===== Sources ===== | ||