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 | |
![]() | |
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 187 ()[2] |
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 |
modifier ![]() |
Description
modifierIPFire 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
modifierIPFire 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
modifierAu 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)
modifierPakfire : le gestionnaire de paquets
modifierPakfire 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].
Addons
modifierIPFire 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 :
- avahi[29] : découverte de services sur le réseau ;
- bwm-ng[30] : monitoring de bande passante en mode texte ;
- 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 ;
- nginx[33] : le descendant d'Apache, mini-serveur pouvant servir de proxy, de serveur mail et de serveur web, évidemment, à faibles coûts ; à placer aussi en DMZ ;
- nmap[34] : le scanner de ports le plus connu au monde, qu'on ne présente plus ;
- speedtest-cli[35] : testeur de bande passante en CLI, qui interroge le site Speedtest.net ;
- stunnel[36] : proxy permettant d'initier un tunnel chiffré TLS ;
- tcpdump[37] : permet de capturer des trames et d'analyser le trafic réseau (en CLI) ;
- traceroute[38] : plus besoin de le présenter non plus ;
- tshark[39] : un analyseur de trames similaire à tcpdump, mais beaucoup plus puissant (la version CLI de wireshark).
- 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.
- Et bien d'autres, parmi lesquels :
- 7zip[46] : l'archiveur ultra-rapide, qui supporte les formats 7z, ZIP, CAB, ARJ, GZIP, BZIP2, TAR, CPIO, RPM et DEB ;
- ddrescue[47] : solution « de survie » pour tenter de récupérer des données perdues sur un support de stockage en mode blocs (il est basé sur dd) ;
- firmware-update[48] et flashrom[49] : le premier met à jour les micro-logiciels inclus dans beaucoup de matériels actuels et le second permet de lire, voire d'écrire dans une ROM (donc, un firmware, un BIOS / EFI / coreboot, etc.) ;
- htop[50] : la version en mode semi-graphique (grâce à la bibliothèque ncurses, liée) de top, le moniteur d'utilisation mémoire (mémoire vive et mémoire partagée) et CPU, constamment rafraîchi ;
- Libvirt[51] et QEMU[52] : la première est la bibliothèque / API permettant au second d'émuler des architectures, offrant une solution de virtualisation correcte ;
- lshw[53] : affiche des informations très détaillées sur la partie matérielle de l'ordinateur sur lequel tourne IPFire ;
- le fameux mc[54] : gestionnaire de fichiers en mode semi-graphique, très pratique, puisqu'utilisable dans un terminal, dérivé de l'application Norton Commander du DOS ;
- minicom[55] : l'incontournable émulateur ANSI et VT100, permettant de communiquer (en mode texte) avec le port RS-232 (« port série ») ce qui se révèle extrêmement utile quand on veut installer, configurer un switch ou un routeur sur lequel on n'a pas encore la main ;
- rsync[56] : une des meilleures solutions simples de synchronisation sécurisée (sauvegardes incrémentielles ou différentielles), en local ou à distance (via SSH) ;
- Tmux[57] : un multiplexeur de terminaux en mode texte, à l'instar de screen ;
- wavemon[58] : une application de surveillance des niveaux de signal, des statistiques de paquets (datagrammes) et de configuration du matériel Wi-Fi.
- Enfin, il en existe également une petite dizaine d'autres, dédiés au multimédia.
Notes et références
modifier- (en-US) « ARM », sur ipfire.org, (consulté le ).
- Michael Tremer, « IPFire 2.29 - Core Update 187 released », (consulté le )
- (en-US) « Pakfire », sur ipfire.org, (consulté le ).
- (en-US) « Web Interface (WebGUI) », (consulté le ).
- (en-US) « Using the Pakfire Console », (consulté le ).
- (en-US) « SSH Access », sur ipfire.org, (consulté le ).
- (en-US) « System Requirements », sur ipfire.org, (consulté le ).
- (en-US) « ARM », sur ipfire.org, (consulté le ).
- (en-US) « Add-ons », sur ipfire.org, (consulté le ).
- « Quelle est la durée moyenne de vie d’un SSD? », sur blog.kiatoo.com, (consulté le ).
- (en-US) « Network topologies and access methods », sur ipfire.org, (consulté le ).
- « Tor », sur ipfire.org, (consulté le ).
- (en-US) « NFS », sur ipfire.org, (consulté le ).
- (en-US) « Samba », sur ipfire.org, (consulté le ).
- (en-US) « tftpd », sur ipfire.org, (consulté le ).
- (en-US) « Wireless Access Point », sur ipfire.org, (consulté le ).
- (en-US) « CUPS », sur ipfire.org, (consulté le ).
- (en-US) « bacula », sur ipfire.org, (consulté le ).
- (en-US) « rsnapshot », sur ipfire.org, (consulté le ).
- (en-US) « socat », sur ipfire.org, (consulté le ).
- (en-US) « Postfix », sur ipfire.org, (consulté le ).
- (en-US) « fetchmail », sur ipfire.org, (consulté le ).
- (en-US) « Transmission », sur ipfire.org, (consulté le ).
- (en-US) « Freeradius Server », sur ipfire.org, (consulté le ).
- (en-US) « Lynis », sur ipfire.org, (consulté le ).
- (en-US) « Spectre Meltdown Checker », sur ipfire.org, (consulté le ).
- (en-US) « The Guardian 2.0 Addon », sur ipfire.org, (consulté le ).
- (en-US) « Intrusion Prevention System (IPS) », sur ipfire.org, (consulté le ).
- (en-US) « avahi », sur ipfire.org, (consulté le ).
- (en-US) « bwm-ng », sur ipfire.org, (consulté le ).
- (en-US) « fping », sur ipfire.org, (consulté le ).
- (en-US) « netcat / ncat », sur ipfire.org, (consulté le ).
- (en-US) « Nginx », sur ipfire.org, (consulté le ).
- (en-US) « nmap », sur ipfire.org, (consulté le ).
- (en-US) « speedtest-cli », sur ipfire.org, (consulté le ).
- (en-US) « stunnel », sur ipfire.org, (consulté le ).
- (en-US) « tcpdump », sur ipfire.org, (consulté le ).
- (en-US) « Traceroute », sur ipfire.org, (consulté le ).
- (en-US) « tshark », sur ipfire.org, (consulté le ).
- (en-US) « apcupsd », sur ipfire.org, (consulté le ).
- (en-US) « Network UPS Tools (NUT) », sur ipfire.org, (consulté le ).
- (en-US) « NRPE », sur ipfire.org, (consulté le ).
- (en-US) « watchdog », sur ipfire.org, (consulté le ).
- (en-US) « wio », sur ipfire.org, (consulté le ).
- (en-US) « Zabbix Agent », sur ipfire.org, (consulté le ).
- (en-US) « 7zip », sur ipfire.org, (consulté le ).
- (en-US) « ddrescue », sur ipfire.org, (consulté le ).
- (en-US) « firmware-update », sur ipfire.org, (consulté le ).
- (en-US) « flashrom », sur ipfire.org, (consulté le ).
- (en-US) « htop », sur ipfire.org, (consulté le ).
- (en-US) « Libvirt », sur ipfire.org, (consulté le ).
- (en-US) « QEMU », sur ipfire.org, (consulté le ).
- (en-US) « lshw », sur ipfire.org, (consulté le ).
- (en-US) « mc », sur ipfire.org, (consulté le ).
- (en-US) « minicom », sur ipfire.org, (consulté le ).
- (en-US) « rsync », sur ipfire.org, (consulté le ).
- (en-US) « Tmux », sur ipfire.org, (consulté le ).
- (en-US) « wavemon », sur ipfire.org, (consulté le ).