Aller au contenu

« IPFire » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Yebaco (discuter | contributions)
Fonctionnalité de suggestions de liens : 3 liens ajoutés.
m v2.05b - Bot T3 PCS#579 - Correction syntaxique (Balise à simplifier - Orthographe et typographie)
(30 versions intermédiaires par un autre utilisateur non affichées)
Ligne 1 : Ligne 1 :
{{en travaux|date=juillet 2024}}
{{Infobox Système d'exploitation
{{Infobox Système d'exploitation
| nom = IPFire
| nom = IPFire
Ligne 5 : Ligne 6 :
| famille = [[Linux]]
| famille = [[Linux]]
| langues =
| langues =
| état du projet = en développement
| état du projet = en développement constant
| plates-formes possibles = [[x64|x86_64]] [[ARMv8|ARM64]]<ref>{{lien web|url=https://www.ipfire.org/docs/hardware/arm|langue=en-US|titre=ARM|site=ipfire.org|date=2023-12-30|consulté le=2024-07-04}}.</ref>
| plates-formes possibles = [[i586]] [[Architecture ARM|armv5tel]]
| fondateur =
| fondateur =
| développeur = Équipe IPFire
| développeur = Équipe IPFire
| licence = [[Licence publique générale GNU|GPL]]
| licence = [[Licence publique générale GNU|GPL]]
| état des sources = [[Logiciel libre]] et [[open source]]
| état des sources = [[Logiciel libre]] et [[open source]]
| méthode de mise à jour = Pakfire<ref name="pakfire">{{lien web|url=https://www.ipfire.org/docs/configuration/ipfire/pakfire|langue=en-US|titre=Pakfire|site=ipfire.org|date=2023-09-29|consulté le=2024-07-04}}.</ref>
| méthode de mise à jour = Pakfire
| gestionnaire de paquets = Pakfire<ref name="PKFSSH">{{lien web|url=https://www.ipfire.org/docs/configuration/ipfire/pakfire/pakfireconsole|langue=en-US|titre=Using the Pakfire Console|date=2024-03-04|consulté le=2024-07-04}}.</ref>{{,}}<ref name="pakfire" />
| gestionnaire de paquets = Pakfire
| interface utilisateur = [[Interface utilisateur|Interface utilisateur Web]]
| interface utilisateur = [[Interface utilisateur|WebGUI]]<ref name="WUI">{{lien web|url=https://www.ipfire.org/docs/configuration|langue=en-US|titre=Web Interface (WebGUI)|date=2023-08-09|consulté le=2024-07-04}}.</ref>
| interface graphique =
| interface graphique =
| site web = [http://ipfire.org/ www.ipfire.org]
| site web = [http://ipfire.org/ www.ipfire.org]
Ligne 19 : Ligne 20 :
| version suivante =
| version suivante =
}}
}}
'''''IPFire''''' est un [[Pare-feu à états|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''''' est une [[distribution Linux]] basée sur [[Linux From Scratch]] : « Le système de base utilise LFS (Linux from Scratch) », faisant office de [[pare-feu (informatique)|pare-feu]].


== Description ==
== Description ==
IPFire est un [[pare-feu (informatique)|firewall]], faisant {{incise|évidemment}} office de [[routeur]]. À la différence des autres distributions Linux, il n'est pas question {{incise|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 {{incise|la plupart du temps}} par le réseau ; typiquement : à partir d'un [[navigateur web]] vers le [[Port (logiciel)|port]] du serveur de la Web[[Interface graphique|GUI]] Web Interface (WebGUI)<ref name="WUI" /> ou d'une connexion [[Secure Shell|SSH]], à partir d'un terminal<ref name="SSH">{{lien web|url=https://www.ipfire.org/docs/configuration/system/ssh|langue=en-US|titre=SSH Access|site=ipfire.org|date=2023-02-25|consulté le=2024-07-04}}.</ref>.
IPFire est une distribution [[GNU/Linux]], orientée [[routeur]] et pare-feu qu'il est possible de configurer.


== IPFire ==
== Concept ==
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.
IPFire est basée sur Linux From Scratch, et est aussi à l'origine un spin-off de [[IPCop]], mais dans la version 2, seule l'interface web d'IPCop a été utilisée.
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 (réseau)|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 ==
La conception modulaire permet aux utilisateurs de créer un système adapté à leurs besoins. Cela peut être un petit système très ancien, comme un processeur Intel [[Pentium 4]] ou encore un processeur multi-cœur.
Au minimum<ref name="ressources">{{lien web|url=https://www.ipfire.org/docs/hardware/requirements|langue=en-US|titre=System Requirements|site=ipfire.org|date=2023-07-11|consulté le=2024-07-04}}.</ref> :
* [[Processeur 64 bits|processeur]] : depuis 2022, un processeur [[x64|x86_64]] ou [[ARMv8|ARM64]] (et quelques autres<ref name="ARM">{{lien web|url=https://www.ipfire.org/docs/hardware/arm|langue=en-US|titre=ARM|site=ipfire.org|date=2023-09-29|consulté le=2024-07-04}}.</ref>), cadencé à une fréquence de 1GHz ou plus ;
* [[Mémoire vive|RAM]] : 1[[Gigabyte|GB]] minimum pour une configuration de base, mais prévoir plus si l'on compte ajouter des add-ons<ref name="addons">{{lien web|url=https://www.ipfire.org/docs/addons|langue=en-US|titre=Add-ons|site=ipfire.org|date=2024-06-17|consulté le=2024-07-04}}.</ref> et encore plus selon la taille du réseau ;
* [[Disque dur|HDD]] : un disque dur de 2GB minimum est requis<ref name="ressources" />, même si le système, en lui-même, nécessite seulement 200MB d'[[Stockage d'information|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 [[Parallel ATA|IDE]] (PATA), [[Serial ATA|SATA]] et [[Small Computer System Interface|SCSI]]. La plupart des contrôleurs [[RAID (informatique)|RAID]] du marché sont également supportés<ref name="ressources" />.
** 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 [[Temps moyen entre pannes|MTBF]] (qui dépend directement du TBW<ref>{{lien web|url=https://blog.kiatoo.com/conseils-achat/duree-moyenne-vie-ssd-825|titre=Quelle est la durée moyenne de vie d’un SSD?|site=blog.kiatoo.com|date=2023-10-05|consulté le=2024-07-04}}.</ref>).
* [[Carte réseau|NICs]] : Deux cartes [[ethernet]] sont indispensables pour une utilisation minimale (« [[réseau étendu|WAN]] » + « [[Réseau local|LAN]] ») et quatre sont requises pour utiliser la totalité des possibilités d'IPFire<ref name="NET">{{lien web|url=https://www.ipfire.org/docs/networking|langue=en-US|titre=Network topologies and access methods|site=ipfire.org|date=2022-08-02|consulté le=2024-07-04}}.</ref> :
** une pour le réseau « RED » (la patte « WAN », raccordée au [[modem]] / [[routeur]] [[Digital subscriber line|xDSL]] ou [[fibre optique]] connecté au [[Fournisseur d'accès à Internet|FAI]]) ;
** une deuxième, indispensable aussi, pour la connexion au LAN « GREEN » (la patte « LAN » du firewall, raccordée au(x) [[Commutateur réseau|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 [[Zone démilitarisée (informatique)|DMZ]].


== Système de base (out-of-the-box) ==
== [[Configuration requise]] ==
{{…}}
Au minimum:
Un processeur Intel Pentium I avec 256 Mo de RAM. Un [[disque dur]] de 4 Go.
Deux prises réseaux: Une pour le raccordement DSL (modem ou autre), l'autre pour la connexion au LAN.


== Pakfire : le gestionnaire de paquets ==
Un des concepts de base de cette distribution est l'opération simple, qui est adaptée à des utilisateurs particuliers qui sont familiers avec les réseaux et services de petit serveur.
Pakfire est un système complet {{incise|et spécialement développé}} de gestion des paquets, à l'instar de ses homologues [[Advanced Packaging Tool|APT]] pour [[Debian]] ou [[Yellowdog Updater, Modified|YUM]] pour [[Red Hat Linux|RedHat]], [[Fedora Linux|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 :
La virtualisation est possible ([[Kernel-based Virtual Machine|KVM]], VMware, [[Xen|XEN]]...).
* 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)<ref name="pakfire" />, mais si l'on préfère, on peut utiliser la [[Interface en ligne de commande|CLI]], par l'intermédiaire de SSH, dans un terminal<ref name="PKFSSH" />.


== Addons ==
== Gestionnaire de paquets Pakfire ==
IPFire offre une grande quantité d'[[Plugin|add-ons]], qui sont régulièrement mis à jour par PakFire.
IPFire offre un système complet de gestion de paquets. On peut ainsi disposer d'un système simple et léger qui agit comme un pare-feu, ou l'équiper de nombreuses extensions. Il peut donc s'adapter à différents scénarios. Enfin, les questions de sécurité sont rapidement résolues par les mises à jour.


À ce jour ({{date|juillet 2024}}), il y a 99 add-ons disponibles<ref name="addons" />, parmi lesquels on trouve :
Le système de base est livré avec les caractéristiques suivantes :
* [[Tor (réseau)|Tor]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/tor|titre=Tor|site=ipfire.org|date=2022-12-06|consulté le=2024-07-05}}.</ref> pour transformer IPFire en [[proxy]] Tor, grâce à [[Squid (logiciel)|Squid]] ;
* plusieurs [[Serveur de fichiers|serveurs de fichiers]] comme [[Network File System|NFS]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/nfs|langue=en-US|titre=NFS|site=ipfire.org|date=2022-07-14|consulté le=2024-07-05}}.</ref>, [[Samba (informatique)|Samba]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/samba|langue=en-US|titre=Samba|site=ipfire.org|date=2022-08-02|consulté le=2024-07-04}}.</ref>, [[Trivial File Transfer Protocol|TFTPD]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/tftpd|langue=en-US|titre=tftpd|site=ipfire.org|date=2023-06-03|consulté le=2024-07-05}}.</ref> (lequel est très pratique pour héberger les images systèmes et les mises à jour des [[commutateur réseau|switches]]) ;
* [[Point d'accès sans fil|Wireless Access Point]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/wireless|langue=en-US|titre=Wireless Access Point|site=ipfire.org|date=2023-05-16|consulté le=2024-07-05}}.</ref>, 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 [[Common Unix Printing System|CUPS]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/cups|langue=en-US|titre=CUPS|site=ipfire.org|date=2023-04-25|consulté le=2024-07-05}}.</ref>, pour gérer les imprimantes du réseau ;
* [[Bacula (logiciel)|Bacula]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/bacula|langue=en-US|titre=bacula|site=ipfire.org|date=2022-06-18|consulté le=2024-07-05}}.</ref> ou rsnapshot<ref>{{lien web|url=https://www.ipfire.org/docs/addons/rsnapshot|langue=en-US|titre=rsnapshot|site=ipfire.org|date=2023-06-17|consulté le=2024-07-05}}.</ref>, entre autres, comme solutions de [[Sauvegarder et restaurer|backup]] ;
* socat<ref>{{lien web|url=https://www.ipfire.org/docs/addons/socat|langue=en-US|titre=socat|site=ipfire.org|date=2022-12-07|consulté le=2024-07-05}}.</ref> (pour « '''SO'''cket '''CAT''' »), un couteau-suisse des [[Transmission de données|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 ''[[netcat|nc]]'' amélioré ;
* [[postfix]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/postfix|langue=en-US|titre=Postfix|site=ipfire.org|date=2022-04-13|consulté le=2024-07-05}}.</ref>, le [[Mail Transfer Agent|MTA]] bien connu sous [[Unix]] et [[fetchmail]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/fetchmail|langue=en-US|titre=fetchmail|site=ipfire.org|date=2023-01-02|consulté le=2024-07-05}}.</ref>, pour récupérer, le cas échéant, le courrier sur un serveur [[Post Office Protocol|POP]] ou [[Internet Message Access Protocol|IMAP]] ;
* [[Transmission (logiciel)|Transmission]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/transmission|langue=en-US|titre=Transmission|site=ipfire.org|date=2022-12-06|consulté le=2024-07-05}}.</ref>, 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 [[zone démilitarisée (informatique)|DMZ]] (le réseau « ORANGE ») ;
* [[FreeRADIUS|FreeRadius]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/freeradius|langue=en-US|titre=Freeradius Server|site=ipfire.org|date=2019-08-22|consulté le=2024-07-05}}.</ref>, offrant une solution centralisée d'authentification (communiquant avec [[Lightweight Directory Access Protocol|LDAP]] ([[Active Directory]], sous [[Microsoft Windows|Windows]]), [[Remote Authentication Dial-In User Service|RADIUS]] et d'autres protocoles) ;
* [[Lynis]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/lynis|langue=en-US|titre=Lynis |site=ipfire.org|date=2025-07-25|consulté le=2024-07-05}}.</ref> pour auditer les machines du réseau ou le firewall lui-même ; Spectre Meltdown Checker<ref>{{lien web|url=https://www.ipfire.org/docs/addons/spectre-meltdown-checker|langue=en-US|titre=Spectre Meltdown Checker|site=ipfire.org|date=2019-08-15|consulté le=2024-07-05}}.</ref> pour vérifier que le(s) CPU(s) ne sont pas sensibles à des [[Vulnérabilité (informatique)|vulnérabilité]]s connues telles que [[Spectre (vulnérabilité)|Spectre]] ; ou encore Guardian<ref>{{lien web|url=https://www.ipfire.org/docs/addons/guardian|langue=en-US|titre=The Guardian 2.0 Addon|site=ipfire.org|date=2022-10-26|consulté le=2024-07-05}}.</ref>, l'ancien [[système de détection d'intrusion|IDS]], encore très utile pour les attaques [[Secure Shell|SSH]] en « force brute » ;
* Suricata<ref>{{lien web|url=https://www.ipfire.org/docs/configuration/firewall/ips|langue=en-US|titre=Intrusion Prevention System (IPS)|site=ipfire.org|date=2023-05-11|consulté le=2024-07-05}}.</ref> le nouvel [[système de prévention d'intrusion|IPS]].
* Près de 25 outils réseau, parmi lesquels :
** [[avahi]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/avahi|langue=en-US|titre=avahi|site=ipfire.org|date=2019-08-15|consulté le=2024-07-05}}.</ref> : découverte de [[Service réseau|services]] sur le réseau ;
** bwm-ng<ref>{{lien web|url=https://www.ipfire.org/docs/addons/bwm-ng|langue=en-US|titre=bwm-ng|site=ipfire.org|date=2019-08-22|consulté le=2024-07-05}}.</ref> : monitoring de bande passante en [[mode texte]] ;
** fping<ref>{{lien web|url=https://www.ipfire.org/docs/addons/fping|langue=en-US|titre=fping|site=ipfire.org|date=2019-08-22|consulté le=2024-07-05}}.</ref> : [[ping (logiciel)|ping]] sous stéroïdes ;
** [[netcat]] / ncat <ref>{{lien web|url=https://www.ipfire.org/docs/addons/netcat|langue=en-US|titre=netcat / ncat|site=ipfire.org|date=2023-11-11|consulté le=2024-07-05}}.</ref> : « GNU-netcat » (« nc » de son petit-nom) est {{"|le couteau-suisse de l'administrateur réseau}} depuis 2004 ;
** [[NGINX|nginx]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/nginx|langue=en-US|titre=Nginx|site=ipfire.org|date=2022-04-05|consulté le=2024-07-05}}.</ref> : le descendant d'[[Apache HTTP Server|Apache]], mini-serveur pouvant servir de proxy, de [[Serveur de messagerie électronique|serveur mail]] et de [[serveur web]], évidemment, à faibles coûts ; à placer aussi en DMZ ;
** [[nmap]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/nmap|langue=en-US|titre=nmap|site=ipfire.org|date=2020-01-10|consulté le=2024-07-05}}.</ref> : le [[Balayage de ports|scanner de ports]] le plus connu au monde, qu'on ne présente plus ;
** speedtest-cli<ref>{{lien web|url=https://www.ipfire.org/docs/addons/speedtest-cli|langue=en-US|titre=speedtest-cli|site=ipfire.org|date=2020-07-24|consulté le=2024-07-05}}.</ref> : testeur de bande passante en [[interface en ligne de commande|CLI]], qui interroge le site [[Speedtest.net]] ;
** [[stunnel]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/stunnel|langue=en-US|titre=stunnel|site=ipfire.org|date=2021-10-13|consulté le=2024-07-05}}.</ref> : proxy permettant d'initier un tunnel chiffré [[Transport Layer Security|TLS]] ;
** [[tcpdump]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/tcpdump|langue=en-US|titre=tcpdump|site=ipfire.org|date=2019-08-22|consulté le=2024-07-05}}.</ref> : permet de capturer des [[Trame (informatique)|trames]] et d'analyser le trafic réseau (en CLI) ;
** [[traceroute]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/traceroute|langue=en-US|titre=Traceroute|site=ipfire.org|date=2022-09-17|consulté le=2024-07-05}}.</ref> : plus besoin de le présenter non plus ;
** tshark<ref>{{lien web|url=https://www.ipfire.org/docs/addons/tshark|langue=en-US|titre=tshark|site=ipfire.org|date=2019-10-27|consulté le=2024-07-05}}.</ref> (anciennement [[wireshark]]) : un analyseur de trames similaire à ''tcpdump'', mais beaucoup plus puissant et en [[mode graphique]].


* Une grosse dizaine d'outils de surveillance, parmi lesquels :
* Firewall
** apcupsd<ref>{{lien web|url=https://www.ipfire.org/docs/addons/apcupsd|langue=en-US|titre=apcupsd|site=ipfire.org|date=2021-12-21|consulté le=2024-07-20}}.</ref> : permet la gestion simple des onduleurs (de la marque ''APC'' (American Power Conversion de [[Schneider Electric]]) du LAN ;
* Intrusion Detection System (Snort) de prévention des intrusions
** NUT ({{lien|Network_UPS_Tools}})<ref>{{lien web|url=https://www.ipfire.org/docs/addons/nut|langue=en-US|titre=Network UPS Tools (NUT)|site=ipfire.org|date=2019-10-27|consulté le=2024-07-20}}.</ref> : idem à apcupsd ci-dessus, mais non limité à la marque APC et beaucoup plus puissant ;
* Serveur proxy avec filtrage de contenu et les fonctions de mise en cache des mises à jour (par exemple mises à jour [[Microsoft Windows]], antivirus, et bien d'autres)
** [[NRPE]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/nagios-nrpe|langue=en-US|titre=NRPE|site=ipfire.org|date=2021-01-22|consulté le=2024-07-20}}.</ref> : permet d’interagir avec le ''Nagios Remote Plugin Executor'' (NRPE) installé sur un serveur [[Nagios]] du LAN ;
* Mise en cache
** [[Chien de garde (informatique)|watchdog]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/watchdog|langue=en-US|titre=watchdog|site=ipfire.org|date=2020-03-11|consulté le=2024-07-20}}.</ref> : redémarre le système en cas de détection d'un problème sérieux ;
* Serveur de temps
** wio<ref>{{lien web|url=https://www.ipfire.org/docs/addons/wio|langue=en-US|titre=wio|site=ipfire.org|date=2022-03-30|consulté le=2024-07-20}}.</ref> : 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 ;
* WOL (Wake up on LAN)
** [[Zabbix]] Agent<ref>{{lien web|url=https://www.ipfire.org/docs/addons/zabbix_agentd|langue=en-US|titre=Zabbix Agent|site=ipfire.org|date=2023-03-06|consulté le=2024-07-20}}.</ref> : 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.
* VPN pour [[Internet Protocol Security|IPSec]] et serveur [[OpenVPN]]
* Serveur DHCP
* Dynamic DNS (DynDNS, No-IP)
* Analyse fonctions de surveillance du système et [[analyse des logs]]
* [[Qualité de service]] (QoS)

== Addons ==
IPFire offre une grande quantité d'[[Plugin|add-ons]] qui sont maintenus par l'équipe elle-même.


* Et bien d'autres, parmi lesquels :
Liste des Addons
** [[7-Zip|7zip]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/7zip|langue=en-US|titre=7zip|site=ipfire.org|date=2019-08-16|consulté le=2024-07-22}}.</ref> : l'archiveur ultra-rapide, qui supporte les formats 7z, ZIP, CAB, ARJ, GZIP, BZIP2, TAR, CPIO, RPM et DEB ;
** ddrescue<ref>{{lien web|url=https://www.ipfire.org/docs/addons/ddrescue|langue=en-US|titre=ddrescue|site=ipfire.org|date=2021-06-21|consulté le=2024-07-22}}.</ref> : 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 (Unix)|dd]]'') ;
** [[firmware]]-update<ref>{{lien web|url=https://www.ipfire.org/docs/addons/firmware-update|langue=en-US|titre=firmware-update|site=ipfire.org|date=2023-04-13|consulté le=2024-07-22}}.</ref> et flashrom<ref>{{lien web|url=https://www.ipfire.org/docs/addons/flashrom|langue=en-US|titre=flashrom|site=ipfire.org|date=2019-08-15|consulté le=2024-07-22}}.</ref> : 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 [[Mémoire morte|ROM]] (donc, un firmware, un [[BIOS (informatique)|BIOS]] / [[UEFI|EFI]] / [[coreboot]]{{etc}}) ;
** [[htop]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/htop|langue=en-US|titre=htop|site=ipfire.org|date=2019-08-22|consulté le=2024-07-22}}.</ref> : la version en [[Caractères semi-graphiques|mode semi-graphique]] (grâce à la [[Bibliothèque logicielle|bibliothèque]] [[ncurses]], liée) de ''[[top (Unix)|top]]'', le moniteur d'utilisation mémoire ([[mémoire vive]] et [[Mémoire partagée (communication inter-processus)|mémoire partagée]]) et [[Processeur|CPU]], constamment rafraîchi ;
** [[Libvirt]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/libvirt|langue=en-US|titre=Libvirt|site=ipfire.org|date=2019-10-27|consulté le=2024-07-22}}.</ref> et [[QEMU]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/qemu|langue=en-US|titre=QEMU|site=ipfire.org|date=2023-01-06|consulté le=2024-07-22}}.</ref> : la première est la [[Bibliothèque logicielle|bibliothèque]] / [[Interface de programmation|API]] permettant au second d'[[Émulation|émuler]] des [[Architecture de processeur|architectures]], offrant une solution de [[virtualisation]] correcte ;
** [[lshw]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/lshw|langue=en-US|titre=lshw|site=ipfire.org|date=2020-10-28|consulté le=2024-07-22}}.</ref> : affiche des informations très détaillées sur la partie matérielle de l'ordinateur sur lequel tourne IPFire ;
** le fameux [[Midnight Commander|mc]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/mc|langue=en-US|titre=mc|site=ipfire.org|date=2019-08-22|consulté le=2024-07-22}}.</ref> : [[gestionnaire de fichiers]] en mode semi-graphique, très pratique, puisqu'utilisable dans un [[Terminal (informatique)|terminal]], dérivé de l'application ''[[Norton Commander]]'' du [[DOS]] ;
** [[minicom]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/minicom|langue=en-US|titre=minicom|site=ipfire.org|date=2021-01-21|consulté le=2024-07-22}}.</ref> : l'incontournable émulateur [[American National Standards Institute |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 [[commutateur réseau|switch]] ou un [[routeur]] sur lequel on n'a pas encore la main ;
** [[rsync]]<ref>{{lien web|url=https://www.ipfire.org/docs/addons/rsync|langue=en-US|titre=rsync|site=ipfire.org|date=2020-01-15|consulté le=2024-07-22}}.</ref> : une des meilleures solutions simples de synchronisation sécurisée (sauvegardes [[Incrémentation|incrémentielles]] ou différentielles), en local ou à distance (via [[Secure Shell|SSH]]) ;
** Tmux<ref>{{lien web|url=https://www.ipfire.org/docs/addons/tmux|langue=en-US|titre=Tmux|site=ipfire.org|date=2021-01-22|consulté le=2024-07-22}}.</ref> : un [[multiplexeur]] de terminaux en mode texte, à l'instar de ''[[GNU Screen|screen]]'' ;
** wavemon<ref>{{lien web|url=https://www.ipfire.org/docs/addons/wavemon|langue=en-US|titre=wavemon|site=ipfire.org|date=2019-08-16|consulté le=2024-07-22}}.</ref> : une application de surveillance des niveaux de [[Signal électrique|signal]], des statistiques de [[Paquet (réseau)|paquets]] ([[datagramme]]s) et de configuration du matériel Wi-Fi.


* Enfin, il en existe également une petite dizaine d'autres, dédiés au multimédia.
* Streamingserver (MPD ua) Streaming Server (MPD, etc)
* Mailserver - [[Postfix]], [[SpamAssassin]], Clamav, Amavisd-new
* Asterisk et TeamSpeak (VoIP)
* Enregistreur de disque vidéo (VDR) (Carte TV requise)
* Serveur de Dossier et [[serveur d'impression]] (CUPS et Samba, [[VsFTPd|vsftpd]])
* et beaucoup plus


== Notes et références ==
== Notes et références ==
{{Références}}
{{Références}}


== Lien externe ==
== Liens externes ==
* {{Site officiel|http://www.ipfire.org/}}
* {{Site officiel|https://www.ipfire.org/}}
* [https://www.lightningwirelabs.com/ Lightning Wire Labs (appliances)]
{{portail|Linux}}
{{portail|Linux}}



Version du 2 août 2024 à 23:01

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 188 ()[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

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

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

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)

Pakfire : le gestionnaire de paquets

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

Addons

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

  1. (en-US) « ARM », sur ipfire.org, (consulté le ).
  2. Michael Tremer, « IPFire 2.29 - Core Update 188 has been 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