Firewall ( pare-feu / mur pare-feu )

Ma page sécurité GNU/Linux | Mes autres pages "sécurité"

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

iptables, ip6tables

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 :
    • # service iptables save
  • 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
    • Outil KDE

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
    • ajoute un filtrage identitaire à Netfilter
  • 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

Configuration RHEL et dérivés

  • Modification de la configuration du pare-feu
    1. 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")
    2. Valider la modification
    3. Afin que la modif. soit définitive (valable après reboot) : exécuter "service iptables save"
    4. 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




Vic
Page modifiée le 11 février 2016

Page d'accueil du site

Etre informé d'un changement de cette page

Fourni par ChangeDetection / Vie privé - Charte antispam