strongSwan send_cert: kada se šalje IKE certifikat
send_cert određuje da li peer šalje svoj certifikat, dok send_certreq traži od druge strane da ga pošalje. Provjerite dnevnike prije nego što promijenite povjerenje primaoca.
Prolazi bilježe greške provjere autentičnosti povezane s certifikatima, a prvi instinkt je dodati primaocu još jedan CA. To pretpostavlja da je certifikat stigao i da je odbijen. Druga mogućnost je da nikada nije poslan, a o tome odlučuje politika veze pošiljaoca. Utvrdite koja se od te dvije stvari dogodila prije nego što promijenite povjerenje.
Čime send_cert zapravo upravlja
Provjera autentičnosti certifikatom zahtijeva da certifikat krajnjeg entiteta druge strane stigne na drugu stranu kroz IKE razmjenu ili kroz prethodno provizioniranje. U swanctl postavka veze send_cert upravlja time da li ova krajnja točka uključuje svoj certifikatni teret: nikada, uvijek ili ifasked. Zadano ifasked ga šalje kao odgovor na zahtjev za certifikat od strane peera. Traženje certifikata je zasebna postavka, jer tražiti od druge strane njen certifikat nije isto što i nuditi vlastiti.
Starije ipsec.conf instalacije koristile su leftsendcert i rightsendcert, a ta imena odgovaraju lokalnim i udaljenim ulogama, a ne izravno swanctl.
Pročitajte jedan pokušaj prije promjene veze
Dijagnostikujte na osnovu jednog kontroliranog pokušaja, a ne na osnovu općeg dojma da su certifikati uključeni. I politika i aktivna asocijacija mogu se pregledati.
swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan --since "10 min ago" | grep -iE "cert|CERT"
Spisak veza prikazuje konfiguriranu vrijednost send_cert, a spisak SA prikazuje koje su veze zaista uspostavljene. Dnevnik dodaje detalje pregovaranja: da li je primljen zahtjev za certifikat i da li je certifikatni teret otišao. Opća greška provjere autentičnosti ne ukazuje na problem s dostavom, zato potražite konkretnu razmjenu prije nego što bilo šta zaključite. Zabilježite vremensku oznaku pokušaja kako bi prozor dnevnika pokrio cijelo rukovanje.
Povjerenje primaoca je zasebna odluka
Dostava i povjerenje su različita svojstva, a rješavanje jednog ne rješava drugo. Primalac mora imati predviđeno sidro povjerenja, primiti upotrebljiv lanac i odgovarati očekivanom identitetu peera. Certifikat krajnjeg entiteta koji stigne bez svog posredničkog certifikata i dalje pada na strogoj provjeri lanca. Nasuprot tome, instalacija CA nimalo ne prisiljava peera da uopće pošalje svoj certifikat.
openssl x509 -in peer-chain.pem -noout -subject -issuer -dates
Pregled pokazuje koji je izdavalac potpisao certifikat i kada istječe, a tome mora odgovarati sidro primaoca. Vjerujte izdavaocu CA koji posjeduje instalacija, a ne svakom posredničkom certifikatu u lancu, jer podizanje svakog posredničkog certifikata u korijen proširuje povjerenje daleko izvan jednog peera. Ostavite provjeru identiteta aktivnom, jer veza koja uspijeva samo s isključenom validacijom nije popravka. Gdje je lanac nepotpun, popravite provizioniranje, a ne politiku pošiljaoca.
Mijenjajte pošiljaoca samo s dokazima
Kada dnevnik pokaže da certifikat nikada nije poslan, a primalac ga je zaista zatražio, send_cert na always je opravdana promjena za tu vezu. Primijenite je u swanctl konfiguraciji, ponovo učitajte veze i uspostavite novu sesiju umjesto da ponovo koristite postojeći SA. Potvrdite da se certifikatni teret sada pojavljuje i da ga primalac prihvata prema predviđenom sidru. Ako se ništa ne promijeni, greška je ipak bila na strani povjerenja i postavka pošiljaoca nije bila uzrok.
Zapišite uočenu razmjenu, sidro i rezultirajuću verifikaciju u zapis o promjenama. Popravka certifikata koja se ne može opisati tim pojmovima je slučajnost.