IPCop

 

Als großer Anhänger von IPCop möchte ich es nicht versäumen, diese Software allen ans Herz zu legen, die einen erstklassigen Router bzw. Firewall suchen. Die Intstallation und Konfiguration ist relativ unkompliziert und mit wenig Zeitaufwand verbunden. IPCop ist eine freie Linux-Distribution, die nach der Installation einen Router, eine funktionierende Firewall, einen Proxyserver (Squid), einen DHCP-Server, einen Caching-Nameserver (dnsmasq) sowie ein Intrusion Detection System (Snort) bereitstellt. Weitere Funktionen wie Traffic-Shaping, VPN und Dynamic DNS sind vorhanden. Zusätzliche Funktionen können integriert werden.

Die Hardwareanforderungen sind sehr gering. Es genügen schon 133 MHz mit 64 MByte RAM. Es werden mindestens 2 Netzwerkkarten benötigt (PCI oder ISA), eine für den Anschluss von DSL (oder anderen Router), eine zum Anschluss ans LAN.

Bei den Schnittstellen unterscheidet IPCop zwischen verschiedenfarbigen Netzwerken. Das grüne Netzwerk stellt das eigene LAN dar, das rote Netzwerk symbolisiert das „ungeschützte“ Internet. Ein eventuell vorhandenes WLAN-Netzwerk wird durch die Farbe blau symbolisiert, während orange die „DMZ“ (demilitarisierte Zone) darstellt. Diese wird für Server verwendet, die aus dem Internet erreichbar sein sollen (Webserver, FTP-Server, etc.). Es ist nicht erforderlich, jede Schnittstelle zu verwenden.

Die Administration und Konfiguration erfolgt über ein Webinterface auf "http://SERVERNAME:81" oder via SSL auf "https://SERVERNAME:445". Alternativ zum Servernamen auch über dessen IP-Adresse. Mit diesem Webinterface werden dann etwa Port-Weiterleitungen, Öffnen von Ports ("Externer Zugang"), Proxy- und DHCP-Server, aber auch DDNS (Dynamisches DNS), Traffic-Shaping, IDS und Zeitserver (NTP) konfiguriert. Des Weiteren erhält man über das Webinterface Zugriff auf die verschiedenen Log-Dateien und deren Auswertungen, die als Grafiken bereitgestellt werden. Auf die Unix-Shell kann der Benutzer (und Linux-Kenner) auch zugreifen, um tiefergehende Konfigurationen zu erstellen oder zu ändern. Der Zugriff erfolgt hierbei dann per SSH auf dem (bewusst vom Standard abweichenden) Port 222 (statt 22).

Im Folgenden stelle ich eine Anleitung bereit, wie sich mit IPCop eine VPN-Lösung für ein Netzwerk erstellen lässt.

 

Szenario:

Die Basis bildet ein LAN, in dem ein Windows 2000 Server das Active Directory verwaltet. Er führt das DNS für die Domäne durch und hat einen entsprechenden Gateway-Eintrag auf den IPCop. Das ist von entscheidender Bedeutung für Rechner, die über VPN angebunden werden und eine Namensauflösung durchführen sollen. Die Internetanbindung wird verwirklicht über eine DSL-Wählleitung der Telekom. Es soll erreicht werden, dass sich zu jeder Uhrzeit beliebige Rechner sowohl direkt via DFÜ als auch auch aus einem anderen LAN heraus, über VPN verbinden können. Ein PC älterer Bauart, der mit 2 Netzwerkkarten ausgestattet wurde, dient als künftige Firewall und VPN-Gateway.

 

Software:

PuttY (Telnet und SSH Client) - für den Shell-Zugriff (http://www.chiark.greenend.org.uk/~sgtatham/putty)

WinSCP (SFTP und SCP Client) - Datenaustausch zwischen Windows und Linux (http://winscp.net)

Zerina - OpenVPN Erweiterung für IPCOP (http://www.zerina.de)

OpenVPN GUI für Windows (http://openvpn.se/download.html)

IPCop-ISO (http://ipcop.org)

 

Installation und Konfiguration:

Installation der Software unter Einrichtung des grünen Adapters mit fester IP für das LAN. Der rote Adapter wird für die TDSL-Wählleitung als PPPOE-Anschluss definiert.

Nach Fertigstellung der Installation wird die Administrationsoberfläche des IPCop über den Browser aufgerufen – das geschieht durch die Eingabe der IP-Adresse in folgender Form: https://xxx.xxx.xxx.xxx:445. Jetzt zunächst über „System -> SSH-Zugriff“ ein Haken bei „Aktiviert“ setzen. Damit ist nun auch der Zugriff via „Secure Shell“ möglich (z.Bsp. „Putty“).

Nun folgt die Konfiguration des Internetzuganges. Unter „Netzwerk -> Einwahl“ die notwendigen Einstellungen vornehmen. Dabei ist der Abschnitt „Verbindung“ zu beachten. Hier empfiehlt sich „Verbindung bei IPCop-Neustart“ und „Dial-on-Demand-Modus“ zu aktivieren. Damit ist gewährleistet, dass die Internetverbindung permanent zur Verfügung steht. Die DNS-Server werden fest eingetragen (manuell).

Unter „Dienste -> Proxy“ wird eine Aktivierung auf Green vorgenommen und transparent gewählt. Der Proxy-Port erhält die 8080. Die Clients im LAN sollen ohne weitere Einstellungen Internetzugriff haben, deshalb wird mit „WinSCP“ (Port 222) im Verzeichnis „/etc/rc.d/“ die „rc.firewall“ geöffnet und zwei Zeilen eingefügt:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

Dem Surfvergnügen steht nun nichts mehr im Wege.

Der IPCop soll trotz wechselnder IP-Adresse unter einem eindeutigen Namen erreichbar sein. So wird unter „Dienste -> Dynamischer DNS“ ein entsprechender Eintrag vorgenommen und aktiviert. Selbstverständlich muss das vorher bei einem der aufgeführten Anbieter eingerichtet worden sein.

Im vorliegenden Szenario gibt es einen Mailserver innerhalb des Netzes, der direkt mit dem Mailserver eines Providers kommuniziert, den er als SMTP-Relay nutzt. Unter „Firewall -> Port-Weiterleitung“ wird nun dafür gesorgt, dass aus Sicherheitsgründen alleine dieser Weg gestattet ist:

Protokoll: TCP / Quell-Port und Ziel-Port: 25 / Ziel-IP-Adresse: Der Mailserver im LAN / Quell-IP: Der Mailserver des Providers.

 

VPN (Zerina):

WinSCP Starten und Verbindung zu IPCOP herstellen. Das geschieht über Port 222 als Benutzer "root". Im "/" (root-Verzeichnis des IPCOPS) ein neues Verzeichnis "openvpn" erstellen. ZERINA-Installer.tar.gz in das Verzeichnis "openvpn" kopieren und WinSCP beenden.

Nun mit Putty die Verbindung zu IPCop herstellen (SSH - Port 222). Mit Benutzer "root" und Passwort am anmelden. Mit "cd /" in das root-Verzeichnis wechseln und mit "cd openvpn" in das openvpn-Verzeichnis wechseln. Nun mit "tar xzvf ZERINA-Installer.tar.gz" die Datei entpacken. Jetzt kann mit mit "./install" Zerina installiert werden.

Im IPCop-WebInterface ist der neue Menüeintrag "OPENVPN" im Register VPNs zu sehen. Hier können nun die nächsten Schritte für die Einrichtung vorgenommen werden:

Aktivieren von „OpenVPN auf dem entsprechenden Interface“.

Lokaler VPN Hostname/IP - die IP Adresse des roten Adapters.

OpenVPN Subnetz - Adressbereich wählen.

OpenVPN Gerät = TUN, Protokoll = UTP, MTU Size = 1400, LZO-Kompresion = Aktivieren, Ziel Port = 1194, Verschlüsselung = BF-CBC.

Zertifikat erstellen und als Client-Paket herunterladen

Nun ist auf dem Windows-Client die OpenVPN-GUI zu installieren und das Client-Paket in das OpenVPN Verzeichnis "/ config" zu entpacken.

Eine VPN-Verbindung sollte nun hergestellt werden können.

Das config-File für Zerina findet sich unter "var/ipcop/ovpn/server.conf". Je nach Anforderungen können hier Einträge vorgenommen werden, um Informationen über das Zielnetz zu "verteilen", z.Bsp.:

push "route-delay"
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.168.10"
push "dhcp-option DOMAIN test.de"

Vor dem Update einer Zerina-Installation sollte die aktuelle Version deinstalliert werden - im Installationsverzeichnis "./uninstall" ausführen.