NFtables
la commande doit être utilisée en tant que root
ex :
Ports 80 et 443 ouverts en entrée (INPUT) et sortie (OUTPUT)
Port 22 ouvert en entrée (INPUT) et sortie (OUTPUT)
Interdiction des paquets venant de 192.168.10.0/24
Refus du reste du trafic
une table pour une famille (recevra les chaines) :
nft add table ip mon_filtre
nft list tables (ip table mon_filtre)
nft delete table ip mon_filtre
nft add chain ip mon_filtre input { type filter hook input priority 0 \; }
nft add chain ip mon_filtre output { type filter hook output priority 0 \; }
nft add rule mon_filtre input tcp dport 80 accept
nft add rule mon_filtre input tcp dport 443 accept
nft add rule mon_filtre input drop
nft add rule mon_filtre output tcp sport 80 accept
nft add rule mon_filtre output tcp sport 443 accept
nft add rule mon_filtre output drop
nft add rule mon_filtre input position 5 tcp dport 22 accept
remplacer ‘add’ par ‘insert’ pour inserer règle avant la position 5
nft -a list table ip mon_filtre # supprimer regle
banir une IP :
nft add rule mon_filtre input ip saddr 192.168.10.1 drop
nft add rule mon_filtre output ip daddr 192.168.10.1 drop
nft list table mon_filtre > nftables.rules #save dans fichier /root/nftables/nftables.rules
nft –f nftables.rules #restauration des regles
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.10.135
netmask 255.255.255.0
pre-up nft –f /root/nftables/nftables.rules
iptables (config de netfilter)
sudo apt-get install iptables
sudo apt-get install iptables-persistent
sudo iptables [option] CHAIN_rule [-j target]
options :
-A –append : Ajoute une règle à une chaîne (à la fin).
-C –check : Recherche une règle qui correspond aux exigences de la chaîne.
-D –delete : Supprime les règles spécifiées d’une chaîne.
-F –flush : Supprime toutes les règles.
-I –insert : Ajoute une règle à une chaîne à une position donnée.
-L –list : Affiche toutes les règles d’une chaîne.
-N -new-chain : Crée une nouvelle chaîne.
-v –verbose : Affiche plus d’informations lors de l’utilisation d’une option de liste.
-X –delete-chain : Supprime la chaîne fournie.
sudo iptables -L #Lister règles de pare-feu
sudo iptables -A INPUT -i lo -j ACCEPT #autoriser le trafic sur localhost
sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT #autoriser le trafic sur des ports spécifiques
sudo iptables -A INPUT -s IP_à_autoriser -j ACCEPT #contrôler le trafic par adresse IP
sudo iptables -A INPUT -s IP_à_bloquer -j DROP #bloquer le trafic à partir d’une adresse IP
sudo iptables -A INPUT -j DROP #empêcher les accès non autorisés
sudo iptables -L –line-numbers #répertoriez toutes les règles
sudo iptables -D INPUT [Number] #supprimer règle
ajouter une règle en 5° position, qui autorise les nouvelles connexions entrantes en TCP vers port 80
sudo iptables -I INPUT 5 -p tcp –dport 80 -m state –state NEW -j ACCEPT
enregistrer de manière persistante
sudo netfilter-persistent save
ou : iptables-save > /etc/iptables/rules.v4 #(en root)
ufw
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw enable
Ufw status verbose
Ex sur un srv, pour eviter de se retrouver bloque à l’exterieur du srv :
sudo ufw disable
sudo service sshd restart #apres modif config
sudo ufw enable
