IKEv2 Verbindung mit Android 13

Forum zum Thema allgemeinen Fragen zu VPN

Moderator: Lancom-Systems Moderatoren

Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: IKEv2 Verbindung mit Android 13

Beitrag von Dr.Einstein »

Dein verlinkter Artikel erklärt genau das Gegenteil, dass CBC kein Problem bei VPN (IKEv2) darstellt. Außerdem fehlen jegliche Quellenangaben und ist somit wertlos.
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

Ich hab gestern noch stundenlang weiter probiert, auch gemäß der Tips, lokale Identitätstyp Key-ID probiert und dafür gesorgt dass der Lancom den DNS Server nicht zwei mal ausspielt. Hat alles nichts geholfen.
Ich fand es sehr frustrierend immer wieder im Trace zu sehen, dass alles wunderschön ausgehandelt wurde und der Tunnel soweit steht und das Android dann immer wieder gleich nachher "auflegt". Verwertbare Logs am Android konnte ich nicht auftreiben, ich habe dazu auch diverse "Log Viewer" Apps installiert, da kam nicht eine Zeile zu dem Thema daher.

Vielen Dank in jedem Fall für die umfangreiche Hilfer von euch.
Fürs erste muss ich es aber aufgeben, sonst wird hier noch eine Obsession draus. Vielleicht probier ich in den nächsten Tagen den zertifikatsbasierenden Ansatz, oder ich erschlage die Anforderung mit einem Raspberry und Wireguard drauf.
Liebe Grüße,
michael
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: IKEv2 Verbindung mit Android 13

Beitrag von Dr.Einstein »

Nicht aufgeben, habe jetzt ein Samsung Android 13 organisiert, Einrichtung ist identisch wie bei iOS, sowohl iOS als auch Android 13 funktionierten sofort. Testdaten:

IPSec Identifier: lancom.intern
PSK: 12345678
(beim iPhone wäre noch zu unterscheiden, Local / Remote Identifier, mit den Testdaten beides identisch setzen)

Einrichtung bei iPhone/iPad und Android 13 Samsung:

Code: Alles auswählen

set /Setup/VPN/Operating yes

cd /Setup/VPN/IKEv2/Peers
tab Peer Active SH-Time Remote-Gateway Rtg-tag Encryption Authentication General Lifetimes IKE-CFG IPv4-CFG-Pool IPv6-CFG-Pool CFG-Client-Profile Split-DNS-Profile Auto-IP-Profile Rule-creation IPv4-Rules IPv6-Rules Routing RADIUS-Authorization RADIUS-Accounting IPv6 HSVPN Comment
add "DEFAULT" Yes 0 "" 0 "DEFAULT" "DEFAULT" "DEFAULT" "DEFAULT" Off "" "" "" "" "" manually "" "" "" "" "" "" "" ""
add "IPHONE-PSK" Yes 0 "0.0.0.0" 0 "DEFAULT" "IPHONE-PSK" "DEFAULT" "DEFAULT" Server "TESTV4" "" "" "" "" manually "RAS-WITH-NETWORK-SELECTION" "" "" "" "" "DEFAULT" "" ""
cd /

cd /Setup/VPN/IKEv2/Encryption
tab Name DH-Groups PFS IKE-SA-Cipher-List IKE-SA-Integ-Alg-List Child-SA-Cipher-List Child-SA-Integ-Alg-List
add "DEFAULT" DH16,DH14 Yes AES-CBC-256,AES-GCM-256 SHA-512,SHA-256 AES-CBC-256,AES-GCM-256 SHA-512,SHA-256
cd /

cd /Setup/VPN/IKEv2/Auth/Parameter
tab Name Local-Auth Local-Dig-Sig-Profile Local-ID-Type Local-ID Local-Password Remote-Auth Remote-Dig-Sig-Profile Remote-EAP-Profile Remote-ID-Type Remote-ID Remote-Password Addit.-Remote-ID-List Local-Certificate Remote-Cert-ID-Check OCSP-Check CRL-Check
add "DEFAULT" Digital-Signature "DEFAULT-RSA-PKCS" No-Identity "" "" Digital-Signature "DEFAULT-RSA-PKCS" "" No-Identity "" "" "DEFAULT" "VPN1" No No Yes
add "IPHONE-PSK" PSK "DEFAULT-RSA-PKCS" Domain-Name "lancom.intern" "12345678" PSK "DEFAULT-RSA-PKCS" "" Domain-Name "lancom.intern" "12345678" "" "" No No Yes
cd /

cd /Setup/VPN/IKEv2/Lifetimes
tab Name IKE-SA-Sec IKE-SA-KB Child-SA-Sec Child-SA-KB
add "DEFAULT" 84600 0 14400 2000000
cd /

cd /Setup/VPN/IKEv2/IKE-CFG/IPv4
tab Name Start-Address-Pool End-Address-Pool Primary-DNS Secondary-DNS
add "TESTV4" "192.168.15.160" "192.168.15.170" "0.0.0.0" "0.0.0.0"
cd /
Einrichtung bei Android 13 Pixel, Parameter für eigene WAN IP oder DynDNS müssen zusätzlich ausgetauscht werden.

Code: Alles auswählen

set /Setup/VPN/Operating yes
set /Setup/IP-Router/Proxy-ARP Yes # nur notwendig, wenn Adresspool im selben Netzwerk wie das LAN ist

cd /Setup/VPN/IKEv2/Peers
tab Peer Active SH-Time Remote-Gateway Rtg-tag Encryption Authentication General Lifetimes IKE-CFG IPv4-CFG-Pool IPv6-CFG-Pool CFG-Client-Profile Split-DNS-Profile Auto-IP-Profile Rule-creation IPv4-Rules IPv6-Rules Routing RADIUS-Authorization RADIUS-Accounting IPv6 HSVPN Comment
add "DEFAULT" Yes 0 "" 0 "DEFAULT" "DEFAULT" "DEFAULT" "DEFAULT" Off "" "" "" "" "" manually "" "" "" "" "" "" "" ""
add "ANDROID-PSK" Yes 0 "0.0.0.0" 0 "DEFAULT" "ANDROID-PSK" "DEFAULT" "DEFAULT" Server "VPN-POOL" "" "" "" "" manually "RAS-WITH-CONFIG-PAYLOAD" "" "" "" "" "DEFAULT" "" ""
cd /

cd /Setup/VPN/IKEv2/Encryption
tab Name DH-Groups PFS IKE-SA-Cipher-List IKE-SA-Integ-Alg-List Child-SA-Cipher-List Child-SA-Integ-Alg-List
add "DEFAULT" DH16,DH14 Yes AES-CBC-256,AES-GCM-256 SHA-512,SHA-256 AES-CBC-256,AES-GCM-256 SHA-512,SHA-256
cd /

cd /Setup/VPN/IKEv2/Auth/Parameter
tab Name Local-Auth Local-Dig-Sig-Profile Local-ID-Type Local-ID Local-Password Remote-Auth Remote-Dig-Sig-Profile Remote-EAP-Profile Remote-ID-Type Remote-ID Remote-Password Addit.-Remote-ID-List Local-Certificate Remote-Cert-ID-Check OCSP-Check CRL-Check
add "DEFAULT" Digital-Signature "DEFAULT-RSA-PKCS" No-Identity "" "" Digital-Signature "DEFAULT-RSA-PKCS" "" No-Identity "" "" "DEFAULT" "VPN1" No No Yes
# Verwendung bei statischer IPv4-WAN - "1.2.3.4" gegen eigene WAN-IP austauschen
add "ANDROID-PSK" PSK "DEFAULT-RSA-PKCS" IPv4-Address "1.2.3.4" "12345678" PSK "DEFAULT-RSA-PKCS" "" Domain-Name "lancom.intern" "12345678" "" "" No No Yes
# Verwendung bei DynDNS WAN - "dyndns.firma.de" gegen DynDNS Domain austauschen
# add "ANDROID-PSK" PSK "DEFAULT-RSA-PKCS" Domain-Name "dyndns.firma.de" "12345678" PSK "DEFAULT-RSA-PKCS" "" Domain-Name "lancom.intern" "12345678" "" "" No No Yes
cd /

cd /Setup/VPN/IKEv2/Lifetimes
tab Name IKE-SA-Sec IKE-SA-KB Child-SA-Sec Child-SA-KB
add "DEFAULT" 84600 0 14400 2000000
cd /

cd /Setup/VPN/IKEv2/IKE-CFG/IPv4
tab Name Start-Address-Pool End-Address-Pool Primary-DNS Secondary-DNS
add "VPN-POOL" "192.168.15.160" "192.168.15.170" "0.0.0.0" "0.0.0.0"
cd /
IP Pool unter /Setup/VPN/IKEv2/IKE-CFG/IPv4 entsprechend deinem Netzwerk anpassen. War jetzt alles schnell zusammengeklickt. Optimieren von Verschlüsselungen etc geht garantiert.

LCOS 10.50RU9

Gruß Dr.Einstein
Zuletzt geändert von Dr.Einstein am 25 Dez 2022, 16:50, insgesamt 2-mal geändert.
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

Ich dank Dir vielmals dass Du Dir hier die Zeit genommen hast und danke für Dein Script. Ich hab lediglich den Namen geändert auf ANDROID-PSK und die IP-Range angepasst, ansonsten habe ich es genau so verwendet.
Leider ist das Ergebnis das selbe.

Irgendwas scheint aber anders zu sein, weil dieses Mal der Trace zu groß ist für das Forensystem ;-)
Hier der Pastebin: https://pastebin.com/J3HstxAJ

Mein Gerät ist übrigens ein Google Pixel 6a. Ich werde es dieser Tage mal auf einem anderen Fabrikat eines Kollegen probieren und halte am Laufenden.
Liebe Grüße,
michael
GrandDixence
Beiträge: 1054
Registriert: 19 Aug 2014, 22:41

Re: IKEv2 Verbindung mit Android 13

Beitrag von GrandDixence »

Dr.Einstein hat geschrieben: 19 Dez 2022, 23:40 Dein verlinkter Artikel erklärt genau das Gegenteil, dass CBC kein Problem bei VPN (IKEv2) darstellt. Außerdem fehlen jegliche Quellenangaben und ist somit wertlos.
Die Vorteile von GCM gegenüber CBC sind in der BSI TR-02102 im Detail beschrieben. Inklusive Quellenangaben.
https://www.bsi.bund.de/DE/Themen/Unter ... _node.html

Wer die Sicherheitsvorteile von GCM nicht nutzen will, der soll es sein lassen. Ist nicht mein Problem...
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: IKEv2 Verbindung mit Android 13

Beitrag von Dr.Einstein »

GrandDixence hat geschrieben: 20 Dez 2022, 14:20 Die Vorteile von GCM gegenüber CBC sind in der BSI TR-02102 im Detail beschrieben. Inklusive Quellenangaben.
https://www.bsi.bund.de/DE/Themen/Unter ... _node.html
Weder in https://www.bsi.bund.de/SharedDocs/Down ... onFile&v=6 noch in https://www.bsi.bund.de/SharedDocs/Down ... onFile&v=4 finde ich einen Hinweis zu deinem erwähnten Sicherheitsvorteil von GCM gegenüber CBC in einem durch IKEv2 abgesicherten Verfahren.
GrandDixence hat geschrieben: 20 Dez 2022, 14:20 Wer die Sicherheitsvorteile von GCM nicht nutzen will, der soll es sein lassen. Ist nicht mein Problem...
Es ist nicht nötig gleich pampig zu werden. Ich will lediglich verstehen, wieso du der Meinung bist, dass CBC im IKEv2 Umfeld unsicherer sei als GCM. Wenn ich das verstehen würde, setze ich in Zukunft kein AES-CBC mehr ein. Die Erkenntnis fehlt mir aber noch. Ich habe das Gefühl, hier entsteht die gleiche Blase wie bei PSK vs Zertifikate. Irgendwie existiert das Gerücht, dass Zertifikate sicherer sind. Wenn man sich aber mit der Mathematik beschäftigt, dann wird man schnell feststellen, dass Zertifikate aufgrund der Einwegfunktionen sogar "deutlich" unsicherer sind als PSK. Um das zu kompensieren, müssen immer längere Schlüssel verwendet werden. Wenn man sich dann genauer mit der Thematik auseinandersetzt, dann geht es in den meisten Fällen um Softskills wie z.B. wie übermittle ich gesichert einen PSK zwischen zwei Standorten (Konfigurationsfiles etc), wird ein PSK wirklich angepasst, wenn es Kompromittierungen gab, wird ein PSK regelmäßig gewechselt usw. Es geht soweit es mir bekannt ist bei der Sicherheit zwischen PSK und Zertifikat nie um die Härtung der verwendeten Protokolle.

AES-CBC vs AES-GCM ist für mein Verständnis zumindest bei IKEv2 aktuell ein reines Performancethema und kein Sicherheitsthema.
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: IKEv2 Verbindung mit Android 13

Beitrag von Dr.Einstein »

tbc233 hat geschrieben: 20 Dez 2022, 14:12 Mein Gerät ist übrigens ein Google Pixel 6a. Ich werde es dieser Tage mal auf einem anderen Fabrikat eines Kollegen probieren und halte am Laufenden.
Ich habe mal den Aufbau zwischen deinem Pixel 6a und dem Galaxy 21 verglichen, links jeweils dein Pixel:

2x INTERNAL_IP4_DNS vs, 0x INTERNAL_IP4_DNS (da bei mir nicht konfiguriert)
DH 16 31 15 14 vs DH 14 24 20 19 5 wird ausgewählt zu DH16 vs DH14
AES-128-CTR AES-CBC-256 AES-128-CTR AES-CBC-192 AES-128-CTR AES-CBC-128 vs AES-GCM-16-256 AES-GCM-16-128 wird ausgewählt zu AES-CBC-256 vs AES-GCM-16-256
weshalb dann HMAC-SHA-512 vs nichts ist.

Ansonsten ist mir noch ein Unterschied bei IPv6 aufgefallen:

Cannot assign IPv6 config parameters to non-existent interface ANDROID-PSK vs Assigned IPv6 config parameters: DNS: ::

Folgender Vorschlag. Korrigiere noch einmal deine DNS Server. Testweise komplett entfernen. Wenn das nicht klappt / reicht, passe einmal das verwendete IPv4-Regelwerk an, vllt. mag dein Pixel kein Any-Any sondern will die 0.0.0.0/32-er Regel, d.h. RAS-WITH-NETWORK-SELECTION austauschen gegen RAS-WITH-CONFIG-PAYLOAD.
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

Leider keine Änderung. Nicht mit leeren DNS, auch nicht mit RAS-WITH-CONFIG-PAYLOAD.
Liebe Grüße,
michael
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

Weitere Entwicklung:
Mein Glück ist, dass der EIGENTLICHE Anwender, der diese Verbindung benötigt und für den ich sie einrichten wollte, auch ein Samsung hat. Insofern war der Tipp, dass es auf Samsung funktionierte, schonmal sehr hilfreich. bei ihm funktionierts.

Da sowohl er, als auch ich auf meinem Pixel das Android 13 habe, war meine Idee eben dass ich das austeste und ihm dann übergebe. Damit ging gestern praktisch der ganze Tag bei mir drauf, während es vermutlich gleich vom Tisch gewesen wäre, hätte ich es von Anfang an auf seinem Handy gemacht.

Kurzum, es läuft und derjenige, der das VPN brauchte, hat es nun. Warums auf meinem Pixel nicht funktioniert, weiterhin keine Ahnung. Ich werds nach einigen Android Updates in ein paar Wochen wiedermal probieren.

Vielen Dank auf jeden Fall Dr.Einstein, dass Du mich hier durch begleitet hast.
Liebe Grüße,
michael
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: IKEv2 Verbindung mit Android 13

Beitrag von Dr.Einstein »

Eine Idee habe ich noch. Ändere mal im Lancom Router die lokale ID auf deine WAN-IP Adresse ab und stelle den Typ auf IPv4. Solltest du im Pixel einen (Dyn)Dns Namen hinterlegt haben, dann trage im Lancom FQDN als lokaler Typ, und deinen (dyn)DNS Namen als Lokale ID ein. Im Pixel änderst du nichts.

Gruß Dr.Einstein
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

Das probier ich gern, ich komm nur wahrscheinlich zeitlich erst morgen/übermorgen dazu. Ich geb dann Rückmeldung.
Liebe Grüße,
michael
mh1
Beiträge: 47
Registriert: 24 Feb 2022, 11:17

Re: IKEv2 Verbindung mit Android 13

Beitrag von mh1 »

tbc233 hat geschrieben: 20 Dez 2022, 07:14 (...) Vielleicht probier ich in den nächsten Tagen den zertifikatsbasierenden Ansatz, (...)
Hab ich den Thread jetzt richtig verstanden, dass du die ganze Zeit versuchst, die Authentisierung mit Strongswan auf Android 13 mit PSK zu machen?

Also da wirst du kein Glück haben. Strongswan unterstützt unter Android kein PSK ;-)
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

mh1 hat geschrieben: 21 Dez 2022, 10:09 Hab ich den Thread jetzt richtig verstanden, dass du die ganze Zeit versuchst, die Authentisierung mit Strongswan auf Android 13 mit PSK zu machen?
Nein, es ging um den nativen Client von Android.
mh1 hat geschrieben: 21 Dez 2022, 10:09 Also da wirst du kein Glück haben. Strongswan unterstützt unter Android kein PSK ;-)
Ja, das ist mir klar.
Liebe Grüße,
michael
Benutzeravatar
tbc233
Beiträge: 343
Registriert: 01 Feb 2005, 21:56

Re: IKEv2 Verbindung mit Android 13

Beitrag von tbc233 »

Schöne Feiertage wünsche ich vorab!
Dr.Einstein hat geschrieben: 20 Dez 2022, 20:45 Eine Idee habe ich noch. Ändere mal im Lancom Router die lokale ID auf deine WAN-IP Adresse ab und stelle den Typ auf IPv4. Solltest du im Pixel einen (Dyn)Dns Namen hinterlegt haben, dann trage im Lancom FQDN als lokaler Typ, und deinen (dyn)DNS Namen als Lokale ID ein. Im Pixel änderst du nichts.
Unglaublich, damit funktioniert der Verbindungsaufbau tatsächlich (lokaler Identitätstyp ipv4 Adresse, mit der öffentlichen IP, welche am Pixel genauso eingetragen ist). Das Android erkennt sich erstmals als Verbunden und taucht dann auch im Lanmonitor bei den VPN Verbindungen auf.

Leider kriege ich jetzt keinen Traffic durch den Tunnel. Also "keinen Traffic" stimmt nicht ganz, das Webinterface des Lancom erreiche ich auf dem Handy. Dann hätte ich testweise ein paar andere Geräte hier mit Webinterface angesurft, diese erreiche ich nicht.

Was ich schon probiert habe war, alle vorhandenen IPv4 Regeln (RAS-WITH-CONFIG-PAYLOAD, RAS-WITH-NETWORK-SELECTION, WIZ-ANY-TO-ANY) zu verweden. Es ändert sich dadurch aber nichts.

Ich habe dann bemerkt, dass die Intruder Detection darauf anspringt:

Code: Alles auswählen

[Firewall] 2022/12/25 15:31:50,944
Packet matched rule intruder detection
DstIP: 192.168.5.66, SrcIP: 192.168.5.214, Len: 60, DSCP: CS0/BE (0x00), ECT: 0, CE: 0
Prot.: TCP (6), DstPort: 443, SrcPort: 58778, Flags: S
Seq: 390706677, Ack: 0, Win: 65535, Len: 0
Option: Maximum segment size = 1460
Option: SACK permitted
Option: 08 = 5c bc 81 b4 00 00 00 00
Option: NOP
Option: Window scale = 9 (multiply  by 512)

Filter info: packet received from invalid interface ANDROID-PSK
send SNMP trap
packet dropped

[Firewall] 2022/12/25 15:31:51,204
Packet matched rule intruder detection
DstIP: 192.168.5.66, SrcIP: 192.168.5.214, Len: 60, DSCP: CS0/BE (0x00), ECT: 0, CE: 0
Prot.: TCP (6), DstPort: 443, SrcPort: 58782, Flags: S
Seq: 1335640500, Ack: 0, Win: 65535, Len: 0
Option: Maximum segment size = 1460
Option: SACK permitted
Option: 08 = 5c bc 82 b4 00 00 00 00
Option: NOP
Option: Window scale = 9 (multiply  by 512)

Filter info: packet received from invalid interface ANDROID-PSK
send SNMP trap
packet dropped
(192.168.5.66 ist die IP meines Accesspoints, dessen Webinterface ich testweise ansurfen wollte. 192.168.5.214 ist die IP die meinem Handy zugewiesen wurde)
Liebe Grüße,
michael
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: IKEv2 Verbindung mit Android 13

Beitrag von Dr.Einstein »

Taucht in deiner Routing Tabelle ein Verweis auf "ANDROID-PSK" auf? Benutzt du parallel den IPv4 Adresspool unter IKEv2? Du darfst nicht beides zeitgleich verwenden.

Gruß Dr.Einstein
Antworten