Conectando o Win 10 roadwarrior ao AWS StrongSwan VPN - não é possível encontrar um certificado utilizável com o protocolo de autenticação extensível

Conectando o Win 10 roadwarrior ao AWS StrongSwan VPN - não é possível encontrar um certificado utilizável com o protocolo de autenticação extensível

Consegui conectar duas sub-redes AWS em zonas diferentes por meio de VPN strongSwan usando ike2 com criptografia aes256. Assim, é criada a chave Master CA, o certificado CA autoassinado, bem como as chaves privada e pública para ambos os gateways. Depois disso, criei certificados para o roadwarrior e exportei-os para o cliente win10 no formato p12.

A conexão entre essas duas LANs está funcionando, mas não consigo conectar o cliente roadwarrior.

Importei os certificados para o win10 e eles normalmente ficam visíveis no gerenciador de certificação.

Então criei a configuração VPN usando o cliente VPN do Windows10 e, quando o executei, recebi a mensagem do Windows:

Não foi possível encontrar um certificado que possa ser usado com este protocolo de autenticação extensível.

O check-in certmagrestá tudo no lugar.

O método de autenticação utilizado é EAP-tls e está funcionando sem problemas no modelo LAN para LAN.

A configuração da propriedade de segurança VPN Win10 é:

Type of the VPN: IKE2 , Data Encryption: Require encryption (disconnect if server declines) Authentication: Use Extensible Authentication Protocol -> Microsoft smart card or other certificates (encryption enabled) -> Properties ---> Use certificate on this computer ---> Verify the server's identity by validating the certificate ---> Trusted Root Certificate authority ----> Both certificates CA and the client p12 certificate are visible and checked

Aqui estáo ipsec.confarquivo

config setup
    charondebug="cfg 2, dmn 2, ike 2,net 2"
    uniqueids=yes
    strictcrlpolicy=no

conn %default
    fragmentation=force
    forceencaps=yes
    rekeymargin=3m
    mobike=no
    keyingtries=%forever
    ike=aes256-sha256-modp2048,aes256-sha2_256-modp1024!
    esp=aes256-sh256,aes256-sha2_256!
    ikelifetime=1h
    lifetime=8h
    dpddelay=30
    dpdtimeout=120
    dpdaction=restart
    authby=pubkey
    leftcert=vpn-west-public-certificate.pem
    leftsendcert=always
    keyexchange=ikev2
    type=tunnel
    leftca="C=DE, O=Orgname, CN=Orgname Root CA"
    leftid=13.57.xx.yy
    left=10.0.0.208
    leftsubnet=10.0.0.0/16

conn roadw
    right=%any
    rightid=%any
    rightauth=eap-tls
    rightsourceip=10.0.0.64/28
    rightsendcert=never
    rightdns=8.8.8.8
    eap_identity=%identity
    auto=add

Aqui está oIPsec.segredosarquivo

13.57.xx.yy : RSA "/etc/ipsec.d/private/vpn-west-private-key.pem"
username : EAP "passphrase"

A raiz da CA está instalada no cliente, assim como o nome de usuário.p12. Suspeito que haja alguns ajustes no Linux e no Windows de ambos os lados.

Além disso, descobri que o Windows exige que o nome do host ou endereço IP seja listado como parte dos argumentos ipsec pki - emissor em um formato --san dns:13.57.xx.yy durante a criação do certificado do servidor público, bem como do cliente (Windows) o certificado do usuário precisa ter como CN=$USER" --san $USER. Adicionei os dois parâmetros, mas ainda assim não há alteração no comportamento.

Preciso adicionar extKeyUsage, o OID tem que ser 1.3.6.1.5.5.7.3.2, pois adicioná-lo não mudou nada.

Qualquer ideia por onde começar, parece que o windows10 nem está iniciando a sessão, portanto me parece que algo está errado com a configuração do cliente VPN no Win10, também alguns parâmetros devem ser ajustados no lado do StrongSwan.

Aqui estão os comandos de configuração de certificados para CA, servidor e cliente

Chave mestra raiz

ipsec pki --gen --type rsa --size 4096 --outform > root-key-for-ca=signing.pem

Certificado de CA raiz

ipsec pki --self --ca --lifetime 3650 --in root-key-for-ca=signing.pem --type rsa --dn "C=DE, O=Orgname Root CA" --outform pem > signed-root-ca-certificate.pem

Chave privada do cliente

ipsec pki --gen --type rsa --size 2048 --outform pem > win10-client1-key.pem

Certificado público do cliente

ipsec pki --pub --in win10-client1-key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert signed-root-ca-certificate.pem --cakey root-key-for-ca-signing.pem --dn "C=DE, O=Orgname, CN=win10-client1" --san "win10-client1" --flag serverAuth --flag clientAuth --flag ikeIntermediate --outform pem > vpn-win10-client1-public-certificate.pem

Formato portátil P12 para transferência de chaves privadas pessoais do cliente

openssl pkcs12 -export -inkey win10-client1-key.pem -in vpn-win10-client1-public-certificate.pem -name "win10-client1 VPN certificate" -certfile signed-root-ca-certificate.pem -cname "Orgname Root CA" -out win10-client1.p12

Chave privada do servidor

ipsec pki --gen --type rsa --size 2048 --outform pem > vpn-west=private-key.pem

Certificado de servidor público

ipsec pki --pub --in vpn-west-private-key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert signed-root-ca-certificate.pem --cakey root-key-for-ca-signing.pem --dn "C=DE, O=Orgname, CN=13.57.xx.yy" --san 13.57.xx.yy --san dns:13.57.xx.yy --flag serverAuth --flag ikeIntermediate --outform pem > vpn-west-public-certificate.pem

informação relacionada