Recherche de site Web

Comment explorer la configuration du pare-feu Shorewall sous Linux


Dans mon précédent article, nous avons appris l’installation de Shorewall, la configuration du fichier de configuration et la configuration de la redirection de port via NAT. Dans cet article, nous allons nous pencher sur les erreurs courantes associées à Shorewall, fournir des solutions et présenter ses options de ligne de commande.

Shorewall offre un large éventail de commandes qui peuvent être exécutées sur la ligne de commande. En jetant un coup d’œil à l’homme shorewall, vous devriez avoir beaucoup à voir, mais la première tâche que nous allons effectuer est une vérification de nos fichiers de configuration.

sudo shorewall check

Shorewall affichera une vérification de tous vos fichiers de configuration et des options qu’ils contiennent.

Le résultat ressemblera à ceci.

Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking MAC Filtration -- Phase 1...
Checking /etc/shorewall/rules...
Checking /usr/share/shorewall/action.Invalid for chain %Invalid...
Checking MAC Filtration -- Phase 2...
Applying Policies...
Checking /etc/shorewall/routestopped...
Shorewall configuration verified

La ligne magique que nous recherchons est celle en bas qui se lit comme suit : « Configuration du mur de rivage vérifiée ». Si vous recevez des erreurs, elles sont probablement dues à des modules manquants dans la configuration de votre noyau.

Je vais vous montrer comment résoudre deux des erreurs les plus courantes, mais il vous incombe de recompiler votre noyau avec tous les modules nécessaires si vous prévoyez d’utiliser votre machine comme pare-feu.

La première erreur, et la plus courante, est l’erreur concernant le NAT.

Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Checking /etc/shorewall/zones...
Checking /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking /etc/shorewall/masq...
    ERROR: a non-empty masq file requires NAT in your kernel and iptables /etc/shorewall/masq (line 15)

Si vous voyez quelque chose qui ressemble à cela, il y a de fortes chances que votre noyau actuel ne soit pas compilé avec le support du NAT. C’est courant avec la plupart des noyaux prêts à l’emploi. Veuillez lire mon tutoriel sur « Comment compiler un noyau Debian » pour vous aider à démarrer.

Une autre erreur courante produite par la vérification est l’erreur concernant iptables et la journalisation.

shorewall check
Checking...
Processing /etc/shorewall/params...
Processing /etc/shorewall/shorewall.conf
Loading Modules..
   ERROR: Log level INFO requires LOG Target in your kernel and iptables

C’est aussi quelque chose que vous pouvez compiler dans un nouveau noyau, mais il existe une solution rapide si vous souhaitez utiliser ULOG. ULOG est un mécanisme de journalisation différent de syslog. Il est assez facile à utiliser.

Pour définir cela, vous devez changer chaque instance de « info » en « ULOG » dans tous vos fichiers de configuration dans /etc/shorewall. La commande suivante peut le faire pour vous.

cd /etc/shorewall
sudo sed –i ‘s/info/ULOG/g’ *

Après cela, éditez le fichier /etc/shorewall/shorewall.conf et définissez la ligne.

LOGFILE=

À l’endroit où vous souhaitez que votre journal soit stocké. Le mien est dans /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

En exécutant à nouveau la commande suivante, vous devriez obtenir un bon bilan de santé.

shorewall check

L’interface de ligne de commande de Shorewall est livrée avec de nombreuses lignes pratiques pour les administrateurs système. Une commande fréquemment utilisée, en particulier lorsque de nombreuses modifications sont apportées au pare-feu, consiste à enregistrer l’état actuel de la configuration afin de pouvoir revenir en arrière en cas de complications.

La syntaxe est simple.

sudo shorewall save <filename>

Il est tout aussi facile de revenir en arrière :

sudo shorewall restore <filename>

Shorewall peut également être démarré et configuré pour utiliser un autre répertoire de configuration. Vous pouvez spécifier qu’il s’agit de la commande start, mais vous voudrez d’abord la vérifier.

sudo shorewall check <config-directory>

Si vous souhaitez simplement essayer la configuration, et si elle fonctionne, démarrez-la, vous pouvez spécifier l’option try.

sudo shorewall try <config-directory> [  ]

Shorewall n’est qu’une des nombreuses solutions de pare-feu robustes disponibles sur les systèmes Linux. Quelle que soit l’extrémité du spectre du réseautage où vous vous trouvez, beaucoup le trouvent simple et utile.

Ce n’est qu’un petit début, et un qui peut vous mettre sur votre chemin sans trop entrer dans les concepts de réseautage. Comme toujours, veuillez faire des recherches et jeter un coup d’œil aux pages de manuel et autres ressources. La liste de diffusion de Shorewall est un endroit génial, elle est à jour et bien entretenue.

Articles connexes: