Kí o tó yí i padà: kọ́kọ́rọ́ SSH àti ẹ̀rí OpenVPN
Ìlà kan nínú authorized_keys, ẹ̀rí OpenSSH àti ẹ̀rí X.509 jẹ́ ohun tó yàtọ̀. Ṣàyẹ̀wò èwo ni o ní kí o tó yí ohunkóhun padà.
Gbígbé wọlé kùnà pẹ̀lú àṣìṣe ẹ̀rí, nítorí náà ìgbésẹ̀ tó hàn gbangba dà bí ìyípadà. Ìrònú yẹn ń darí àwọn ènìyàn sínú ọ̀nà tí ìfikún fáìlì ti yí padà ṣùgbọ́n tí ìkọ̀sílẹ̀ náà dúró gẹ́gẹ́ bí i ti àkọ́kọ́. Ìlà ssh-ed25519 nínú authorized_keys àti ẹ̀rí aláàbò OpenVPN jẹ́ ohun ẹ̀rí-ìdánimọ̀ ọ̀tọ̀ọ̀tọ̀, pẹ̀lú àwọn olùgbéjáde, ọ̀nà ìkọ̀wé àti ọ̀nà ìfagilé tó yàtọ̀. Bí o bá ṣe àwọn àyẹ̀wò wọ̀nyí lẹ́sẹẹsẹ, ìwọ yóò mọ̀ ní ìṣẹ́jú kan bóyá ìyípadà lè ràn ọ́ lọ́wọ́ rárá.
Èwo nínú àwọn ohun náà ni o ní ní ti gidi?
Ohun márùn-ún ni àwọn ènìyàn ń pè ní kọ́kọ́rọ́, èyí kan ṣoṣo sì ni ohun tí profáílì TLS fẹ́. Kọ́kọ́rọ́ gbangba SSH jẹ́ ìlà ọ̀rọ̀ kan pẹ̀lú àfikún irú àti ẹrù base64. Ẹ̀rí OpenSSH jẹ́ kọ́kọ́rọ́ yẹn pẹ̀lú ìbuwọ́lẹ̀, principals àti àwọn àṣàyàn, tí ssh-keygen ń ṣe nígbà tó ń ṣiṣẹ́ gẹ́gẹ́ bí CA kékeré tirẹ̀. Ẹ̀rí X.509 jẹ́ ìgbékalẹ̀ ọ̀tọ̀ọ̀tọ̀ pátápátá, tó ń gbé kókó-ọ̀rọ̀, àkókò ìwúlò, àwọn ìtẹ̀síwájú àti ìbuwọ́lẹ̀ láti ọ̀dọ̀ àjọ ìfúnni ẹ̀rí. Kọ́kọ́rọ́ àdáni ni ìdajì ìkọ̀kọ̀, bẹ́ẹ̀ sì ni àkójọpọ̀ tí a fúnni sábà jẹ́ ẹ̀rí pẹ̀lú ẹ̀wọ̀n rẹ̀ pẹ̀lú kọ́kọ́rọ́ àdáni nínú fáìlì kan.
Ìdánwò àkọ́kọ́ gba àṣẹ kan. Darí openssl sí fáìlì náà kí o sì ní kí ó ṣàyẹ̀wò ìgbékalẹ̀ ẹ̀rí náà:
openssl x509 -in client.crt -noout -subject -issuer
Bí ìyẹn bá kùnà pẹ̀lú àṣìṣe kò lè gbé wọlé tàbí PEM, fáìlì náà kì í ṣe ẹ̀rí X.509 bí o ti pè é bí o ti wù kó rí. Yíyí orúkọ padà kì í tún ASN.1 tó wà nínú kọ, bẹ́ẹ̀ ni yíyí ìlà kọ́kọ́rọ́ gbangba mọ́ nínú ọ̀rọ̀ orí PEM kò ṣe bẹ́ẹ̀.
Ṣé profáílì náà ń béèrè fún ẹ̀rí rárá?
Àwọn ẹ̀rí aláàbò jẹ́ ọ̀nà ìjẹ́rìí kan nínú ọ̀pọ̀lọpọ̀, àti pé ọ̀pọ̀ profáílì TLS tó ń ṣiṣẹ́ kì í béèrè fún ọ̀kan rí. Sápá kan lè jẹ́rìí àwọn olùlò nípasẹ̀ ètò àfikún, orúkọ olùlò àti ọ̀rọ̀ ìkọ̀kọ̀, tàbí ẹ̀yìn token, nígbà tó ṣì ń béèrè pé aláàbò yẹn ṣàyẹ̀wò ìdánimọ̀ sápá. Bí profáílì kò bá ní ìtọ́nisọ́nà ẹ̀rí aláàbò, a kò ní béèrè fún ẹ̀rí kankan rí, kò sì sí ìyípadà tó máa mú ẹnubodè béèrè fún ọ̀kan.
Àwọn ìṣètò kọ́kọ́rọ́ ìdúró ṣinṣin àtijọ́ jẹ́ ẹ̀ka kẹta. Wọ́n ṣáájú ìfọwọ́bá TLS wọ́n sì ń retí fáìlì àṣírí tí a ti pín ṣáájú, ìdí nìyẹn tí fífi kọ́kọ́rọ́ gbangba pọ̀ mọ́ pápá yẹn kò lè ṣiṣẹ́ pẹ̀lú. Ka ohun tí profáílì náà ń béèrè ní ti gidi kí o tó pinnu pé ẹ̀rí náà kò tọ́.
Ohun tí àtúnṣe-ìkọ̀wé lè ṣe àti ohun tí kò lè ṣe
Àwọn kọ́kọ́rọ́ àdáni ní àwọn àpótí mìíràn tó bófin mu ní ti gidi. Kọ́kọ́rọ́ RSA tàbí EC kan náà lè jẹ́ kíkọ gẹ́gẹ́ bí PEM ìbílẹ̀, gẹ́gẹ́ bí PKCS#8, tàbí nínú àkójọpọ̀ PKCS#12, àwọn irinṣẹ́ sì ń yí padà láàrín wọn pẹ̀lú ìdùnnú. Àwọn kọ́kọ́rọ́ gbangba ní ìtàn kan náà: ssh-keygen lè gbé ìrísí RFC 4716 ti kọ́kọ́rọ́ SSH jáde, OpenSSH sì tún lóye ìrísí ẹ̀rí tirẹ̀. Gbogbo ìyẹn jẹ́ àfihàn, àfihàn kì í sì í ṣe ìgbẹ́kẹ̀lé.
Ohun tí ìyípadà kò lè ṣe ni dídá ìbuwọ́lẹ̀ láti ọ̀dọ̀ àjọ ìfúnni ẹ̀rí tí kò tíì rí kọ́kọ́rọ́ rẹ rí. Ẹ̀rí jẹ́ ọ̀rọ̀ olùgbéjáde pé kọ́kọ́rọ́ gbangba kan jẹ́ ti kókó-ọ̀rọ̀ kan fún ète kan. Àtúnṣe-ìkọ̀wé ń pa àwọn báìtì kọ́kọ́rọ́ mọ́, ó sì ń fi ọ̀rọ̀ náà sílẹ̀ ní àìsí, nítorí náà ẹnubodè kò ní ohun tó máa fi wé pẹ̀lú ìpamọ́ ìgbẹ́kẹ̀lé rẹ̀.
Èyí ni ìgbésẹ̀ tí ọ̀pọ̀lọpọ̀ ìgbìyànjú ti ń kùnà ní ìdákẹ́jẹ́: fáìlì náà ń parí pẹ̀lú .crt báyìí, aláàbò ń kà á láìṣe àròyé, ìfọwọ́bá sì ṣì ń já sókè nítorí ẹ̀gbẹ́ kejì kò lè kọ́ ẹ̀wọ̀n títí dé olùgbéjáde tí a gbẹ́kẹ̀lé.
Níbo ni àjọ ìfúnni ẹ̀rí ti wọ ibi àwòrán
Ìforúkọsílẹ̀ gidi bẹ̀rẹ̀ pẹ̀lú bọ́ọ̀lù kọ́kọ́rọ́ tí ìwọ ń darí àti ìbéèrè ìbuwọ́lẹ̀ ẹ̀rí tó gbé kókó-ọ̀rọ̀ tí olùṣiṣẹ́ ń retí. Olùṣiṣẹ́ yẹ̀wò ẹ̀tọ́, buwọ́lẹ̀ ìbéèrè náà pẹ̀lú kọ́kọ́rọ́ CA, ó sì dá ẹ̀rí tí a fúnni padà pẹ̀lú ẹ̀wọ̀n àárín èyíkéyìí tí aláàbò gbọ́dọ̀ gbé kalẹ̀. Lẹ́yìn náà aláàbò nílò ẹ̀rí CA tó buwọ́lẹ̀ rẹ̀, nítorí ìyẹn ni ó ń jẹ́ kí ó lè jẹ́rìí pé sápá tó ń bá sọ̀rọ̀ jẹ́ ti ìgbékalẹ̀ kan náà.
Fáìlì ìkẹyìn yẹn rọrùn láti gbàgbé, kò sì ṣeé rọ́pò. Kọ́kọ́rọ́ ìbuwọ́lẹ̀ CA fúnra rẹ̀ kì í ṣe ti ìṣètò aláàbò rí, kò sì sí ìyípadà àdúgbò tó ń dá ẹ̀wọ̀n tí ó yẹ kí o gbà.
Ohun tí àtúnlò kọ́kọ́rọ́ SSH ná owó fún ọ
Ká sọ pé ìyípadà kan dá ohun tó tẹ́wọ́gbà jáde ní ti gidi. Àtúnlò bọ́ọ̀lù kọ́kọ́rọ́ kan fún ìwọlé SSH àti ìjẹ́rìí VPN ṣì ń so ìpinnu ààbò méjì tó dúró lórí ara wọn pọ̀. Yíyọ ìlà kan kúrò nínú authorized_keys dá ìwọlé SSH dúró, kò sì ṣe ohunkóhun fún ẹ̀rí tí CA VPN ti fúnni fún kọ́kọ́rọ́ gbangba kan náà. Ẹ̀gbẹ́ VPN ni a ń fagilé nípasẹ̀ ọ̀nà tirẹ̀, ìyẹn ni àkójọ ìfagilé ẹ̀rí tàbí àkọsílẹ̀ ìforúkọsílẹ̀ olùṣiṣẹ́.
Nítorí náà àkójọ àyẹ̀wò ń parí pẹ̀lú ipò ìdúró dípò ẹ̀wẹ̀. Bí openssl kò bá ṣàyẹ̀wò fáìlì náà gẹ́gẹ́ bí ẹ̀rí, dá ìyípadà dúró kí o sì ṣàlàyé ohun tí o ní: kọ́kọ́rọ́ SSH, ẹ̀rí SSH, ẹ̀rí X.509, kọ́kọ́rọ́ àdáni tàbí àkójọpọ̀. Bí profáílì kò bá béèrè fún ẹ̀rí aláàbò, dúró kí o sì béèrè irú ọ̀nà ìjẹ́rìí tí sápá ń retí. Nígbà tí ìdáhùn méjèèjì bá tọ́ka sí X.509 nìkan ni ìforúkọsílẹ̀ yóò di ìgbésẹ̀ tó kàn, ìjíròrò yẹn sì ń lọ kíákíá nígbà tí orúkọ-ọ̀rọ̀ tó tọ́ bá wà nínú gbólóhùn àkọ́kọ́.