Încerc să implementez o nouă configurație VPN în întreprinderea mea.
Am stabilit cu succes o conexiune între computerul meu și serverul meu vpn ipsec în modul certificat.
Am încărcat fișierul p12 în yubikey-ul meu, care conține cheia mea privată, cheia pub a serverului și CA.
$ pkcs11-tool --test --login
Folosind slotul 0 cu un jeton prezent (0x0)
Conectare la „uid=r.beal,dc=ldap-...”.
Vă rugăm să introduceți codul PIN utilizator:
C_SeedRandom() și C_GenerateRandom():
seeding (C_SeedRandom) nu este acceptat
pare a fi OK
Digerări:
toate cele 4 funcții de digerare par să funcționeze
MD5: OK
SHA-1: OK
RIPEMD160: OK
Semnături (în prezent numai pentru RSA)
tasta de testare 0 (tasta PIV AUTH)
toate cele 4 funcții de semnătură par să funcționeze
testarea mecanismelor de semnătură:
RSA-X-509: OK
RSA-PKCS: OK
SHA1-RSA-PKCS: OK
MD5-RSA-PKCS: OK
RIPEMD160-RSA-PKCS: OK
SHA256-RSA-PKCS: OK
Verificați (în prezent numai pentru RSA)
tasta de testare 0 (tasta PIV AUTH)
RSA-X-509: OK
RSA-PKCS: OK
SHA1-RSA-PKCS: OK
MD5-RSA-PKCS: OK
RIPEMD160-RSA-PKCS: OK
Decriptare (în prezent numai pentru RSA)
tasta de testare 0 (tasta PIV AUTH)
RSA-X-509: OK
RSA-PKCS: OK
Fără erori
Am adăugat această secțiune în fișierul swanctl.conf:
secrete {
tokenyubikey {
pin = 123456
slot = 0
handle = 1 # Din câte am înțeles, aici este crt-ul meu
module = yubi-module
}
}
Și această secțiune din fișierul /etc/strongswan.d/charon/pkcs11.conf :
yubi-module {
#cale = /usr/lib/libykcs11.so
cale = /usr/lib/pkcs11/opensc-pkcs11.so
}
Când folosesc modulul yubikey pkcs11:
00[CFG] Modulul PKCS11 „<nume>” nu are calea bibliotecii
00[CFG] a încărcat biblioteca PKCS#11 v2.40 „yubi-module” (/usr/lib/libykcs11.so)
00[CFG] Yubico (www.yubico.com): Biblioteca PIV PKCS#11 (SP-800-73) v2.21
00[CFG] a găsit jeton în slotul „yubi-module”:0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] YubiKey PIV #16616360 (Yubico (www.yubico.com): YubiKey YK5)
00[CFG] a încărcat certificatul neîncrezat „Certificat X.509 pentru autentificare PIV”
00[CFG] a încărcat certificatul neîncrezător „Certificat X.509 pentru atestarea PIV”
Și când modulul de utilizare este opensc:
00[CFG] Modulul PKCS11 „<nume>” nu are calea bibliotecii
00[CFG] a încărcat biblioteca PKCS#11 v2.20 „yubi-module” (/usr/lib/pkcs11/opensc-pkcs11.so)
00[CFG] OpenSC Project: OpenSC smartcard framework v0.22
00[CFG] a găsit jeton în slotul „yubi-module”:0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] uid=r.beal,dc=ldap-.. (piv_II: emulare PKCS#15)
00[CFG] a încărcat certificat neîncrezător „Certificat pentru autentificare PIV”
Ce modul ar trebui să folosesc?
Când rulez demonul ipsec
# ipsec restart --nofork
Se pornește strongSwan 5.9.3 IPsec [starter]...
00[DMN] Pornește demonul IKE charon (strongSwan 5.9.3, Linux 5.14.15-arch1-1, x86_64)
00[CFG] Modulul PKCS11 „<nume>” nu are calea bibliotecii
00[CFG] a încărcat biblioteca PKCS#11 v2.20 „yubi-module” (/usr/lib/pkcs11/opensc-pkcs11.so)
00[CFG] OpenSC Project: OpenSC smartcard framework v0.22
00[CFG] a găsit jeton în slotul „yubi-module”:0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] uid=r.beal,dc=ldap-.. (piv_II: emulare PKCS#15)
00[CFG] a încărcat certificat neîncrezător „Certificat pentru autentificare PIV”
00[CFG] plugin attr-sql: URI-ul bazei de date nu este setat
00[NET] folosind interfața de prognoză wlan0
00[CFG] se alătură grupurilor de multicast de prognoză: 224.0.0.1,224.0.0.22,224.0.0.251,224.0.0.252,239.255.255.250
00[CFG] se încarcă certificate ca de la „/etc/ipsec.d/cacerts”
00[CFG] a încărcat certificatul ca „C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]” de la „/etc/ipsec.d/cacerts /ca.pem'
00[CFG] se încarcă certificate aa de la „/etc/ipsec.d/acerts”
00[CFG] se încarcă certificate de semnatar ocsp de la „/etc/ipsec.d/ocspcerts”
00[CFG] se încarcă certificate de atribut din „/etc/ipsec.d/acerts”
00[CFG] se încarcă crls din „/etc/ipsec.d/crls”
00[CFG] se încarcă secrete din „/etc/ipsec.secrets”
00[CFG] plugin sql: URI-ul bazei de date nu este setat
00[CFG] deschiderea fișierului triplet /etc/ipsec.d/triplets.dat a eșuat: Nu există un astfel de fișier sau director
00[CFG] a încărcat 0 configurații de server RADIUS
00[CFG] HA config lipsește adresa locală/la distanță
00[CFG] nu a fost definit niciun script pentru scriptul ext-auth, dezactivat
00[LIB] plugin-uri încărcate: charon ldap pkcs11 aesni aes des rc2 sha2 sha3 sha1 md5 mgf1 aleatoriu nonce x509 constrângeri de revocare pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey ssh3 sha1 md5 mgf1 aleatoriu nonce x509 constrângeri de revocare pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshlkey sshmp pepl agent de curvem dnskey dnskey sqlite attr kernel-netlink rezolvă socket-default bypass-lan connmark prognoză farp accident vascular cerebral vici updown eap-identity eap-sim eap-aka eap-aka-3gpp2 eap-simaka-pseudonim eap-simaka-reauth eap-md5 eap-gtc mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap xauth-generic xauth-eap xauth-pam xauth-noauth dhcp radattr contoare de unitate
00[LIB] a renunțat la capabilități, rulând ca uid 0, gid 0
00[JOB] generează 16 fire de lucru
06[IKE] a instalat politica de ocolire pentru 172.17.0.0/16
06[IKE] a instalat politica de ocolire pentru 192.168.1.0/24
06[IKE] a instalat politica de ocolire pentru ::1/128
06[IKE] a instalat politica de ocolire pentru fe80::/64
02[CFG] a găsit jeton în slotul „yubi-module”:0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
02[CFG] uid=r.beal,dc=ldap-.. (piv_II: emulare PKCS#15)
02[CFG] a încărcat certificat neîncrezător „Certificat pentru autentificare PIV”
charon (10359) a început după 120 ms
11[CFG] lovitura primită: adăugați „test” de conexiune
11[CFG] certificat încărcat „C=FR, ST=Idf, L=City, O=company, OU=company, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, E=r [email protected]" din „/etc/swanctl/x509/r.beal.pem”
11[CFG] id-ul „UID=r.beal, DC=ldap, DC=company, DC=fr” nu este confirmat prin certificat, fiind implicit „C=FR, ST=Idf, L=City, O=company, OU= companie, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, [email protected]'
11[CFG] a adăugat configurația „test”
Cardul inteligent este prezent!
Acum încerc să mă conectez la VPN (/etc/ipsec.conf):
test conn
dreapta=1.2.3.4 <= ip-ul public al serverului meu vpn
rightid=id_la distanță_al_serverului
leftcert=/etc/swanctl/x509/r.beal.pem
leftid=email_mea
stânga=%defaultroute
#leftcert=%smartcard
auto=adăugați
Am pus CA în /etc/ipsec.d/cacerts/
jurnal ipsec:
01[CFG] accident vascular cerebral primit: inițiați „testul”
09[IKE] inițiază testul IKE_SA[1] la 1.2.3.4
09[ENC] generează cererea IKE_SA_INIT 0 [ SA KE Nu N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
09[NET] trimite pachet: de la 192.168.1.199[500] la 1.2.3.4[500] (1000 de octeți)
Pachetul primit 10[NET]: de la 1.2.3.4[500] la 192.168.1.199[500] (38 octeți)
10[ENC] a analizat răspunsul IKE_SA_INIT 0 [ N(INVAL_KE) ]
10 [IKE] peer nu a acceptat grupul DH ECP_256, a solicitat MODP_2048
10[IKE] inițiază testul IKE_SA[1] la 1.2.3.4
10[ENC] generează cererea IKE_SA_INIT 0 [ SA KE Nu N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
Pachetul de trimitere 10[NET]: de la 192.168.1.199[500] la 1.2.3.4[500] (1192 octeți)
Pachetul primit 06[NET]: de la 1.2.3.4[500] la 192.168.1.199[500] (481 de octeți)
06[ENC] a analizat răspunsul IKE_SA_INIT 0 [ SA KE Nu N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(HASH_ALG) N(CHDLESS_SUP) ]
06[CFG] propunere selectată: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Gazda locală 06[IKE] este în spatele NAT, trimițând keep alives
06[IKE] gazda la distanță este în spatele NAT
06[IKE] a primit o cerere de certificare pentru „C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]”
06[IKE] trimiterea cererii de certificare pentru „C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]”
06[IKE] nu a fost găsită nicio cheie privată pentru „C=FR, ST=Idf, L=City, O=company, OU=company, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, [email protected]'
Există un început de conexiune!
Ce ar trebui să fac pentru ca ipsec să folosească cheia privată din interiorul cardului meu inteligent?
Am vazut aceasta postare: „NO_PROPOSAL_CHOSEN” când încercați să vă autentificați cu un certificat de la smartcard folosind swanctl
Am aceeasi problema? Am încercat să copiez toate certificatele din directorul x509, dar am aceeași eroare „nu a fost găsită nicio cheie privată”.
EDITARE ===
Acum, când apelez „swanctl --load-creds” ipsec găsește cheia privată și o folosește!
Dar acum am o problemă de rețea.
16 Autentificare [IKE] a „compagny.com” cu RSA_EMSA_PKCS1_SHA2_256 reușită
16[IKE] Test IKE_SA[1] stabilit între 192.168.1.199[[email protected]]...1.2.3.4[compagny.com]
16[IKE] programează reautentificarea în 10059s
16[IKE] durata maximă de viață IKE_SA 10599s
16 [CFG] a eșuat gestionarea atributului UNITY_SPLITDNS_NAME
16 [CFG] a eșuat gestionarea atributului INTERNAL_IP4_NETMASK
16[IKE] instalând serverul DNS 172.22.0.17 în /etc/resolv.conf
16[IKE] instalând un nou IP virtual 10.66.0.5
16[IKE] a primit o notificare TS_UNACCEPTABLE, nu a fost construită nicio CHILD_SA
16[IKE] nu a reușit să stabilească CHILD_SA, păstrând IKE_SA
16[IKE] a primit AUTH_LIFETIME din 20278s, reautentificarea deja programată în 10059s
Am adăugat la fișierul meu de conf:
leftsourceip=%config
Serverul meu VPN este configurat să nu direcționeze traficul de internet al clientului. Deci cred că acum este o problemă de configurare a rețelei.