Thorben's Homepage
Thorben's Homepage    Orgel    Oboe    Kaefer    Cisco    Verschiedenes    Impressum

 

 

 

 

 

Cisco:

In der KW51/2004 und 2005 ging es nach Cannes zur "Networker's" Konferenz. Die firmenspezifische jährliche Konferenz, auf der neue und aktuelle Entwicklungen im Netzwerksektor vorgestellt wurden und auch in einer "Design-Klinik" persönliche Herausforderungen mit Cisco-Experten diskutiert werden können. Näheres hierzu unter http://www.cisco.com

Neben dem "normalen" Routing und Switching, beschäftige ich mich mit IPv6, MPLS und besonders mit IPSec. IPSec konfiguriere ich meist auf Cisco-Routern und Cisco-VPN3000-Concentratoren, so daß andere Firmennetze, Notebooks oder MDA's über das Internet verschlüsselt über oder mit dem zentralen Knoten kommunizieren können. Da 3DES, MD5 mit RSA-Authentisierung verwendet werden, ist dies hinreichend sicher und skalierbar. Für eine Firmennetzanbindung empfehle ich einen GRE- über IPSec-Tunnel im Transport-Mode, da so auch Multicastpakete (z.B. für Routingprotokolle) übertragen werden können. 

Mehr zu IKE und IPSec:

http://www.cisco.com/warp/public/778/security/standard.shtml

Wie werden Router, Pix und Windows2000 konfiguriert, um einen IPSec-Tunnel aufzubauen:

http://www.viennacircle.at/profi/sample-cfgs/ipsec-win2k-ios/ipsec-win2k-ios.html

Info's rund um IPv6:

http://www.join.uni-muenster.de oder http://ipv6.he.net/ als Tunnel Broker

Wie stelle ich eine Applikation von IPv4 auf IPv6 um:

http://www-128.ibm.com/developerworks/web/library/wa-ipv6.html

Mal auf einen Internetrouter einen Blick werfen?

http://traceroute.org oder http://sunnet.se

DER Anbieter von IT-Dienstleistungen für den öffentlichen Dienst (bis 2003 Datenzentrale des Landes Schleswig-Holstein):

http://www.dataport.de

 

 

NetSPoC:

Alle, die ein großes Netzwerk administrieren und gerade auf Konsistenz hinsichtlich von Routing- und Security-Policy's müssen, können mal einen Blick auf http://hknutzen.github.io/Netspoc/ werfen. Es handelt sich um ein in Perl auf Linux gesetztes System, in dem Policy's definiert werden. Das Tool schiebt nach der Definition die zu aktualisierenden Konfigurationszeilen auf Cisco-Router oder Pix'en, die betroffen sind. Man muß sich dort ziemlich einarbeiten; ist aber eine funktionierende Alternative zu dem CSPM (Cisco Secure Policy Manager), der mittlerweile sogar "End of Life" ist. 

 

Linksys:

Linksys wurde von Cisco aquiriert und bietet Router im niedrigen Kostensegment an. Ich nutze einen "Linksys befsx41" mit der Firmware "1.52.10, Apr 29 2006". Diese Software funktioniert im Gegensatz zu vielen anderen Softwareständen mit DDNS, DSL, PPPoE. Stets kommen neue Versionen raus, die im Forum http://www.broadbandreports.com/ verfolgt werden können. Bevor eine neue Software aufgespielt wird, empfehle ich dringend, die Erfahrungswerte anderer dort nachzulesen, da das sehr viel Zeit und Ärger sparen kann. Die VPN-Funktionalität wurde mit dieser Version von mir nicht getestet.

 

IPCop:

Es gibt ein cooles Linux-Projekt, das auf Basis von ausrangierten PC's einen netten Router mit vielen interessanten Features anbietet. Über eine Web-GUI können alle relevanten Einstellungen vorgenommen werden. Installiert man IPCop z.B. auf einen kleinen lüfterlosen Rechner, so erhält man einen Superrouter, den man nicht hört mit wirklich vielen Features, deren Anzahl und Qualität ständig verbessert werden. Eine echte Alternative zu einem gekauften Consumerrouter!!! Zu finden unter http://www.ipcop.org

Einige Zeit nutzte ich den IPCop in der Version 1.4.10 bzw. 1.4.12. Eine super Lösung - allerdings zu hoch im Stromverbrauch, so daß nun o.g. Linksys-Router wieder seinen Dienst verrichtet.

 

Versuchsprojekt:

IPCop wurde von der Zeitschrift c't des Heise Verlages in den Heften 4,5+6 2005 aufgegriffen und läuft in einem Projekt "Der eigene Server" als virtuelle Maschine auf einem Debian Sarge-System. Der Server bietet dann Datei- und Druckfunktionen, Web (Apache2), Mail, FTP, Anti-Spam, DDNS, DHCP, Proxies, Server-Monitoring, Router und Firewall (mit IPCop). Die Administration des IPCop erfolgt hier standardmäßig über https://192.168.1.1:445, die des Debian über Webmin http://192.168.1.2:10000. Natürlich geht's auch über ssh.

Diese "c't-Distribution" hatte ich mal auf einem kleinen lüfterlosen PC installiert und geprüft, ob sich ein VPN zunächst zu Cisco-Komponenten aufbauen läßt. Zur Installation sind Updates nötig, die als Soft-Link 0504094 unter http://www.heise.de zu finden sind. Am einfachsten ist es, mit der dort beschriebenen Anleitung ein neues ISO-Image für eine CD zu erstellen. Begonnen habe ich hier nicht mit dem Cisco VPN3000 Concentrator, sondern mit einem Cisco 1721 Router mit fester im Internet gültiger IP-Adresse. Auf Routern kann man einfach besser debuggen ;-) Der IPCop/c't-Server ging ans T-DSL mit einer dynamischen IP. Kurzum, mit einem Pre-Shared-Key funktioniert's schon ganz gut. Hier die Konfiguration des Routers in leicht geändeter Form:

version 12.3
service timestamps debug datetime localtime
service timestamps log datetime localtime
service password-encryption
service internal
!
hostname cisco
!
boot-start-marker
boot system flash:c1721-k9o3sy7-mz.123-7.T-16flash-64ram.bin
boot-end-marker
!
logging buffered 20000 debugging
no logging console
enable secret 5 xxx
!
clock timezone Kiel 1
clock summer-time Schleswig-Holstein recurring 1 Mon Apr 0:00 1 Mon Oct 0:00 1
!
no aaa new-model
ip subnet-zero
no ip source-route
!
no ip domain lookup
ip domain name cisco.xx
!
no ip bootp server
no ip cef
!
!
crypto isakmp policy 1
 encr 3des
 authentication pre-share
 group 2
crypto isakmp key geheimerschluessel address 0.0.0.0 0.0.0.0
crypto isakmp invalid-spi-recovery
crypto isakmp keepalive 30 5 periodic
!
!
crypto ipsec transform-set transform_dynamisch esp-3des esp-sha-hmac 
!
!
!
crypto dynamic-map dynmap_1 10
 description --- IPCop am T-DSL ---
 set transform-set transform_dynamisch 
 set pfs group2
 match address ACL-cryptomap
!
!
!
!
crypto map map_ipcop 10 ipsec-isakmp dynamic dynmap_1 
!
!
!
interface Ethernet0
 description --- Public Interface ---
 ip address 1.2.3.4 255.255.255.0
 ip access-group DMZ-in in
 ip access-group DMZ-out out
 no ip proxy-arp
 ip accounting output-packets
 half-duplex
 no cdp enable
 crypto map map_ipcop
!
interface FastEthernet0
 description --- Private Interface ---
 ip address 192.168.50.100 255.255.255.0
 no ip proxy-arp
 ip accounting output-packets
 speed auto
 no cdp enable
!
!
ip classless
ip route 0.0.0.0 0.0.0.0 1.2.3.1
no ip http server
no ip http secure-server
!
!
ip access-list extended ACL-cryptomap
 permit ip 192.168.50.0 0.0.0.255 192.168.1.0 0.0.0.255
!
ip access-list extended DMZ-in
 remark --- lasse Crypto-Traffic zum RouterConcentrator ---
 permit ahp any host 1.2.3.4
 permit esp any host 1.2.3.4
 permit udp any eq isakmp host 1.2.3.4 eq isakmp
 permit udp any host 1.2.3.4 eq non500-isakmp
 remark --- Erlaube PING fuer Troubleshooting ---
 permit icmp any host 1.2.3.4 echo
 permit icmp any host 1.2.3.4 echo-reply
 remark --- Erlaube Inhalt des IPSec-Tunnels, bis ausschl. 12.3(8)T ---
 permit ip 192.168.1.0 0.0.0.255 host 192.168.50.100
!
ip access-list extended DMZ-out
 remark --- lasse Crypto-Traffic aus RouterConcentrator ---
 permit ahp host 1.2.3.4 any
 permit esp host 1.2.3.4 any
 permit udp host 1.2.3.4 eq isakmp any eq isakmp
 permit udp host 1.2.3.4 eq non500-isakmp any
 remark --- Erlaube PING fuer Troubleshooting ---
 permit icmp host 1.2.3.4 any echo
 permit icmp host 1.2.3.4 any echo-reply
 permit ip host 192.168.50.100 192.168.1.0 0.0.0.255
!
logging 192.168.50.15
access-list 14 permit 192.168.50.0 0.0.0.255
access-list 14 deny any log
!
no cdp run
!
alias exec sru show running-config
alias exec sir show ip route
alias exec sca show crypto engine connections active
alias exec scs show cry isakmp sa
alias exec scsa show crypto ipsec sa
alias exec sia show ip accounting
alias exec cia clear ip accounting
alias exec c configure terminal
!
line con 0
line aux 0
line vty 0 4
access-class 14 in
password 7 xxx
login
!
ntp server 192.53.103.103 prefer
ntp server 192.53.103.104
!
end

cisco#show version
Cisco IOS Software, C1700 Software (C1700-K9O3SY7-M), Version 12.3(7)T, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2004 by Cisco Systems, Inc.
Compiled Sat 21-Feb-04 13:13 by eaarmas

ROM: System Bootstrap, Version 12.2(7r)XM1, RELEASE SOFTWARE (fc1)

cisco uptime is 45 weeks, 5 days, 23 hours, 23 minutes
System restarted at 08:42:41 Schleswig-Holstein Thu Apr 22 2004
System image file is "flash:c1721-k9o3sy7-mz.123-7.T-16flash-64ram.bin"

(...)

Cisco 1721 (MPC860P) processor (revision 0x100) with 59160K/6376K bytes of memory.
Processor board ID (...), with hardware revision 0000
MPC860P processor: part number 5, mask 2
1 Ethernet interface
1 FastEthernet interface
1 Virtual Private Network (VPN) Module
32K bytes of NVRAM.
16384K bytes of processor board System flash (Read/Write)

Configuration register is 0x2102

 

Nun kommt eine (leider nur in Textform) Beschreibung, was alles in dem IPCop einzustellen ist. Dabei beziehen sich die Einstellungen auf die o.g. Cisco-Router-Konfiguration.

1.) Das Menü VPN:

Verbindung: Der Name der VPN-verbindung kann völlig frei gewählt werden. Wie wäre's z.B. mit ciscocop? IPCop Seite: left, Remote Host/IP: 1.2.3.4, Lokales Subnetz: 192.168.1.0/24, Remote Subnetz: 192.168.50.0/24. Das Feld für Anmerkungen kann frei ausgefüllt werden, um bei mehreren VPN-Definitionen leichter den Überblick zu behalten. Authentifizierung: Verwenden Sie einen Pre-Shared Schlüssel: geheimerschluessel

Diese Einstellungen nun speichern und anschließend "Erweitert" anklicken, um in die erweiterten Optionen des IPSec zu gelangen. Kompression: kein Häkchen, IKE Verschlüsselung: 3DES, IKE Integrität: SHA1+MD5, IKE Lebensdauer: 1 Stunde, IKE Gruppentyp: MODP-2048+MODP-1536, ESP Verschlüsselung: 3DES, ESP Integrität: SHA1+MD5, Lebensdauer des ESP Schlüssels: 8 Stunden, ESP Gruppentyp: Phase1 Gruppe. Fertig und die Einstellungen schön abspeichern :-)

2.) Das Menü Firewall => Externer Zugang:

Damit IPSec durch die Firewall passieren kann, wird nun ein externer Zugang im IPCop definiert. Dazu müssen als Protocol "UDP" alle "Quell-IP-Adressen" zur "DEFAULT IP" mit dem Zielport 500 (für die ISAKMP-Aushandlung) und mit dem Zielport 4500 (für IPSec über UDP für den Datentransport) freigeschaltet werden. (Ich muß gestehen, daß es interessant wäre, ob das VPN auch funktioniert, wenn das nicht extra freigegeben wird....?!)

3.) Das Menü Dienste => Dynamisches DNS:

Bei der Einrichtung des VPN's wie unter 1 beschrieben, fehlt noch die Anmerkung, daß es ein Feld gibt, in dem standardmäßig bei aktiver T-DSL-Verbindung der Name des T-Online-Clients steht, der gleich der IP-Adresse des IPCop ist. Dieser Name ändert sich wie die IP alle 24 Stunden. Damit nun der IPCop immer eindeutig erreichbar ist, wird an dieser Stelle ein DynDNS-Account eingetragen: Dienst: dyndns.org, hostname: <accountname>, Domain: dyndns.org, Benutzername: ***, Passwort: ***. Das Häckchen bei "Aktiviert" bitte setzen. Die Erreichbarkeit ist das eine; wichtiger für das IPSec ist jedoch, welche IP mit in die Security Associations als Quelladresse des IPSec mit aufgenommen werden soll. Dafür ist der Dyndns-Name ein Platzhalter.

 

So, das sollte es gewesen sein :-) Die Kopplung von 2 IPCop-Systemen habe ich noch nicht ausprobiert - kommt aber bestimmt bald. Es bleibt noch die Anmerkung, daß das hier beschriebene Beispiel nicht für den professionellen Bereich gedacht und geeignet ist, da der IPCop (mit meinen Kenntnissen) keinen Tunnel aufbauen kann, in den sämtlicher Traffic geroutet wird. Dieses "split-tunneling" ist ein zu bewertendes Sicherheitsrisiko. Ein noch größeres Sicherheitsrisiko ist allerdings der hier gezeigte Einsatz von Pre Shared Keys. Man sollte grundsätzlich immer mit Zertifikaten arbeiten und nicht mit PSK's. Und wenn daran kein Weg vorbeiführen sollte, dann bitte so lang und durchgemixt, wie es nur geht.

 

Sollte der VPN-Verbindungsaufbau trotz funktionierender Internetverbindungen nicht funktioneren, so einfach mal in die Logdatei des IPCop schauen und ein Debugging mit "deb crypto isakmp", "deb crypto ipsec" auf dem Cisco-Router starten.