admnut89
Goto Top

IPsec IKEv2 auf pfSense - Zertifikatefehler

Liebes Forum,

ich versuche derzeit folgende Anleitung auf meiner pfSense umzusetzen:

IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten

Leider scheint es Probleme mit den Zertifikaten zu geben. Hier der Log (meine öffentliche IP ist mit xxx.xxx.xxx.xxx maskiert):

Sep 6 07:59:03 	charon 	97494 	07[NET] <1> received packet: from 109.42.113.240[49837] to xxx.xxx.xxx.xxx[500] (650 bytes)
Sep 6 07:59:03 	charon 	97494 	07[ENC] <1> parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) N(REDIR_SUP) ]
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> looking for an IKEv2 config for xxx.xxx.xxx.xxx...109.42.113.240
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> candidate: xxx.xxx.xxx.xxx...0.0.0.0/0, ::/0, prio 1052
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> found matching ike config: xxx.xxx.xxx.xxx...0.0.0.0/0, ::/0 with prio 1052
Sep 6 07:59:03 	charon 	97494 	07[IKE] <1> 109.42.113.240 is initiating an IKE_SA
Sep 6 07:59:03 	charon 	97494 	07[IKE] <1> IKE_SA (unnamed)[1] state change: CREATED => CONNECTING
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> selecting proposal:
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> proposal matches
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> received proposals: IKE:AES_CBC_256/AES_CBC_128/HMAC_SHA2_512_256/HMAC_SHA2_384_192/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_512/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048_256/ECP_384/ECP_256/MODP_2048/MODP_1536, IKE:AES_GCM_16_256/AES_GCM_16_128/PRF_HMAC_SHA2_512/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048_256/ECP_384/ECP_256/MODP_2048/MODP_1536
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 6 07:59:03 	charon 	97494 	07[CFG] <1> received supported signature hash algorithms: sha256 sha384 sha512
Sep 6 07:59:03 	charon 	97494 	07[IKE] <1> remote host is behind NAT
Sep 6 07:59:03 	charon 	97494 	07[IKE] <1> DH group MODP_2048_256 unacceptable, requesting MODP_2048
Sep 6 07:59:03 	charon 	97494 	07[ENC] <1> generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]
Sep 6 07:59:03 	charon 	97494 	07[NET] <1> sending packet: from xxx.xxx.xxx.xxx[500] to 109.42.113.240[49837] (38 bytes)
Sep 6 07:59:03 	charon 	97494 	07[IKE] <1> IKE_SA (unnamed)[1] state change: CONNECTING => DESTROYING
Sep 6 07:59:03 	charon 	97494 	07[NET] <2> received packet: from 109.42.113.240[49837] to xxx.xxx.xxx.xxx[500] (650 bytes)
Sep 6 07:59:03 	charon 	97494 	07[ENC] <2> parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) N(REDIR_SUP) ]
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> looking for an IKEv2 config for xxx.xxx.xxx.xxx...109.42.113.240
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> candidate: xxx.xxx.xxx.xxx...0.0.0.0/0, ::/0, prio 1052
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> found matching ike config: xxx.xxx.xxx.xxx...0.0.0.0/0, ::/0 with prio 1052
Sep 6 07:59:03 	charon 	97494 	07[IKE] <2> 109.42.113.240 is initiating an IKE_SA
Sep 6 07:59:03 	charon 	97494 	07[IKE] <2> IKE_SA (unnamed)[2] state change: CREATED => CONNECTING
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> selecting proposal:
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> proposal matches
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> received proposals: IKE:AES_CBC_256/AES_CBC_128/HMAC_SHA2_512_256/HMAC_SHA2_384_192/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_512/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_2048_256/ECP_384/ECP_256/MODP_1536, IKE:AES_GCM_16_256/AES_GCM_16_128/PRF_HMAC_SHA2_512/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_2048_256/ECP_384/ECP_256/MODP_1536
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> received supported signature hash algorithms: sha256 sha384 sha512
Sep 6 07:59:03 	charon 	97494 	07[IKE] <2> remote host is behind NAT
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> sending supported signature hash algorithms: sha256 sha384 sha512 identity
Sep 6 07:59:03 	charon 	97494 	07[IKE] <2> sending cert request for "CN=CApfSense, C=DE, ST=SH, L=Kiel"  
Sep 6 07:59:03 	charon 	97494 	07[ENC] <2> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ]
Sep 6 07:59:03 	charon 	97494 	07[NET] <2> sending packet: from xxx.xxx.xxx.xxx[500] to 109.42.113.240[49837] (489 bytes)
Sep 6 07:59:03 	charon 	97494 	07[NET] <2> received packet: from 109.42.113.240[58932] to xxx.xxx.xxx.xxx[4500] (352 bytes)
Sep 6 07:59:03 	charon 	97494 	07[ENC] <2> parsed IKE_AUTH request 1 [ IDi CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> looking for peer configs matching xxx.xxx.xxx.xxx[%any]...109.42.113.240[mobile]
Sep 6 07:59:03 	charon 	97494 	07[CFG] <2> candidate "con-mobile", match: 1/1/1052 (me/other/ike)  
Sep 6 07:59:03 	charon 	97494 	07[CFG] <con-mobile|2> selected peer config 'con-mobile'  
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> initiating EAP_IDENTITY method (id 0x00)
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> processing INTERNAL_IP4_ADDRESS attribute
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> processing INTERNAL_IP4_DNS attribute
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> peer supports MOBIKE
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> got additional MOBIKE peer address: 2a00:20:7001:d583:88d0:45b0:8275:ddf7
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> got additional MOBIKE peer address: 2a00:20:70ce:7c05:b6b3:d5fb:adc5:c902
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> authentication of 'xxx.xxx.xxx.xxx' (myself) with RSA_EMSA_PKCS1_SHA2_256 successful  
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> sending end entity cert "CN=pfSense, C=DE, ST=SH, L=Kiel"  
Sep 6 07:59:03 	charon 	97494 	07[ENC] <con-mobile|2> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Sep 6 07:59:03 	charon 	97494 	07[NET] <con-mobile|2> sending packet: from xxx.xxx.xxx.xxx[4500] to 109.42.113.240[58932] (1472 bytes)
Sep 6 07:59:03 	charon 	97494 	07[NET] <con-mobile|2> received packet: from 109.42.113.240[58932] to xxx.xxx.xxx.xxx[4500] (80 bytes)
Sep 6 07:59:03 	charon 	97494 	07[ENC] <con-mobile|2> parsed INFORMATIONAL request 2 [ N(AUTH_FAILED) ]
Sep 6 07:59:03 	charon 	97494 	07[ENC] <con-mobile|2> generating INFORMATIONAL response 2 [ N(AUTH_FAILED) ]
Sep 6 07:59:03 	charon 	97494 	07[NET] <con-mobile|2> sending packet: from xxx.xxx.xxx.xxx[4500] to 109.42.113.240[58932] (80 bytes)
Sep 6 07:59:03 	charon 	97494 	07[IKE] <con-mobile|2> IKE_SA con-mobile[2] state change: CONNECTING => DESTROYING 

Ich habe die Erstellung der Zerifikate mehrfach wiederholt und die Anleitung wirklich gewissenhaft Schritt für Schritt befolgt:

1. Zunächst habe ich das CA Zertifikat erstellt:
Descriptive Name: "pfSenseCA"
Method: "Create an internal Certificate Authority"

Key length: 2048

Digest Algorithm: sha256
Lifetime: 3650 days
Common Name: "pfSenseCA" (Auch auf Leerzeichen am Ende geachtet)
Country Code: DE
State: Nur Großbuchstaben benutzt, keine Leer- oder Sonderzeichen
City: Groß- und Kleinbuchstaben benutzt, keine Leer- oder Sonderzeichen

2. Danach das Serverzertifikat:
Method: "Create an internal certificate”
Descriptive Name: "IKEv2VPN"
Korrekte CA war ausgewählt
Key length: 2048

Digest Algorithm: sha256
Lifetime: 3650 days
Certificate Type: "Server Certificate"
Country Code etc. wie oben
Hier bin ich mir am unsichersten:
Common Name: "pfSense" (Ist auch der Hostname meiner pfSense, so wie es unter System -> General Setup eingestellt ist)
Unter den Alternativen habe ich FDQN: pfSense und FDQN: pfSense.localdomain eingetragen (localdomain ist der Domainname, so wie es unter System -> General Setup eingestellt ist) --> Spaßeshalber habe ich hier mal meine nicht statische öffentliche IP hinzugefügt, auch mit der Auswahl "IP Address", da sich diese bei mir selten ändert, hat leider auch nichts gebracht.

Die alten Zertifikate habe ich gelöscht und die Neuen unter System -> Advanced hinterlegt.
Das korrekte Zertifikat habe ich auch in der IPSec Phase 1 hinterlegt.

3. Auf dem Handy (Android) habe ich das CA Zertifikat installiert und auch unter den VPN Verbindungseinstellungen ausgewählt. Ich habe hier auch meine öffentliche IP Adresse als Ziel angegeben, da ich DynDNS noch nicht eingerichtet habe. Die Verbindung kann nicht hergestellt werden.

Hat irgendjemand eine Idee? Ich bin mit meinem Latein am Ende.

Dankeface-smile

Content-Key: 1232176411

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

Printed on: March 1, 2024 at 03:03 o'clock

Member: aqui
aqui Sep 06, 2021 updated at 15:51:26 (UTC)
Goto Top
Die Fehlermeldung "generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]" die den Abbruch bewirkt hatten wir schonmal:
VPN auf pfsense eingerichtet und funtioniert auf einem Handy, andere Handys wollen keine VPN mit diesen Zugangsdaten aufsetzen
War auch ein Konfigfehler... face-wink

Wie du ja selber siehst ist jetzt auch deine Zertifikats Fehlermeldung ""received 45 cert requests for an unknown ca" aus deinem ersten_Fehlerposting verschwunden ! Es kann jetzt also diesmal kein Zertifikatsfehler mehr sein...
(Wäre nebenbei hilfreich gewesen wenn du darauf referenziert hättest ! face-wink )
Member: admNut89
admNut89 Sep 10, 2021 at 06:44:44 (UTC)
Goto Top
Was bedeutet der Fehler jetzt genau? In der SA werden ja die Schlüssel der Protokolle gespeichert, wenn ich das richtig verstanden habe. Also geht etwas bei deren Initialisierung schief?

Ich habe den verlinkten Beitrag gelesen. für mich wird nur nicht ganz klar, was das Problem letztlich gelöst hat? Die preshared keys habe ich ordnungsgemäß angelegt. Sind die eigentlich unabhängig von den Zertifikaten oder müssen diese jedes Mal neu angelegt werden?
Member: aqui
aqui Sep 10, 2021 updated at 07:03:43 (UTC)
Goto Top
Ja, die sind unabhängig. Mit dem Zertifikat wird nur verifiziert das der Server der richtige ist. Ohne könnte dir ja jemand einen anderen VPN Server mit gleichen Credentials unterschieben. Das Zertifikat stellt also sicher das es auch der VPN Server ist mit dem der Client sich verbinden soll.
Member: admNut89
admNut89 Sep 10, 2021 updated at 08:21:16 (UTC)
Goto Top
Ok, das habe ich verstanden und das scheint ja auch nun zu funktionieren.

Aber was ist mein Config-Problem?

Ich habe mein Log von oben nochmal analysiert. Kann es sein, dass der Client zweimal versucht hat zu verbinden?

Denn in Zeile 16 tritt der von dir erwähnte Fehler auf.
Bereits in Zeile 18 wird die Verbindung abgebaut (Destroyed).
In Zeile 19, so scheint mir, beginnt ein neuer Verbindungsaufbau, der auch bis "remote host is behind NAT" (Zeile 32) identisch abläuft. (Was ich auch nicht ganz verstehe, denn ich verbinde ja mit meinem Handy aus dem Mobilfunknetz heraus. Wo ist da das NAT?)
In Zeile 35 scheint der obige Fehler diesmal nicht aufzutreten:

Sep 6 07:59:03 	charon 	97494 	07[ENC] <2> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ]

In Zeile 50 gibt es einen zweiten erfolgreichen response:

Sep 6 07:59:03 	charon 	97494 	07[ENC] <con-mobile|2> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]

In Zeile 53 und 54 scheinen dann aber wieder Fehler aufzutreten:

Sep 6 07:59:03 	charon 	97494 	07[ENC] <con-mobile|2> parsed INFORMATIONAL request 2 [ N(AUTH_FAILED) ]
Sep 6 07:59:03 	charon 	97494 	07[ENC] <con-mobile|2> generating INFORMATIONAL response 2 [ N(AUTH_FAILED) ]

Was bedeuten diese?
Member: aqui
aqui Sep 10, 2021 at 11:56:33 (UTC)
Goto Top
Da gibts einen Eintrag im Netgate Forum dazu:
https://forum.netgate.com/topic/142583/ipsec-won-t-connect-beyond-phase- ...
Die verweisen dann auf das HowTo in der Doku auf dem auch das hiesige Tutorial basiert:
https://docs.netgate.com/pfsense/en/latest/recipes/ipsec-mobile-ikev2-ea ...