Concevoir un site comme celui-ci avec WordPress.com
Commencer

Pare-feu: nftables

Comme nftables va devenir le pare-feu par défaut dans Debian, j’ai activé l’outil.

  1. Environnement.
  2. Installation.
  3. Utilisation de règles fournies par Debian.
    1. Activation du service.
    2. Vérification du service.
    3. Vérification de l’état des règles.
      1. Explication:
    4. Suppression des anciens outils.
  4. Nftables pour PC familial.
    1. Fichier /etc/nftables.conf
    2. Vérification.
    3. Explication.
  5. D’autres infos.

Environnement.

PC sous Linux Debian.

Installation.

nftables va devenir la norme: https://wiki.debian.org/nftables

 apt install nftables

Utilisation de règles fournies par Debian.

cp /usr/share/doc/nftables/examples/workstation.nft /etc/nftables.conf

Ouverture du port tcp/8200 pour Minidlna entre le PC et le mediacenter de la box. Modification du fichier /etc/nftables.conf

    # activate the following line to accept common local services
    tcp dport { 80, 443, 8200 } ct state new accept

Activation du service.

systemctl enable nftables.service
systemctl start nftables.service 

Vérification du service.

systemctl status nftables.service

 ● nftables.service - nftables
    Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: enabled)
    Active: active (exited) since Tue 2019-02-19 15:02:38 CET; 1h 11min ago
      Docs: man:nft(8)
            http://wiki.nftables.org
   Process: 12416 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=0/SUCCESS)
  Main PID: 12416 (code=exited, status=0/SUCCESS)
 févr. 19 15:02:38 debian systemd[1]: Starting nftables…
 févr. 19 15:02:38 debian systemd[1]: Started nftables...

Vérification de l’état des règles.

root@debian:~# nft list ruleset

table inet filter {

    chain input {

        type filter hook input priority 0; policy accept;

        iif "lo" accept

        ct state established,related accept

        tcp dport { http, https, 8200 } ct state new accept


        counter packets 3504 bytes 1523021 drop

    }

}

Explication:

  1. Ce jeu de règles ne concerne que les paquets entrants. Il n’y a aucun filtrage des paquets sortants.
  2. La politique par défaut est d’accepter les paquets entrants.
  3. Les paquets reçus (et donc émis) par l’interface de loopback sont acceptés.
  4. Les paquets reçus appartenant ou liés à des connexions existantes sont acceptés.
  5. Les paquets TCP reçus à destination des ports 80, 443, 8200 créant une nouvelle connexion sont acceptés
  6. Les autres paquets reçus sont comptés et bloqués.

Suppression des anciens outils.

apt purge --remove iptables ufw gufw

N.B: La conversion des règles iptables en règles nftables n’a pas été probante pour moi.

Nftables pour PC familial.

Fichier /etc/nftables.conf

#!/usr/sbin/nft -f
#
flush ruleset

table inet ma_table {
	chain trafic_entrant {
		type filter hook input priority 0; policy drop;
# par defaut le trafic entrant est rejeté		
		iif lo accept comment "Accepter le trafic local"
#		
		ct state invalid drop comment "Rejeter les connexions invalides"
#	
		ct state established,related accept comment "Accepter le trafic dont nous sommes à l'origine"
#
		counter drop comment "Compter et rejeter tout le reste"
	}

	chain trafic_transfert {
		type filter hook forward priority 0; policy drop; 
		# Pas de transfert, on est pas un routeur 
	}

	chain trafic_sortant {
		type filter hook output priority 0; policy accept; 
		# Accepter tout ce qui sort
	}

}

Vérification.

nft list ruleset
table inet ma_table {
	chain trafic_entrant {
		type filter hook input priority filter; policy drop;
		iif "lo" accept comment "Accepter le trafic local"
		ct state invalid drop comment "Rejeter les connexions invalides"
		ct state established,related accept comment "Accepter le trafic dont nous sommes à l'origine"
		counter packets 4 bytes 116 drop comment "Compter et rejeter tout le reste"
	}

	chain trafic_transfert {
		type filter hook forward priority filter; policy drop;
	}

	chain trafic_sortant {
		type filter hook output priority filter; policy accept;
	}
}

Explication.

Grossièrement, on filtre intelligemment le trafic entrant, on refuse le trafic en transfert, on autorise le trafic sortant.

D’autres infos.

PRISE EN MAIN DE L’OUTIL NFTABLES

Welcome to the nftables HOWTO documentation page.

Wiki Archlinux: Nftables

Global Information Assurance Certification Paper : Nftables as a Second Language

Red Hat: Getting started with nftables

Netfilter Workshop 2022 summary

Publicité

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.

%d blogueurs aiment cette page :