13 – régles de pare feu nftables

nftables remplace iptables dans la debian stretch.  Voici quelques règles toutes simples mais avant il faut installer nftables :

apt install nftables

Les règles :
On fait propre avant toutes choses

flush ruleset

On défini quelques variables

define trusted_source_ip = { 192.168.0.45 }
define admin_network = 192.168.110.0/24
define admin_iface = ens7
define wan_iface = ens2

La configuration du nat et du maquerade pour donner accès à internet à nos machines virtuelles. Du moins dans un premier temps pour leur installation.

table ip nat {
	chain prerouting {
		type nat hook prerouting priority 0;
	}
	chain postrouting {
		type nat hook postrouting priority 100;
		oifname $wan_iface masquerade
	}
}

Et notre filtrage

table ip filter {
	chain input {
		type filter hook input priority 0; policy drop;
		jump base_checks
		iif lo accept
		iifname $admin_iface jump input_admin
		iifname $wan_iface goto input_wan
		log drop
	}
	chain base_checks {
		ct state established,related accept
		ct state invalid drop	
		ip saddr $trusted_source_ip ip protocol icmp icmp type { destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept
		ip saddr $admin_network ip protocol icmp icmp type { echo-request, destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept
	}
	chain input_admin {
		udp sport bootps udp dport bootpc ip saddr $admin_network
	}
	chain input_wan {
		ip saddr $trusted_source_ip tcp dport ssh log accept
	}
	chain forward { 
		type filter hook forward priority 0; policy drop;
		jump base_checks
		ip saddr $admin_network iifname $admin_iface accept	
		log drop
	}
	chain output { 
		type filter hook output priority 0; policy drop;
		ct state established,related accept
		tcp dport {https, http} accept
		udp dport domain accept
		udp sport bootps udp dport bootpc ip saddr $admin_network
		log drop
	}
}

Toute cette configuration doit être faite dans le fichier /etc/nftables.conf qui sera ensuite chargé avec la commande :

systemctl restart nftables.service

Vous trouverez le fichier entier ici : ici

N’oublions pas d’activer l’ip_forward dans le fichier /etc/sysctl.conf

net.ipv4.ip_forward = 1

et on recharge la configuration

sysctl -p

Nous avons donc un minimum de sécurité et nous pouvons installer nos machines virtuelles. Dans la prochaine étape nous testerons tout ça en démarrant l’installation de notre premier serveur du cluster ceph.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *