web-dev-qa-db-fra.com

Pourquoi UFW doit être (re) démarré au démarrage s'il ne s'agit que du gestionnaire de règles iptables?

LISEZMOI du paquet source dit:

When installing ufw from source, you will also need to integrate it into your
boot process for the firewall to start when you restart your system. Depending
on your needs, this can be as simple as adding the following to a startup
script (eg rc.local for systems that use it):

# /lib/ufw/ufw-init start

For systems that use SysV initscripts, an example script is provided in
doc/initscript.example. See doc/upstart.example for an Upstart example. Consult
your distribution's documentation for the proper way to modify your boot
process.

Sur mon système, j'ai ceci:

# /etc/ufw/ufw.conf
#

# Set to yes to start on boot. If setting this remotely, be sure to add a rule
# to allow your remote connection before starting ufw. Eg: 'ufw allow 22/tcp'
ENABLED=yes

Alors, pourquoi le gestionnaire de règles iptables simple doit-il être démarré au démarrage? Y a-t-il un secret à cela ou cela vérifie-t-il que toutes les règles sont en place?

6
Tomasz Zieliński

Lorsque le système est démarré, il n'y a pas de règles de pare-feu. Le noyau n'enregistre pas ceux-ci ailleurs.

Si vous ne démarrez pas UFW (ou un autre gestionnaire de pare-feu), votre iptables est vide. De plus, la règle par défaut pour chaque chaîne (FORWARD, INPUT, OUTPUT) est ACCEPT, donc tout est autorisé.

Donc, UFW ne se contente pas de vérifier, il met en place ces règles et crée des chaînes supplémentaires qu’il utilise pour la gestion des règles.

7
Olli

Lorsque vous exécutez iptables (l'outil de bas niveau permettant de manipuler les règles de pare-feu netfilter sous Linux), la règle est chargée uniquement dans le noyau et se trouve donc dans la RAM. Lorsque vous arrêtez ou redémarrez, le noyau est réinitialisé, car RAM n'est pas une mémoire persistante et ACCEPT est configuré par défaut pour toutes les tables (ou aucun pare-feu).

Par conséquent, pour qu'un pare-feu soit disponible après le démarrage, vous devez charger les règles iptables dans le noyau. Vous pouvez le faire manuellement en ajoutant des règles iptables à un script exécuté au démarrage, tel que /etc/rc.local, ou en utilisant un outil pour le faire à votre place. ufw est l'un de ces outils et, lorsqu'il est activé, il s'occupe du chargement des règles de pare-feu au démarrage, s'il est intégré au processus de démarrage, comme le dit le README. Si ufw est empaqueté pour votre distribution, comme dans Ubuntu, l’emballage en prendra soin pour vous. En termes simples, après avoir installé ufw via apt-get sous Ubuntu, vous n’avez plus rien à faire pour l’intégrer au système autre que d’exécuter 'Sudo ufw enable'.

5
jdstrand

Pour enregistrer le statut ufw, vous devez exécuter cette commande:

Sudo invoke-rc.d iptables-persistent save

alors vos règles seront sauvegardées et chargées après le redémarrage.

1
user214627