Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Proxmox iptables » : différence entre les versions

De The Linux Craftsman
Ligne 57 : Ligne 57 :
</source>
</source>
Il vous propose de sauvegarder les règles IPv4 et IPv6 mais pour ceux qui auraient raté le message, vous pouvez toujours faire:
Il vous propose de sauvegarder les règles IPv4 et IPv6 mais pour ceux qui auraient raté le message, vous pouvez toujours faire:
{|align=center
|-
|align=left|
Pour IPv4
|width=10px|
|align=left|
Pour IPv6
|-
|valign=top|
<source lang=bash>
iptables-save > /etc/iptables/rules.v4
</source>
|width=10px|
|valign=top|
<source lang=bash>
ip6tables-save > /etc/iptables/rules.v6
</source>
|}

Version du 30 juin 2026 à 17:08

Introduction

Vous n'êtes pas sans savoir qu'iptables est une commande permettant configurer netfilter la partie du noyau chargé du filtrage réseau. Iptables est installé de base sur Proxmox mais, comme Proxmox hérite de Debian, aucune configuration n'est faite et aucun moyen de charger la configuration n'est présent...

Si jamais vous voulez plus d'information à ce sujet, je vous invite à lire le cours sur les pare-feux ou les différents articles traitant du sujet !

Avant d'aller plus loin, veuillez configurer des noms explicite sur vos interfaces réseaux, dans cet article, l'interface que nous allons sécuriser est l'interface de management.

État des lieux

Vous pouvez voir la configuration en tapant la commande suivante:

# iptables -nvL
Chain INPUT (policy ACCEPT 8969 packets, 2422K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2885 packets, 1041K bytes)
 pkts bytes target     prot opt in     out     source               destination

Vous pouvez constater que les polices sont sur ACCEPT et qu'aucune règle n'est présente dans la chaîne INPUT. C'est ce que les experts appellent une configuration en mode passoire 😂

Application des règles

Nous allons paramétrer quelques règles de bases sur l'interface vmbr0 qui nous sert de management, les mêmes qui sont présentes sur une machine Rocky à l'installation d'iptables, à savoir :

  • on autorise tout ce qui fait parti d'une session déjà démarrée
  • on autorise tout le trafique sur l'interface de loopback
  • on autorise les messages ICMP (ping)
  • on autorise le SSH (TCP/22)
  • on drop tout le reste

Et on oublie pas d'ajouter aussi le port de PveProxy (l'interface web) qui est le TCP/8006, ce qui nous donne:

iptables -A INPUT -i vmbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i vmbr0 -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i vmbr0 -p tcp -m state --state NEW -m tcp --dport 8006 -j ACCEPT
iptables -A INPUT -i vmbr0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP

Si vous n'utilisez pas d'IPv6, autant tout bloquer:

ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT DROP

Persistance

Maintenant que nous avons toutes nos règles, ils faut les faire persister au redémarrage du serveur et pour cela nous allons utiliser le paquetage iptables-persistent:

apt -y install iptables-persistent

Il vous propose de sauvegarder les règles IPv4 et IPv6 mais pour ceux qui auraient raté le message, vous pouvez toujours faire:

Pour IPv4

Pour IPv6

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6