# IPCop

IPCop war eine freie Linux-Distribution, die in erster Linie als Router und Firewall gedacht war. Darüber hinaus bot sie noch ausgewählte Server-Dienste an und konnte um zusätzliche Funktionen erweitert werden. IPCop basierte bis zur Version 1.3.0 auf der freien GPL-Version von Smoothwall, ab der Version 1.4.0 auf Linux From Scratch (kurz LFS). 2017 wurde das Ende der Entwicklung angekündigt. Die letzte Version erschien 2015. Das Projekt ist Ende 2018 eingestellt worden. Mit IPFire und Endian Firewall gibt es zwei Abspaltungen von IPCop, die weiterentwickelt werden.

## Server-Dienste

Der IPCop stellt direkt nach der Installation einen Router, eine funktionierende Firewall, einen Proxyserver (Squid), einen DHCP-Server, einen Nameserver mit DNS-Caching (dnsmasq) sowie ein Intrusion Detection System (Snort) bereit. Weitere Funktionen wie Traffic-Shaping, VPN und Dynamic DNS sind vorhanden.

## Systemvoraussetzungen

Die benötigte Rechenleistung des PCs richtet sich nach dem Einsatzbereich. Erforderlich sind 133 MHz mit 32 MByte RAM (besser 64 MByte). Es werden mindestens 2 Netzwerkkarten benötigt (PCI, PCMCIA, USB, ISA oder VL-Bus), eine für den Anschluss ans Internet (über DSL oder einen anderen Router), eine zum Anschluss ans LAN.
Die Rechenleistung bei privatem Gebrauch kann bereits ein 486er übernehmen, wenn man Squid und das Intrusion Detection System (IDS) abschaltet.

## Schnittstellen

IPCop unterscheidet zwischen unterschiedlichen Netzwerken, die verschiedenfarbig dargestellt werden. Das grüne Netzwerk stellt das eigene LAN dar, das rote Netzwerk symbolisiert das „ungeschützte“ Internet. Ein eventuell vorhandenes WLAN wird durch die Farbe Blau symbolisiert, während orange die DMZ (Demilitarized Zone) darstellt. Diese wird für Server verwendet, die aus dem Internet erreichbar sein sollen (Webserver, FTP-Server etc.). Würde nun dieses Netzwerk erfolgreich angegriffen (kompromittiert), sind die anderen Netzwerke davon unabhängig geschützt.
Für jedes Netzwerk, das verwendet wird, wird eine eigene Netzwerkkarte mit IP-Adresse benötigt. Es ist nicht erforderlich, jedes Netzwerk zu verwenden. Ist kein WLAN vorhanden, existiert einfach kein blaues Netzwerk. Ist kein Webserver (o. ä.) vorhanden, wird keine DMZ, also kein oranges Netzwerk benötigt. Die Mindestausstattung mit einem roten und grünen Netzwerk kann durch Add-ons auf bis zu vier weitere Netzwerkkarten und damit Netze – unabhängig von blau und orange – erweitert werden. Jedes dieser Netze ist separat und durch die Firewall geschützt.

## Web-Schnittstelle

Versionen (Auswahl) :
| Version | Datum |
| 0.0.9 | 28. Dezember 2001 |
| 0.1.0 | 3. Januar 2002 |
| 0.1.1 | 22. Januar 2002 |
| 1.2.0 | 27. Dezember 2002 |
| 1.3.0 | 22. April 2003 |
| 1.4.0 | 1. Oktober 2004 |
| 1.4.5 | 30. März 2005 |
| 1.4.10 | 9. November 2005 |
| 1.4.13 | 16. Januar 2007 |
| 1.4.18 | 1. Dezember 2007 |
| 1.4.21 | 23. Juli 2008 |
| 2.0.0 | 23. September 2011 |
| 2.0.4 | 16. Februar 2012 |
| 2.0.6 | 28. Oktober 2012 |
| 2.1.4 | 8. April 2014 |
| 2.1.5 | 2. Mai 2014 |
| 2.1.6 | 28. Oktober 2014 |
| 2.1.7 | 28. Oktober 2014 |
| 2.1.8 | 25. Januar 2015 |
| 2.1.9 | 23. Februar 2015 |
Konfiguriert wird der IPCop über eine Webschnittstelle, zu erreichen über (vor Version 2.0.0) http://SERVERNAME:81/ oder über SSL auf https://SERVERNAME:445/ (Standardports - können bzw. sollen aus Sicherheitsgründen geändert werden, da 445 durch viele Provider mittlerweile blockiert wird), alternativ zum Servernamen auch über dessen IP-Adresse. Ab Version 2.0.0 ist der sichere Zugriff nicht mehr über Port 445, sondern (standardmäßig) nur noch über Port 8443 möglich.
Über dieses Web-Interface können dann Einstellungen wie Port-Weiterleitung, öffnen von Ports (externer Zugang), Proxy- und DHCP-Server, aber auch dynamisches DNS, Traffic-Shaping, IDS und Zeitserver (NTP) konfiguriert werden. Des Weiteren erhält man über die Webschnittstelle Zugriff auf die verschiedenen Log-Dateien und deren Auswertungen, die z. T. auch als Grafiken bereitgestellt werden.
Auf die Unix-Shell kann der Benutzer auch zugreifen, um tiefergehende Konfigurationen zu erstellen oder zu ändern. Der Zugriff erfolgt hierbei dann per SSH auf dem Port 8022. Sehr verbreitet und auch ohne Linux-Kenntnisse leicht nutzbar sind WinSCP und PuTTY.
Die Möglichkeiten des IPCop lassen sich über Add-Ons erweitern, wie z. B. mit einem URL-Filter, dem Open-VPN ZERINA oder einem Layer-7-Filter. Die Erweiterungen werden auf der offiziellen Website von IPCop veröffentlicht.

## Sicherheitsaspekte

IPCop liefert mit der Basisinstallation viele Dienste und ist darüber hinaus mit Add-ons anpassbar. Doch hier wird ein Kompromiss zwischen Leistungs- bzw. Funktionsumfang und Sicherheit gemacht, da unter steigender Komplexität auch die Sicherheit leiden kann. Bereits mit der Grundinstallation wird ein für die Firewall-Funktionen nicht notwendiger Webserver sowie ein NTP-Server installiert, diese können für Angriffe ausgenutzt werden. Auch diverse Add-ons wie etwa Samba können zusätzliche Angriffsflächen schaffen.
Die Zeitschrift c’t hatte 2005 im Rahmen eines Server-Projekts den c’t-Debian-Server vorgestellt, in dem IPCop in User Mode Linux (UML), einer virtuellen Maschine unter einem umfangreich ausgestatteten Linux-Home-Server-System mit verschiedenen Netzwerkdiensten läuft. Dieses Vorgehen wird jedoch von vielen Fachleuten als unsicher eingestuft, da ein Angreifer die Kontrolle über den virtuellen Host übernehmen könnte. In der aktuellen Version des Beispielservers wurden diese Risiken durch den Einsatz von Xen und zwei darauf basierenden virtuellen Servern verringert.
In der neuesten Version fehlt die Unterstützung für IPv6.

## LCD4Linux

LCD4Linux ist eine Erweiterung, die es ermöglicht, Informationen auf einem LC-Display oder einem VFD-Display, welches über die serielle Schnittstelle angeschlossen ist, anzeigen zu lassen.