CIPE (Crypto IP Encapsulation) ist eine einfache Methode, um verschlüsselte IP-Tunnel aufzubauen.
Homepage: http://sites.inka.de/sites/bigred/devel/cipe.html (dort gibt es auch eine Mailingliste)
Lizenz: GPL
Verwandtes Projekt: OpenVpn
Allgemeines
CIPE baut Tunnels über UDP, die zu verschlüsselnden IP-Pakete werden mit Blowfish verschlüsselt (einschließlich IP-Header) und als einfache UDP-Pakete verschickt. CIPE unterstützt bis zu 100 Tunnels pro Maschine und macht die Transportkontrolle selbst. Jedes Ende benötigt einen festen Key von 128 Bits Länge, der entweder fest konfiguriert wird oder über öffentliche Schlüssel (PkCipe) ausgetauscht wird. Dieser feste Key wird beim Verbindungsaufbau und beim Schlüsselaustausch verwendet. Die eigentliche Verschlüsselung erfolgt mit einem dynamischen Key, der alle 15 Minuten wechselt.
Ein fertig konfigurierter CIPE-Tunnel wird automatisch aufgebaut, sobald Netzwerkverkehr über ihn geroutet wird.
Die wesentlichen Vorteile von CIPE sind:
- Einfache Installation: funktioniert i.d.R. sofort
- Sicherheit: basiert auf Blowfish
- Unterstützung dynamischer IPs
- Funktioniert auch mit langsamen Leitungen (ISDN) zufriedenstellend
- Effizienz: CIPE kommt auf fast 95% der Leitungskapazität.
- Integration in Firewalls: CIPE benötigt lediglich einen Highport.
CIPE für Linux
CIPE wurde ursprünglich für Linux entwickelt und funktioniert dort i.d.R. sofort.
CipeX ist eine schöne Erweiterung, die über CIPE installiert wird. CipeX fügt eine dynamische Komprimierung auf dem Paketlevel hinzu, die typischerweise Faktor 1.5 bis 2 Einsparung bei der Datenübertragung bringt. Dynamisch bedeutet hier, dass jedes Paket vorab geprüft wird, ob sich Komprimierung überhaupt lohnt - die Parametern dafür sind konfigurierbar.
CipeX verträgt sich mit CIPE am anderen Ende des Tunnels, da die Komprimierung per Parameter abgestellt werden kann.
CIPE für Windows
Von CIPE gibt es auch eine Windows-Implementierung.
CIPE gibt es für Windows 2000 aufwärts - die ehemals angekündigte Version für Windows 98 wird es wohl nicht mehr geben.
CIPE für Windows funktioniert, hat aber 2 Tücken, die nicht an CIPE liegen:
- Externes Interface Man sollte schon einen Router haben - mit Devices wie ippp0, die dynamisch kommen und gehen, klappt es nicht.
ippp0 unter windows ???? (heißt dort natürlich anders...)
- Routing für Netze hinter Cipe
Aus unerfindlichen Gründen macht Windows 2000 auch für IPs hinter dem Gateway einen ARP-Request, der natürlich nicht beantwortet werden kann. Der Workaround ist, für diese IPs die MAC-Adresse des CIPE-Devices auszuleihen und mit arp einzutragen. Vornehme Leute machen dies mit Cygwin: MAC-Adresse greppen, usw. - dann funktioniert es bestens.
Sicherheit
Über Sicherheit läßt sich trefflich streiten. Im Vergleich zu etwa amerikanischen Kraftwerken ist CIPE nicht schlecht.
- Auffindbarkeit im Netz Wenn man es aus anderen Gründen nicht schon weiß, ist es nicht einfach, einen Host zu finden, der auf CIPE lauscht - das hat UDP so an sich.
- Verschlüsselung CIPE verwendet per Default Blowfish, gegen das keine Attacken bekannt sind - auch wenn Teile der Daten aufgrund ihrer Struktur oder ihres Inhalts bekannt sein mögen. Natürlich ist Cipe modular aufgebaut und kann auch mit anderen Verfahren arbeiten.
- Angreifbarkeit Natürlich kann jeder an CIPE beliebige Daten senden, wenn er die IP und das Port kennt. Cipe verwirft allerdings kommentarlos Pakete, die nach der Entschlüsselung keinen Sinn ergeben.
- Dynamische und feste IPs Die Syntax von CIPE erlaubt es, Namen für die öffentlichen Enden des Tunnels zu verwenden. Wer ein gutes Dyndns hat, kann seine Firewall so konfigurieren, dass CIPE nur an seinem Port horcht, wenn das Paket vom richtigen Host kommt. Dann ist der Tunnel von außen völlig unsichtbar.