Les outils sont basés sur le framework de filtrage de paquets netfilter
intégré au noyau Linux.
La configuration des tables par des règles permet le filtrage et la translation de ports et d'adresses IP (NA[P]T (Network Address [Port]
Translation)).
Tables
- Table Filter : filtre les paquets réseau entrants et sortant, table utilisée par défaut par iptables
- Table NAT : translation d'adresses
- Table Mangle : altération des paquets
- Plus d'infos
Docs, infos
Outils de configuration et de gestion de base
Les pare-feu iptables et ufw sont des interfaces en ligne de commande (utilisables dans un terminal), basés sur le framework de filtrage
de paquets netfilter intégré au noyau Linux.
ufw
- ufw est moins complet que iptables
- gufw : GUI pour ufw
Outil pour le filtrage de paquet et NAT.
Doc
Outil qui applique les règles iptables au démarrage (à partir d'Ubuntu 12.04)
Quelques commandes utiles (sans l'option -t, la table Filter (firewall) est utilisée)
- # iptables -L -t nat (liste les règles de la table NAT)
- # iptables -L [-v] [-n] [--line-numbers] (liste les règles du pare-feu)
- # iptables -F (désactive les règles du pare-feu)
- Sauvegarde des règles et (re)chargement de ces règles
- # iptables-save > /sauvegarde/iptables-save.res
- # iptables-restore < /sauvegarde/iptables-save.res
Exemples
- # iptables -I INPUT 1 --protocol tcp --destination-port 3306 -s 127.0.0.1 -j ACCEPT (ajout en début de table,
accepter les connexions locales vers le port du serveur MySQL)
- # iptables -I INPUT 2 --protocol tcp --destination-port 3306 -j REJECT (refuser les connexions réseau vers ce
port-là)
- # iptables -A INPUT -d adresse_ip -j DROP (jeter les paquets venant de cette adresse-là)
- # iptables -A OUTPUT -d adresse_ip -j DROP (empêcher les communications vers cette adresse-là)
- Afin que la modif. soit valable également après reboot, exécuter :
- Une vérification visuelle peut être effectuée en listant le contenu du fichier "/etc/sysconfig/iptables".
Rem : REJECT est préférable à DROP au niveau d'un port, car un scanner de ports verra le port positionné à
DROP comme "filtré" (ce qui laisse supposer qu'un service est derrière), de plus, DROP ne génère pas de logs.
Vérifications : analyser les communications par tcpdump
Outils de configuration et de gestion de + haut niveau (interface graphique)
- Firestarter (doc
Ubuntu fr, tuto fr, tuto)
- Note : Depuis Ubuntu 9.04, Gufw serait préféré à Firestarter.
- Firestarter est un programme Gnome qui permet de de configurer et de surveiller un
firewall GNU/Linux utilisant ipchains / iptables.
- Avantage de Firestarter : dans la section "Evénements" on peut voir les connexions bloquées, et en autoriser certaines d'un
click droit, en choisissant "Autoriser les connexions de la source" (exemple : pour FreeTV).
- Gufw : interface graphique (GUI) permettant de configurer aisément
les règles du pare-feu ufw
- KMyFirewall
Autres outils de configuration
- Easy Firewall Generator for IPTables
- Outil en ligne qui génère des shell-scripts de configuration en fonction de certains critères.
- FirewallBuilder
- GUI pour créer des règles, par glisser/déposer, etc.
- Licence GPL
- ERA : application graphique de génération de
règles
- pour le pare-feu Amon, basé sur la distrib GNU/Linux Eole,
elle-même basée sur Ubuntu (article
fr)
- ERA permet également de générer des règles iptables.
- Linux-Firewall.org (pas 64-bits)
- Moblock et son interface graphique Moblocker (infos
Ubuntu)
- pour bloquer des connexions en provenance d'adresses IP prédéfinies.
- NuFW
- Shorewall - outil firewall/gateway, basé sur des fichiers de config et
utilisant des commandes (iptables, iptables-restore, ip et tc) pour configurer netfilter
et le réseau
- Doc : /usr/share/doc/shorewall, paquet shorewall-doc, doc Ubuntu fr
- Logs
- Fichiers de config
- Fichiers dans /etc/shorewall
- /etc/default/shorewall (startup=0 par défaut, startup=1 pour que shorewall démarre)
- Commandes
- # shorewall status
- # shorewall show config
- # shorewall show capabilities
- # shorewall show connections
- # shorewall show nat
Logs
- Analyse des logs du firewall
Configuration RHEL et dérivés
- Modification de la configuration du pare-feu
- Exécuter "system-config-securitylevel" ; ajouter le port à autoriser dans le champ "Other
ports" (exemple autorisant le passage des requêtes XDMCP de ReflectionX : "177:udp")
- Valider la modification
- Afin que la modif. soit définitive (valable après reboot) : exécuter "service iptables
save"
- Une vérification visuelle peut être effectuée en listant le contenu du fichier
"/etc/sysconfig/iptables".
- Arrêt du pare-feu
- # service iptables status
- # service iptables save
- # service iptables stop
- # chkconfig iptables off
|