Aller au contenu

IPFire

Un article de Wikipédia, l'encyclopédie libre.

IPFire
Image illustrative de l’article IPFire

Famille Linux
État du projet en développement constant
Plates-formes x86_64 ARM64[1]
Entreprise /
Développeur
Équipe IPFire
Licence GPL
États des sources Logiciel libre et open source
Dernière version stable 2.29 Core Update 186 ()[2]Voir et modifier les données sur Wikidata
Méthode de mise à jour Pakfire[3]
Interface utilisateur par défaut WebGUI[4]
Gestionnaire de paquets Pakfire[5],[3]
Site web www.ipfire.org

IPFire est un firewall stateful destiné aux professionnels aussi bien qu'aux particuliers ; il est basé sur Linux From Scratch, une distribution Linux construite entièrement à partir du code source (contrairement aux autres distributions Linux, qui fournissent des paquets pré-compilés), que l'on peut installer sur un PC même un peu âgé, en fonction de ses besoins. On peut considérer l'ensemble comme une « distribution à usage spécifique » ou distribution « dédiée ».

Description[modifier | modifier le code]

IPFire est un firewall, faisant — évidemment — office de routeur. À la différence des autres distributions Linux, il n'est pas question — pour des raisons évidentes de sécurité — de l'utiliser comme un système d'exploitation « normal » ; sa destinée est d'être installé sur un PC qui ne servira que de firewall / routeur et qu'on administrera — la plupart du temps — par le réseau ; typiquement : à partir d'un navigateur web vers le port du serveur de la WebGUI Web Interface (WebGUI)[4] ou d'une connexion SSH, à partir d'un terminal[6].

Concept[modifier | modifier le code]

IPFire est la reprise, par une équipe de développeurs allemands, d'IPCop, pare-feu lui-même déjà basé sur Linux From Scratch, dont le développement à cessé en 2017. La conception modulaire permet aux utilisateurs de créer un firewall adapté à leurs besoins. Il peut être installé sur du matériel très ancien, mais il est préférable de lui offrir suffisamment de mémoire et un processeur véloce, car un firewall « à état » analyse chaque paquet (datagramme), le confrontant à chaque règle, au fur-et-à-mesure de leur entrée sur le réseau et cela demande pas mal de ressources (fonction du nombre de connexions, donc de la taille du réseau et du nombre de règles), sauf à engorger ledit réseau. Mais cela reste proportionnel aux besoins, un petit réseau local pourra, effectivement, se satisfaire d'un matériel relativement ancien et « faire le boulot », la conception d'IPFire est faite justement pour utiliser le moins possible de ressources, ce qui complique le développement. Son cahier des charges pourrait être résumé en « sécurité, économie des ressources et robustesse ».

Configuration requise[modifier | modifier le code]

Au minimum[7] :

  • processeur : depuis 2022, un processeur x86_64 ou ARM64 (et quelques autres[8]), cadencé à une fréquence de 1GHz ou plus ;
  • RAM : 1GB minimum pour une configuration de base, mais prévoir plus si l'on compte ajouter des add-ons[9] et encore plus selon la taille du réseau ;
  • HDD : un disque dur de 2GB minimum est requis[7], même si le système, en lui-même, nécessite seulement 200MB d'espace de stockage ; pour une configuration « de confort », les développeurs préconisent plutôt 4GB minimum (à cause des journaux et des add-ons) ; N.B. :
    • IPFire supporte les disques de 3TB ou plus, de types IDE (PATA), SATA et SCSI. La plupart des contrôleurs RAID du marché sont également supportés[7].
    • On peut utiliser un disque SSD (pour l'installation du système d'exploitation et des add-ons) ce qui aura pour avantage de considérablement réduire les délais de lectures/écritures, mais avec l'inconvénient de la durée de vie relativement courte (7 ans en moyenne, mais beaucoup moins sur un firewall, en raison d'un grand « TBW » (« Terabytes written », soit nombre de Téraoctets écrits)) de ce type de disques et du MTBF (qui dépend directement du TBW[10]).
  • NICs : Deux cartes ethernet sont indispensables pour une utilisation minimale (« WAN » + « LAN ») et quatre sont requises pour utiliser la totalité des possibilités d'IPFire[11] :
    • une pour le réseau « RED » (la patte « WAN », raccordée au modem / routeur xDSL ou fibre optique connecté au FAI) ;
    • une deuxième, indispensable aussi, pour la connexion au LAN « GREEN » (la patte « LAN » du firewall, raccordée au(x) switch(es) du LAN) ;
    • une troisième, facultative, pour le réseau « BLUE », raccordée à un point d'accès Wi-Fi (ou à un switch, lui-même connecté à un AP (Access Point / point d'accès)), pour gérer les connections au(x) réseau(x) WiFI à l'intérieur du réseau ;
    • enfin, une dernière, facultative également, pour le réseau « ORANGE », dédié à la DMZ.

Pakfire : le gestionnaire de paquets[modifier | modifier le code]

Pakfire est un système complet — et spécialement développé — de gestion des paquets, à l'instar de ses homologues APT pour Debian ou YUM pour RedHat, Fedora ou CentOS. Il offre un moyen sûr et simple d'installer les mises à jour des paquets et des modules complémentaires.

Les fonctionnalités les plus importantes de Pakfire sont :

  • Chiffrement : tous les paquets et les données transférées sont cryptés et signés numériquement par le serveur. Par conséquent, aucun paquet contrefait ne peut être installé.
  • Miroirs : grâce au système de cryptage, on peut faire totalement confiance aux serveurs miroirs.
  • Facilité et souplesse d'utilisation : l’installation des paquets est simple, avec sa propre interface graphique (WebGUI)[3], mais si l'on préfère, on peut utiliser la CLI, par l'intermédiaire de SSH, dans un terminal[5].

Addons[modifier | modifier le code]

IPFire offre une grande quantité d'add-ons, qui sont régulièrement mis à jour par PakFire.

Au , il y a 99 Addons disponibles[9], parmi lesquels on trouve :

  • Tor[12] pour transformer IPFire en proxy Tor, grâce à Squid ;
  • plusieurs serveurs de fichiers comme NFS[13], Samba[14], TFTPD[15] (lequel est très pratique pour héberger les images systèmes et les mises à jour des switches) ;
  • Wireless Access Point[16] , pour, à l'aide d'une carte Wi-FI, transformer IPFire en point d'accès directement relié au réseau « BLUE » ;
  • le serveur d'impressions CUPS[17], pour gérer les imprimantes du réseau ;
  • Bacula[18] ou rsnapshot[19], entre autres, comme solutions de backup ;
  • socat[20] (pour « SOcket CAT »), un couteau-suisse des transmissions, sorte de relais proxy pour les transferts bidirectionnels de données entre deux canaux (il en existe énormément, voir la doc) indépendants ; un nc amélioré ;
  • postfix[21], le MTA bien connu sous Unix et fetchmail[22], pour récupérer, le cas échéant, le courrier sur un serveur ;
  • Transmission (logiciel)[23], le client BitTorrent… même si c'est une très mauvaise idée d'ouvrir inutilement des ports externes sur un firewall, mieux vaut utiliser, par exemple, une machine dédiée qui sera dans la DMZ (le réseau « ORANGE ») ;
  • FreeRadius[24], offrant une solution centralisée d'authentification (communiquant avec LDAP (Active Directory, sous Windows), RADIUS et d'autres protocoles) ;
  • Lynis[25] pour auditer les machines du réseau ou le firewall lui-même ; Spectre Meltdown Checker[26] pour vérifier que le(s) CPU(s) ne sont pas sensibles à des vulnérabilités connues telles que Spectre ; ou encore Guardian[27], l'ancien IDS, encore très utile pour les attaques SSH en « force brute » ;
  • Suricata[28] le nouvel IPS.
  • Près de 25 outils réseau, parmi lesquels :
    • avahi[29] : découverte de services sur le réseau ;
    • bwm-ng[30] : monitoring de bande passante en mode semi-graphique (avec la bibliothèque ncurses) ;
    • fping[31] : ping sous stéroïdes ;
    • netcat / ncat [32] : « GNU-netcat » (« nc » de son petit-nom) est « le couteau-suisse de l'administrateur réseau » depuis 2004 ;
    • nmap[33] : le scanner de ports le plus connu au monde, qu'on ne présente plus ;
    • speedtest-cli[34] : testeur de bande passante en CLI, qui interroge le site Speedtest.net ;
    • stunnel[35] : proxy permettant d'initier un tunnel chiffré TLS entre client et serveur ;
    • tcpdump[36] : permet de capturer des trames et d'analyser le trafic réseau (en CLI) ;
    • traceroute[37] : plus besoin de le présenter non plus ;
    • tshark[38] (anciennement wireshark) : un analyseur de trames (comme tcpdump), mais beaucoup plus puissant et en mode graphique ;
    • nginx[39] : le descendant d'Apache, mini-serveur pouvant servir de proxy, de serveur mail et de serveur web, évidemment, à faible coûts ; à placer aussi en DMZ ;

et bien d'autres.

Notes et références[modifier | modifier le code]

  1. (en-US) « ARM », sur ipfire.org, (consulté le ).
  2. Michael Tremer, « IPFire 2.29 - Core Update 186 released », (consulté le )
  3. a b et c (en-US) « Pakfire », sur ipfire.org, (consulté le ).
  4. a et b (en-US) « Web Interface (WebGUI) », (consulté le ).
  5. a et b (en-US) « Using the Pakfire Console », (consulté le ).
  6. (en-US) « SSH Access », sur ipfire.org, (consulté le ).
  7. a b et c (en-US) « System Requirements », sur ipfire.org, (consulté le ).
  8. (en-US) « ARM », sur ipfire.org, (consulté le ).
  9. a et b (en-US) « Add-ons », sur ipfire.org, (consulté le ).
  10. « Quelle est la durée moyenne de vie d’un SSD? », sur blog.kiatoo.com, (consulté le ).
  11. (en-US) « Network topologies and access methods », sur ipfire.org, (consulté le ).
  12. « Tor », sur ipfire.org, (consulté le ).
  13. (en-US) « NFS », sur ipfire.org, (consulté le ).
  14. (en-US) « Samba », sur ipfire.org, (consulté le ).
  15. (en-US) « tftpd », sur ipfire.org, (consulté le ).
  16. (en-US) « Wireless Access Point », sur ipfire.org, (consulté le ).
  17. (en-US) « CUPS », sur ipfire.org, (consulté le ).
  18. (en-US) « bacula », sur ipfire.org, (consulté le ).
  19. (en-US) « rsnapshot », sur ipfire.org, (consulté le ).
  20. (en-US) « socat », sur ipfire.org, (consulté le ).
  21. (en-US) « Postfix », sur ipfire.org, (consulté le ).
  22. (en-US) « fetchmail », sur ipfire.org, (consulté le ).
  23. (en-US) « Transmission », sur ipfire.org, (consulté le ).
  24. (en-US) « Freeradius Server », sur ipfire.org, (consulté le ).
  25. (en-US) « Lynis », sur ipfire.org, (consulté le ).
  26. (en-US) « Spectre Meltdown Checker », sur ipfire.org, (consulté le ).
  27. (en-US) « The Guardian 2.0 Addon », sur ipfire.org, (consulté le ).
  28. (en-US) « Intrusion Prevention System (IPS) », sur ipfire.org, (consulté le ).
  29. (en-US) « avahi », sur ipfire.org, (consulté le ).
  30. (en-US) « bwm-ng », sur ipfire.org, (consulté le ).
  31. (en-US) « fping », sur ipfire.org, (consulté le ).
  32. (en-US) « netcat / ncat », sur ipfire.org, (consulté le ).
  33. (en-US) « nmap », sur ipfire.org, (consulté le ).
  34. (en-US) « speedtest-cli », sur ipfire.org, (consulté le ).
  35. (en-US) « stunnel », sur ipfire.org, (consulté le ).
  36. (en-US) « tcpdump », sur ipfire.org, (consulté le ).
  37. (en-US) « Traceroute », sur ipfire.org, (consulté le ).
  38. (en-US) « tshark », sur ipfire.org, (consulté le ).
  39. (en-US) « Nginx », sur ipfire.org, (consulté le ).

Lien externe[modifier | modifier le code]