Strongswan Roadwarrior-Szenario mit Pubkey-Authentifizierungsproblemen

Strongswan Roadwarrior-Szenario mit Pubkey-Authentifizierungsproblemen

Ubuntu 20.04 Strongswan 5.9.1 (aus dem Quellcode erstellt)

swanctl.conf

Android Strongswan App

Ich verwende eine selbstsignierte Zertifizierungsstelle und Zertifikate.

roadwarr-ikev2-pubkey {
    version = 2
    #proposals = aes192gcm16-aes128gcm16-prfsha256-ecp256-ecp521,aes192-sha256-modp3072,default
    proposals = aes256-sha1-modp1024,default
    rekey_time = 0s
    pools = primary-pool-ipv4
    fragmentation = yes
    dpd_delay = 30s
    local_addrs = %any
    # dpd_timeout doesn't do anything for IKEv2. The general IKEv2 packet timeouts are used.
    local-1 {
        #auth = pubkey
        certs = Srv1SwanCert.der
        id = ub-srv-1
    }
    remote-1 {
        # defaults are fine.
        #auth = pubkey
        #id = androidLkP
        id = %any
    }
    children {
        roadwarr-ikev2-pubkey {
            # local_ts = 10.10.5.0/24
            local_ts = 0.0.0.0/0
            rekey_time = 0s
            dpd_action = clear
            # esp_proposals = aes192gcm16-aes128gcm16-prfsha256-ecp256-modp3072,aes192-sha256-ecp256-modp3072,default
            esp_proposals = aes256-sha1-modp1024,default
        }
    }
}

Dieses Setup funktioniert nur, wenn in der Android-App „Client-Identität“ leer ist. Sobald ich eine Client-ID hinzufüge, erhalte ich Folgendes:

15[CFG] selected peer config 'roadwarr-ikev2-pubkey'
15[IKE] no trusted RSA public key found for 'androidLkP'

androidLkP ist ein CN in diesem speziellen Zertifikat.

Ich habe einen öffentlichen Schlüssel aus einem Zertifikat mit dem Befehl pki extrahiert und in /etc/swanctl/pubkeyeinem Ordner abgelegt. Mein Ziel ist es, separate Konfigurationen für bestimmte Clients zu haben und nicht zu verwendenid = %any

Pubkey-Plugin ist geladen.

Was könnte dieses Problem verursachen?

Funktioniert es mit einer selbstsignierten Zertifizierungsstelle oder ist eine echte vertrauenswürdige Zertifizierungsstelle erforderlich?

Antwort1

Der Wert des CNRDN kann in strongSwan nicht einzeln abgeglichen werden (es sei denn, Sie konfigurieren ihn tatsächlich als teilweisen DN und aktivieren den entspannten RDN-Abgleich in strongswan.conf).

Die konfigurierte Identität muss entweder der vollständige Betreff-DN oder ein im Zertifikat enthaltener SubjectAltName (SAN) sein.

verwandte Informationen