Tatlong magkaibang tanong ang sinasagot ng tatlong magkaibang bahagi ng isang profile ng OpenVPN, at ang pagsasama-sama ng mga ito ang dahilan kung bakit napapatay ng mga tao ang isang pagsusuring gumagana. Pinirmahan ba ng awtoridad na pinagkakatiwalaan ko ang sertipiko ng kapwa? Ipinapahayag ba ng sertipikong iyon ang papel na TLS server? Ito ba ang partikular na server na nais kong maabot? remote-cert-tls server ang sinasagot lamang ang gitna, at ginagawa ito sa pamamagitan ng pagbasa ng mga extension sa loob ng sertipiko.

Tatlong pagsusuring madaling pagsamahin sa isip

Ang trust anchor ay nasa direktibang ca. Ang pagsusuri ng papel ay kabilang sa remote-cert-tls. Ang pagsusuri ng pagkakakilanlan ay kabilang sa verify-x509-name, kapag ginagamit ito ng isang profile, o sa anumang pagsusuri ng pangalan na idinadagdag ng deployment.

Saklaw nila ang magkaibang mga pagkabigo:

QuestionDirectiveFailure it catches
Who signed this?caCertificate from an unrelated authority
Is this a server?remote-cert-tlsClient certificate presented by a peer
Is this my server?verify-x509-nameAnother valid server from the same CA

Maaaring taglayin ng isang profile ang tatlo at mahina pa rin kung ang CA ay masyadong malawak na ibinabahagi, na isang tanong sa pamamahala ng susi at hindi sa direktiba.

Ano ang binabasa ng pagsusuri ng papel

Ang direktiba ay isang macro. Lumalawak ito tungo sa isang pangangailangan sa paggamit ng susi at isang pangangailangan sa pinahabang paggamit ng susi na nagngangalan sa papel na TLS Web Server, kaya dapat talagang ipahayag ng sertipiko ng kapwa ang layuning iyon. Ang sertipikong inisyu para sa pagpapatunay ng kliyente ay hindi nakakatugon dito, kahit na ang parehong awtoridad ang pumirma sa dalawa.

Mahalaga iyon dahil karaniwan ang ibinabahaging CA sa maliliit na deployment. Isang awtoridad ang pumipirma sa bawat kliyente at sa server, at kung walang pagsusuri ng papel, alinman sa mga sertipikong iyon ay maaaring makumpleto ang panig ng server ng handshake. Hindi ginagawang imposible ng pagsusuri ang senaryong iyon, ngunit inaalis nito ang trivial na bersyon nito.

Ang direktiba ay asimetriko ayon sa disenyo: may remote-cert-tls server ang mga kliyente, at may remote-cert-tls client ang mga server. Palitan ang mga ito at bawat koneksyon ay mabibigo na may error sa papel na mukhang sirang sertipiko.

Kung minsan ay ginagamit ng mas lumang mga profile ang ns-cert-type para sa parehong layunin. Itinuturing ng kasalukuyang mga pahina ng manwal na napalitan na ang opsyong iyon, kaya ang isang profile na umaasa pa rin dito ay dapat ilipat sa halip na i-debug.

Bakit parang pag-aayos ang pag-disable nito

Kapag nabigo ang pagsusuri ng papel, humihinto ang koneksyon na may error sa pagpapatunay at ang halatang hakbang ay tanggalin ang linya. Pagkatapos ay bumabangon ang koneksyon, na parang pag-unlad at talagang ang modo ng pagkabigo na pinipigilan ng direktiba. Tumatanggap ka na ngayon ng kapwa na ang sertipiko ay hindi kailanman inilaan para sa papel na iyon.

Basahin ang error sa halip. Pinapangalanan nito ang pagsusuring nabigo, at ang sertipiko sa kabilang panig ay maaaring siyasatin upang makita kung aling mga extension ang talagang taglay nito. Dalawang minutong pagbabasa ang nagpapasya kung ang depekto ay sa pag-isyu o sa pagsasaayos. Ang paghula ay gumugugol ng isang hapon at kadalasang nagtatapos sa isang pinahinang profile. Ang na-renew na sertipiko ng server na nawalan ng pinahabang paggamit ng susi ay isang tunay na depekto sa pag-renew, hindi isang dahilan upang luwagan ang kliyente.

Ang pagsusuri ng pangalan ay hiwalay na direktiba

Ang pagsunod sa pagsusuri ng papel ay nagsasabi na ang kapwa ay ilang server na pinirmahan ng iyong awtoridad. Wala itong sinasabi tungkol sa kung alin, na mahalaga kapag ang parehong CA ay nag-isyu ng mga sertipiko para sa ilang gateway at ang isa sa kanila ay nakompromiso o muling ginamit.

verify-x509-name inihahambing ang subject ng sertipiko sa isang halagang iyong kinokonpigura, na may mga modo ng pagtutugma para sa eksaktong subject, isang prefix o isang field. Gamitin ang field na talagang tumutukoy sa gateway, at asahan na i-update ito nang sinasadya kapag nagbago ang pangalan.

Wala sa alinmang direktiba ang pumapalit sa maayos na paghawak ng susi. Kung ang file ng susi ng kliyente ay kinokopya kasama ng profile, ang pagkakakilanlan ng kapwa ay kasing lakas lamang ng listahan ng pamamahagi.

Siyasatin ang sertipiko bago mo i-edit ang profile

Basahin ang sertipiko ng kapwa at ang log ng kliyente, sa ganoong pagkakasunod-sunod. Sinasabi ng sertipiko kung anong mga papel ang ipinapahayag nito; sinasabi ng log kung aling pagsusuri ang tumanggi dito.

Ang mga utos na ito ay nagpi-print ng mga extension ng paggamit at ng mga linyang pang-verify mula sa isang verbose na koneksyon:

openssl x509 -in server.crt -noout -text | grep -A1 -E "Key Usage|Extended Key Usage"
sudo openvpn --config client.ovpn --verb 4 2>&1 | grep -i verify

Kung ipinapakita ng mga extension ang papel ng server at nag-uulat pa rin ang log ng pagkabigo sa papel, malamang na ang profile ay nakaturo sa maling file ng sertipiko sa halip na sa isang sirang sertipiko. Kung ipinapakita lamang ng mga extension ang pagpapatunay ng kliyente, itigil ang pagtingin sa kliyente at ayusin ang pag-isyu. Sa alinmang paraan, ibalik ang pagsusuri bago mo sabihing malusog ang koneksyon, dahil ang matagumpay na handshake pagkatapos alisin ang pagpapatunay ay nagpapatunay ng mas kaunti kaysa sa error na pinalitan nito.

Kaugnay na mga artikulo