# IPCop

IPCop est une distribution Linux basée sur Linux From Scratch, qui vise à fournir un pare-feu simple à gérer basé sur du matériel PC. IPCop est un pare-feu à états construit sur le framework netfilter de Linux.
En 2017, la fin du développement est annoncée. La dernière version est publiée en 2015. Le projet est interrompu à la fin de 2018. Avec IPFire et Endian Firewall, deux divisions d'IPCop sont en cours de développement.

## Description

IPCop vise à fournir un moyen simple mais puissant pour configurer un pare-feu sur une architecture de type PC. Elle peut protéger sur une telle architecture un réseau familial ou de petites ou moyennes entreprises, elle offre la classique zone démilitarisée ainsi que les tunnels réseau privé virtuel (acronyme VPN en anglais).
Elle peut également servir de serveur mandataire (proxy), serveur fournissant des adresses IP dynamiques (DHCP), de relais DNS, de serveur de temps (NTP), et en installant des greffons ou modules, de bien d'autres choses (contrôle de contenu, liste noire, liste d'accès, DNS dynamique, contrôle de trafic, etc.). Le support des clients sans fil est aussi prévu par le biais d'une zone dédiée.

## Principe

À l'origine, IPCop était un fork de la distribution Linux Smoothwall, depuis ces deux projets se sont développés indépendamment, et maintenant divergent de manière importante. IPCop est sous licence GPL, en open source.
Les images ISO des CD-ROM d'installation (moins de 50 Mo en janvier 2007) sont disponibles via un réseau de sites miroirs. Le support est disponible en langue anglaise, française, allemande et néerlandaise. L'interface utilisateur d'IPCop est disponible dans 24 langues différentes.
Une machine très bas de gamme permet de le mettre en œuvre, voici un exemple d'une telle configuration :
* deux interfaces réseau minimum (Ethernet 10/100 ou modem ADSL tout type) ;
* microprocesseur à 200 MHz;
* mémoire vive 64 Mo;
* disque dur 800 Mo;
* lecteur CD-ROM.
Optionnellement :
* deux autres interfaces Ethernet pour la DMZ et le wifi
* clé USB (installation) et disquette, clé USB (pour la sauvegarde).
* clavier, écran pour l'installation
Cette configuration minimale convient pour une utilisation domestique ou de petites entreprises jusqu'à cinq postes. Elle permet déjà d'utiliser la fonctionnalité de proxy et le système de détection d'intrusion (tous deux gourmands en ressource mémoire et en calcul processeur). Prévoir une configuration plus musclée pour le processeur et la mémoire vive pour une utilisation professionnelle.
IPCop peut fonctionner avec les fonctionnalités de base sur une architecture de type Intel 386 muni de 32 Mo de mémoire vive seulement.

### Architecture fonctionnelle de IPCOP

    IPCOP, dans ses récentes versions, on peut définir plusieurs interfaces :
* une interface rouge, l'interface reliée à un réseau dit de "non confiance", relié a internet.
* une interface verte, reliée au réseau local utilisateur (LAN),tout ce qui est derrière cette interface est protégé par IPCop, ce réseau sera dit de "confiance" .
* une interface orange, reliée à la D.M.Z. (demilitarized zone ou zone démilitarisée), facultative. Cette zone est reliée, par exemple à des serveurs web, à des caméras IP ou autre dispositifs Ethernet accessibles (potentiellement !) depuis internet.
* une interface bleu, reliée à des dispositifs WiFi ou pouvant servir de seconde D.M.Z.
Cette zone est spécialisée par le paramétrage possible de l'adresse MAC ou I.P. des périphériques autorisés à s'y connecter (selon la configuration de IPCOP, bien sûr).
Le paramétrage général de IPCOP (réalisé en mode serveur WEB par exemple) permet de gérer les flux autorisés entre ces différentes zones/réseaux, et les exceptions. À son installation IPCOP fournit un paramétrage standard, bien souvent suffisant et totalement fonctionnel. Il faut noter que les versions initiales de IPCOP ne géraient que les réseaux ROUGE et VERT.

### Historique des versions

| Version | Date |
| 0.0.9 | 28 décembre 2001 |
| 0.1.0 | 3 janvier 2002 |
| 0.1.1 | 22 janvier 2002 |
| 1.2.0 | 27 décembre 2002 |
| 1.3.0 | 22 avril 2003 |
| 1.4.0 | 1er octobre 2004 |
| 1.4.1 | 21 novembre 2004 |
| 1.4.2 | 16 décembre 2004 |
| 1.4.4 | 15 mars 2005 |
| 1.4.5 | 30 mars 2005 |
| 1.4.6 | 11 mai 2005 |
| 1.4.8 | 26 août 2005 |
| 1.4.9 | 4 octobre 2005 |
| 1.4.10 | 9 novembre 2005 |
| 1.4.11 | 23 août 2006 |
| 1.4.12 | 16 janvier 2007 |
| 1.4.13 | 16 janvier 2007 |
| 1.4.14 | 4 mars 2007 |
| 1.4.15 | 9 mars 2007 |
| 1.4.16 | 17 juillet 2007 |
| 1.4.18 | 1er décembre 2007 |
| 1.4.21 | 24 juillet 2008 |
| 2.0.0 | 23 septembre 2011 |
| 2.0.1 | 7 novembre 2011 |
| 2.0.2 | 18 novembre 2011 |
| 2.0.3 | 14 février 2012 |
| 2.0.4 | 16 février 2012 |
| 2.0.5 | 27 octobre 2012 |
| 2.0.6 | 28 octobre 2012 |
| 2.1.0 & 2.1.1 | 13 février 2014 |
| 2.1.2 | 3 mars 2014 |
| 2.1.3 | 3 avril 2014 |
| 2.1.4 | 8 avril 2014 |
| 2.1.5 | 2 mai 2014 |
| 2.1.6 & 2.1.7 | 28 octobre 2014 |
| 2.1.8 | 25 janvier 2015 |
| 2.1.9 | 23 février 2015 |