schmufoo
Goto Top

Cisco ASA L2TP-IPSec RemoteAccess VPN mit Windows Boardmitteln

Hallo zusammen,

seit geraumer Zeit versuche ich mit nativen Windows XP Boardmitteln ein RemoteAccess VPN auf L2TP/IPSec & Preshared Key Basis gegen eine Cisco ASA aufzubauen.

Stand jetzt ist, dass es trotz diverser Anpassungen auf Client Seite (Stichwort Windows 'Lokale Sicherheitsrichtlinie') und Recherche in diverser CiscoPress Fachliteratur nicht gelungen ist über die IKE Phase I hinaus zu kommen.

Zur User Auth soll die local database genutzt werden, Problematisch ist einfach das in "allen" von mir entdeckten Solutions ein Auth gegen nen Radius oder auf Cert Basis erfolgt und nirgends die Mischung PSK & PIX/ASA Local Database abgefrühstückt wird und das obwohl genau dies über den ASDM VPN Wizzard angeboten & geconft wurde face-confused

Bevor ich fröhlich Logs poste würde ich gern wissen ob einer von Euch dahingehend schon Erfahrungen gemacht hat?

Cheers!

Content-Key: 101431

Url: https://administrator.de/contentid/101431

Printed on: April 16, 2024 at 06:04 o'clock

Member: aqui
aqui Nov 10, 2008 at 12:28:49 (UTC)
Goto Top
Hier steht doch ganz genau drin wie man das macht:

http://www.cisco.com/en/US/docs/security/asa/asa81/config/guide/l2tp_ip ...

Am Ende der Seite findest du die dazu korrespondierenden Windows Seiten !
Member: SchmuFoo
SchmuFoo Nov 10, 2008 at 14:43:16 (UTC)
Goto Top
Zitat von @aqui:
Am Ende der Seite findest du die dazu korrespondierenden Windows
Seiten !


Die Artikel bei Microsoft beziehen sich auf Windows 2000 und laut nachfolgendem braucht man das bei XP auch nicht mehr:

http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_configur ...

"Windows L2TP/IPsec Client Configuration

Complete these steps in order to configure L2TP over IPsec on Windows 2000. For Windows XP skip steps 1 and 2 and start from step 3:"


Deckt sich auch damit, dass sobald ich den ProhibitIpSec Eintrag trotzdem mal erstellt habe sich gar nichts mehr tut was den Verbindungsaufbau angeht face-wink


Die ASA ist nochmal frisch aufgesetzt und mit dem ASDM VPN Wizzard nachfolgend Konfig erstellt worden:

Beispiel:

crypto isakmp enable outside
access-list inside_nat0_outbound line 1 extended permit ip 0.0.0.0 0.0.0.0 192.168.0.0 255.255.255.240
username logmein password +eN+g7g8R6k8Lwn2ZAhjGw== nt-encrypted privilege 0
username logmein attributes
vpn-group-policy DefaultRAGroup
ip local pool RFC1918 192.168.0.5-192.168.0.10 mask 255.255.255.255
group-policy DefaultRAGroup internal
group-policy DefaultRAGroup attributes
vpn-tunnel-protocol L2TP-IPSec
configure terminal
tunnel-group DefaultRAGroup general-attributes
default-group-policy DefaultRAGroup
address-pool RFC1918
tunnel-group DefaultRAGroup ipsec-attributes
pre-shared-key abc123
crypto isakmp policy 10 authen pre-share
crypto isakmp policy 10 encrypt 3des
crypto isakmp policy 10 hash sha
crypto isakmp policy 10 group 2
crypto isakmp policy 10 lifetime 86400
crypto ipsec transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac
crypto ipsec transform-set TRANS_ESP_3DES_SHA mode transport
crypto dynamic-map outside_dyn_map 20 set pfs group1
crypto dynamic-map outside_dyn_map 20 set transform-set TRANS_ESP_3DES_SHA
crypto map outside_map 65535 ipsec-isakmp dynamic outside_dyn_map
crypto map outside_map interface outside
nat (inside) 0 access-list inside_nat0_outbound tcp 0 0 udp 0


VPN hergestellt mit dem "Windows Wizzard", unter Eigenschaften der Verbindung den PSK "abc123" eingetragen und beim Verbindungsaufbau Benutzername "logmein" & Kennwort "abc123" verwendet.


Windows zeigt bei nem Verbindungsaufbau nun an..:


Fehler 789: Der L2TP-Verbindungsversuch ist fehlgeschlagen, da ein Verarbeitungsfehler während der ersten Sicherheitsaushandlung
mit dem Remotecomputer aufgetreten ist.


..und die ASA via:

debug crypto ipsec enabled at level 7
debug crypto isakmp enabled at level 7


test5510/actNoFailover# Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE RECEIVED Message (msgid=0) with payloads : HDR + SA (1) + VENDOR (13) + VENDOR (13) + VENDOR (13) + VENDOR (13) + NONE (0) total length : 312
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing SA payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, Oakley proposal is acceptable
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, Received Fragmentation VID
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, Received NAT-Traversal ver 02 VID
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing IKE SA payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, IKE SA Proposal # 1, Transform # 2 acceptable Matches global IKE entry # 2
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing ISAKMP SA payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing Fragmentation VID + extended capabilities payload
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE SENDING Message (msgid=0) with payloads : HDR + SA (1) + VENDOR (13) + NONE (0) total length : 104
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE RECEIVED Message (msgid=0) with payloads : HDR + KE (4) + NONCE (10) + NONE (0) total length : 184
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing ke payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing ISA_KE payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, processing nonce payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing ke payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing nonce payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing Cisco Unity VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing xauth V6 VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, Send IOS VID
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, Constructing ASA spoofing IOS Vendor ID payload (version: 1.0.0, capabilities: 20000001)
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, constructing VID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: IP = x.x.x.x, Send Altiga/Cisco VPN3000/Cisco ASA GW VID

Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, Connection landed on tunnel_group DefaultRAGroup

Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, Generating keys for Responder...
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE SENDING Message (msgid=0) with payloads : HDR + KE (4) + NONCE (10) + VENDOR (13) + VENDOR (13) + VENDOR (13) + VENDOR (13) + NONE (0) total length : 256
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE RECEIVED Message (msgid=0) with payloads : HDR + ID (5) + HASH (8) + NONE (0) total length : 64
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing ID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing hash payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, Computing hash for ISAKMP

Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, Connection landed on tunnel_group DefaultRAGroup

Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Freeing previously allocated memory for authorization-dn-attributes
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, constructing ID payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, constructing hash payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, Computing hash for ISAKMP
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, constructing dpd vid payload
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE SENDING Message (msgid=0) with payloads : HDR + ID (5) + HASH (8) + VENDOR (13) + NONE (0) total length : 84


Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, PHASE 1 COMPLETED


Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, Keep-alive type for this connection: None
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, Keep-alives configured on but peer does not support keep-alives (type = None)
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, Starting P1 rekey timer: 21600 seconds.
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE RECEIVED Message (msgid=8bc57d78) with payloads : HDR + HASH (8) + SA (1) + NONCE (10) + ID (5) + ID (5) + NONE (0) total length : 1112
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing hash payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing SA payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing nonce payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing ID payload
Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Received remote Proxy Host data in ID Payload: Address x.x.x.x(=ClientIP), Protocol 17, Port 1701
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, processing ID payload
Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Received local Proxy Host data in ID Payload: Address x.x.x.x(=ASA_Ouside IP), Protocol 17, Port 1701

Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Tunnel Rejected: Conflicting protocols specified by tunnel-group and group-policy

Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, peer is not authenticated by xauth - drop connection.

Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, QM FSM error (P2 struct &0x4557f00, mess id 0x8bc57d78)!
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, IKE QM Responder FSM error history (struct &0x4557f00) <state>, <event>: QM_DONE, EV_ERROR-->QM_BLD_MSG2, EV_PROC_MSG-->QM_BLD_MSG2, EV_HASH_OK-->QM_BLD_MSG2, NullEvent-->QM_BLD_MSG2, EV_COMP_HASH-->QM_BLD_MSG2, EV_VALIDATE_MSG-->QM_BLD_MSG2, EV_DECRYPT_OK-->QM_BLD_MSG2, NullEvent
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, sending delete/delete with reason message
Nov 10 15:22:09 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Removing peer from correlator table failed, no match!
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, IKE SA MM:dda2c5b0 rcv'd Terminate: state MM_ACTIVE flags 0x00000042, refcnt 1, tuncnt 0
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, IKE SA MM:dda2c5b0 terminating: flags 0x01000002, refcnt 0, tuncnt 0
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, sending delete/delete with reason message
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, constructing blank hash payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, constructing IKE delete payload
Nov 10 15:22:09 [IKEv1 DEBUG]: Group = DefaultRAGroup, IP = x.x.x.x, constructing qm hash payload
Nov 10 15:22:09 [IKEv1]: IP = x.x.x.x, IKE_DECODE SENDING Message (msgid=e446417f) with payloads : HDR + HASH (8) + DELETE (12) + NONE (0) total length : 80


Zum generellen Setup: Die ASAs arbeiten als Layer3 Hop mit öffentlichen IPs auf dem Outside (Transfernetz) & Inside ("Server Netz") Interface.


Wieso es zu den Debug Fehlermeldungen kommt die ich hervorgehoben habe, kann ich adhoc einfach nicht nachvollziehen face-sad
Member: SchmuFoo
SchmuFoo Nov 10, 2008 at 17:20:38 (UTC)
Goto Top
Zitat von @SchmuFoo:
Wieso es zu den Debug Fehlermeldungen kommt die ich hervorgehoben
habe, kann ich adhoc einfach nicht nachvollziehen face-sad

Sodele es geht nun wie gewünscht, Zusammengefasst kann folgendes gesagt werden:

Cisco ASA:
ASDM VPN Wizzard: OHNE PFS, mit MS-CHAP1&2
NAT-T nachträglich global aktivieren (CLI: crypto isakmp nat-traversal 20) auch wenn es in der dynamic-map mit drin ist

Clientseitig:
Verbindung wie gewohnt über den Windows Verbindungsmanager herstellen.

Dann bei der erstellten Verbindung im Reiter "Sicherheit" den Button "IPSec-Einstellung" auswählen und den PSK eintragen.

Weiter zum Reiter "Netzwerk" und von "Automatisch" explizit auf "L2TP/IPSec VPN" umzustellen. Optional dort noch unter "Einstellungen" die Softwarekomprimierung deaktivieren da es sonst bei Nutzung einer LAN Verbindung zu einem "dramatically" reduzierten VPN Throughput kommt. (Quelle: The Complete Cisco VPN Configuration Guide, Cisco Press / Richard Deal)

Desweiteren hab ich Clientseitig nichts mehr mit speziellen eigenen "IP-Sicherheitsrichtlinien auf lokaler Computer" im Bereich "Lokale Sicherheitsrichtlinie" gemacht da trotz dessen ein Zertifikat bemängelt wurde obwohl dort der PSK hinterlegt wurde.

Cheers!
Member: aqui
aqui Nov 10, 2008 at 20:38:16 (UTC)
Goto Top
Schön und hilfreich für andere wäre es mal gewsen hättest du mal die relevanten Konfigauszüge der CLI Konfig hier gepostet...aber man kann ja nicht alles haben !
Member: SchmuFoo
SchmuFoo Nov 21, 2008 at 10:34:26 (UTC)
Goto Top
Zitat von @SchmuFoo:
Sodele es geht nun wie gewünscht, Zusammengefasst kann folgendes
gesagt werden:

Cisco ASA:
ASDM VPN Wizzard: OHNE PFS, mit MS-CHAP1&2
NAT-T nachträglich global aktivieren (CLI: crypto isakmp
nat-traversal 20) auch wenn es in der dynamic-map mit drin ist

Nachtrag fürs Debugging:

- ISAKMP IKE Phase1 geht dann meistens direkt, Phase2 nicht?
--> Hier kommt das oben genannte globale NAT-T zum Zuge.
--> UND wenn bereits ein IPSec RemoteAccess Tunnel besteht noch eine Erweiterung der IPSec (Encryption Domain) Rule und zwar wird das TRANSPORT Mode Proposal in die bestehende IPSec Rule "ACL“ hinzugefügt.