공개 키 인증 문제가 있는 Strongswan roadwarrior 시나리오

공개 키 인증 문제가 있는 Strongswan roadwarrior 시나리오

Ubuntu 20.04 Strongswan 5.9.1(소스에서 구축)

swanctl.conf

안드로이드 Strongswan 앱

자체 서명된 CA와 인증서를 사용하고 있습니다.

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
        }
    }
}

이 설정은 Android 앱에서 "클라이언트 ID"가 비어 있는 경우에만 작동합니다. 클라이언트 ID를 추가하자마자 다음과 같은 메시지가 표시됩니다.

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

androidLkP는 이 특정 인증서의 CN입니다.

pki 명령을 사용하여 인증서에서 공개 키를 추출하여 /etc/swanctl/pubkey폴더에 넣었습니다. 내 목표는 특정 클라이언트에 대해 별도의 구성을 갖고id = %any

pubkey 플러그인이 로드되었습니다.

이 문제의 원인은 무엇입니까?

자체 서명된 CA에서 작동합니까, 아니면 실제로 신뢰할 수 있는 CA가 필요합니까?

답변1

RDN 값은 CNStrongSwan에서 개별적으로 일치할 수 없습니다(실제로 RDN을 부분 DN으로 구성하고 Strongswan.conf에서 완화된 RDN 일치를 활성화하지 않는 한).

구성된 ID는 전체 주체 DN이거나 인증서에 포함된 subjectAltName(SAN)이어야 합니다.

관련 정보