IPFire

système d'exploitation
(Redirigé depuis Ipfire)

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 ».

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

Description

modifier

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

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

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.

Système de base (out-of-the-box)

modifier

Pakfire : le gestionnaire de paquets

modifier

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.

Ses fonctionnalités les plus importantes 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].

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

À ce jour (), il y a 99 add-ons 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 POP ou IMAP ;
  • Transmission[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 :
  • Une grosse dizaine d'outils de surveillance, parmi lesquels :
    • apcupsd[40] : permet la gestion simple des onduleurs (de la marque APC (American Power Conversion de Schneider Electric) du LAN ;
    • NUT (Network_UPS_Tools (en))[41] : idem à apcupsd ci-dessus, mais non limité à la marque APC et beaucoup plus puissant ;
    • NRPE[42] : permet d’interagir avec le Nagios Remote Plugin Executor (NRPE) installé sur un serveur Nagios du LAN ;
    • watchdog[43] : redémarre le système en cas de détection d'un problème sérieux ;
    • wio[44] : service de surveillance intégré indiquant quels appareils du LAN sont connectés ou en ligne et qui peut également envoyer des alarmes, il est en mode graphique et hautement configurable ;
    • Zabbix Agent[45] : permet d’interagir avec le serveur Zabbix du LAN afin de surveiller une instance d'IPFire par l'intermédiaire d'un tableau de bord graphique.
  • Enfin, il en existe également une petite dizaine d'autres, dédiés au multimédia.

Notes et références

modifier
  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) « Nginx », sur ipfire.org, (consulté le ).
  34. (en-US) « nmap », sur ipfire.org, (consulté le ).
  35. (en-US) « speedtest-cli », sur ipfire.org, (consulté le ).
  36. (en-US) « stunnel », sur ipfire.org, (consulté le ).
  37. (en-US) « tcpdump », sur ipfire.org, (consulté le ).
  38. (en-US) « Traceroute », sur ipfire.org, (consulté le ).
  39. (en-US) « tshark », sur ipfire.org, (consulté le ).
  40. (en-US) « apcupsd », sur ipfire.org, (consulté le ).
  41. (en-US) « Network UPS Tools (NUT) », sur ipfire.org, (consulté le ).
  42. (en-US) « NRPE », sur ipfire.org, (consulté le ).
  43. (en-US) « watchdog », sur ipfire.org, (consulté le ).
  44. (en-US) « wio », sur ipfire.org, (consulté le ).
  45. (en-US) « Zabbix Agent », sur ipfire.org, (consulté le ).
  46. (en-US) « 7zip », sur ipfire.org, (consulté le ).
  47. (en-US) « ddrescue », sur ipfire.org, (consulté le ).
  48. (en-US) « firmware-update », sur ipfire.org, (consulté le ).
  49. (en-US) « flashrom », sur ipfire.org, (consulté le ).
  50. (en-US) « htop », sur ipfire.org, (consulté le ).
  51. (en-US) « Libvirt », sur ipfire.org, (consulté le ).
  52. (en-US) « QEMU », sur ipfire.org, (consulté le ).
  53. (en-US) « lshw », sur ipfire.org, (consulté le ).
  54. (en-US) « mc », sur ipfire.org, (consulté le ).
  55. (en-US) « minicom », sur ipfire.org, (consulté le ).
  56. (en-US) « rsync », sur ipfire.org, (consulté le ).
  57. (en-US) « Tmux », sur ipfire.org, (consulté le ).
  58. (en-US) « wavemon », sur ipfire.org, (consulté le ).

Liens externes

modifier