Sinu VPN-klient ütleb, et sertifikaati ei saanud kontrollida, ja dialoog lõpeb sellega. Fail on olemas, server töötab ja sama profiil toimis eelmisel kuul teises sülearvutis. Selle üherealise hoiatuse all lasi klient partneri sertifikaadi läbi nelja värava: sinu seadistatud sertifikaadiasutus vastutab allkirjastustee eest, see tee jõuab asutuseni, partneri nimi on see, mida küsisid, ja sertifikaat on nüüd selleks otstarbeks kasutatav. Leia värav, mis sulgus, ja parandus on tavaliselt üks fail; jäta see samm vahele ja impordid kimbud uuesti terve pärastlõuna.

Loe dialoogi enne profiili muutmist

Sertifikaadivigade sõnastuse annab allolev teek, mitte paigaldatud VPN-toode, seega täpne string on sinu esimene tõend. «Kohaliku väljaandja sertifikaati ei saa hankida» osutab teele või usaldusankrule. «Sertifikaat on aegunud või pole veel kehtiv» osutab ajale. «Toetamata sertifikaadi otstarve» osutab laiendatud võtmekasutusele. Nime lahknevus ütleb sulle, millist nime see tahtis. Ühtki neljast ei paranda kliendi uuesti paigaldamine.

Tõsta logimistaset enne, kui midagi muudad. OpenVPN teatab kontrolli ebaõnnestumisest käepigistuse ümbruses, kui käivitad selle valikuga --verb 4, ja strongSwan kirjutab oma identiteedi- ja ahelaotsused charoni logisse. Seejärel kinnita, millist sertifikaati uurid, sest inimesed testivad tavaliselt kettal olevat faili, samal ajal kui profiil põimib vanema koopia. Kui profiil põimib PEM-plokke, testitakse põimitud sertifikaati.

Sertifikaadiasutus allkirjastab identiteete, mitte õigusi

Asutus hoiab nime ja allkirjastusvõtit. Ta väljastab sertifikaate, mis seovad avaliku võtme selle nimega tema enda poliitika järgi, koos kehtivusakna ja kasutuspiirangutega. Sinu kliendil on väljaandja tuvastamiseks vaja ainult asutuse sertifikaati; allkirjastusvõtit pole tal kunagi vaja, ja selle võtme klientidele saatmine annaks neile võime luua ükskõik millise identiteedi, mida juurutus usaldab.

Asutuse usaldamine muudab kandidaadiks iga tema allkirjastatud sertifikaadi, mitte õige partneri. Sama sisemise CA veebiserveri sertifikaat on samuti kandidaat. Seepärast on nime- ja otstarbeväravad olemas ja seepärast on kompromiteeritud CA-võti tähtsam kui ükski üksik server: see jõuab igasse identiteedini, mille asutus kunagi väljastas. Jaga kliendisertifikaate seadme kaupa, et kaotatud sülearvuti oleks üks tühistamine, mitte kogu juurutuse võtmeuuendus.

Ehita rada uuesti, mida klient proovib ehitada

Rada kulgeb partneri sertifikaadist läbi nulli või enama vahesertifikaadi sinu usaldushoidla juureni. Puuduv vahesertifikaat on kõige tavalisem ahelatõrge ja kliendi poolelt näeb see välja täpselt nagu mitteusaldusväärne juur. Loe kõigepealt leht ja lase seejärel OpenSSLil rada ehitada materjalist, mida kavatsed saata.

openssl x509 -in server.crt -noout -subject -issuer -dates
openssl verify -CAfile root.crt -untrusted intermediate.crt server.crt
openssl verify -show_chain -CAfile root.crt -untrusted intermediate.crt server.crt

Väljumisstaatus null tähendab, et rada ehitati nendest failidest; tõrge nimetab sertifikaadi, milleni ei jõutud. Kui openssl verify õnnestub, aga klient keeldub endiselt, on erinevus selles, mida server tegelikult saadab, või selles, millise usaldusfaili profiil laadib. OpenVPN-is võivad vahesertifikaadid sõita serveri sertifikaadifailiga kaasas või tulla eraldi valikuga --extra-certs, ja kimp, milles on kaks sama subjekti nime alla kirjutatud juurt, saadab ühe sinu klientidest vale haru peale.

Nimi ja otstarve on eraldi väravad

Ahela ehitamine ei küsi kunagi, kas nimi on sinu. OpenVPN kontrollib seda ainult siis, kui profiil seab valiku --verify-x509-name, ja vana harjumus sobitada ainult üldnime puruneb sertifikaatidel, mille identiteedid elavad väljas subjectAltName. IKEv2 juurutused sobitavad seadistatud identiteedi SAN-kirjetega või eristatava nimega, sõltuvalt kliendist, ja metamärk- või %any-väärtus lülitab vaikselt välja võrdluse, mis sul arvati olevat.

Järgmisena tulevad aeg ja otstarve. Sülearvuti, mille kell on paar tundi ees, lükkab tagasi sertifikaadi, mis pole veel kehtiv, ja aegunud vahesertifikaat nurjab raja, samal ajal kui leht on kehtiv. Otstarbetõrked tulevad sertifikaadist, millel pole laiendatud võtmekasutuses serverAuth, või mille keyUsage ei luba käepigistuse allkirja, mida OpenSSL teatab toetamata sertifikaadi otstarbena. Väljasta õigest mallist uuesti; miski selles teates ei ole põhjus kontrolli välja lülitada.

Tühistamine töötab ainult siis, kui keegi selle seadistas

CRL-i ega OCSP-vastust ei uurita automaatselt. OpenVPN-i serveris kontrollitakse kliendisertifikaate nimekirja vastu ainult siis, kui --crl-verify osutab nimekirjale. Serveri sertifikaadi kliendipoolne kontroll sõltub rakendusest ja puudub sageli. strongSwan vajab oma tühistamispluginat ja poliitikat, enne kui ta partneri jaoks CRL-i vaatab.

See selgitab piletit, mille lõpuks saad: tühistatud kliendisertifikaat ühendub endiselt ja kõik järeldavad, et tühistamine on katki. Miski ei kontrollinud. Avalda ja värskenda CRL-i või hoia kliendisertifikaadid piisavalt lühiealised, et aegunud tühistamine loeb vaid hetkeks, ja harjuta tühistamisrada laborisertifikaadiga enne, kui seda intsidendi ajal vaja läheb.

Parandusjärjekord, mis hoiab kontrolli sees

Sorteeri sümptomi järgi enne failide puutumist, sest iga tabelirida saadab sind erineva objekti juurde.

Client saysMost likely gateFirst check
unable to get local issuer certificatetrust anchor or missing intermediateyour own openssl verify against the files the profile loads
expired or not yet validvalidity windowleaf and intermediate dates against the device clock
unsupported certificate purposeextended key usageserverAuth present, keyUsage allows the handshake
name mismatchpeer identitysubjectAltName entries versus the profile name

Käi nimekiri ühes läbimises läbi: kinnita fail, mille profiil laadib, ehita rada ise, kontrolli, et server saadab vahesertifikaadi, võrdle kella, loe SAN-i, loe EKU-d, seejärel ühendu uuesti ja vaata, kuidas sama logirida kaob. Kui seadmele ei saa üldse CA-d anda, on kinnitamine aus alternatiiv, sest OpenVPN 2.6 aktsepteerib valikut --peer-fingerprint ja kitsendab usalduse ühele võtmele, selle asemel et kontroll eemaldada. RFC 5280 on viide selle kohta, mida igaüks neist väljadest tähendab.

Seotud artiklid