Kí ni ó fà kí OpenVPN dáwọ́ ṣíṣe ìsopọ̀ lẹ́yìn ìgbésoke Ubuntu?
Ubuntu 22.04 àti 22.10 yí ìlànà OpenSSL, ìdúnàdúrà cipher àkọ́kọ́ àti àwọn àkọ́kọ́ pákẹ́jì padà. Ka ìpele tí ó kùnà kí o tó ṣàtúnṣe profáìlì.
Àwọn profáìlì VPN tí wọ́n ń ṣiṣẹ́ ní ọ̀sẹ̀ tó kọjá ń bàjẹ́ lẹ́yìn ìgbésoke ìtẹ̀jáde Ubuntu, ìwé àkọsílẹ̀ kì í sábà mẹ́nu kan ìgbésoke náà. Ohun tí ó ń dárúkọ ni ìpele tí ó kùnà: ìfọwọ́sowọ́pọ̀ TLS, cipher tí a dúnàdúrà fún ọ̀nà dátà, pákẹ́jì tí a fi sórí ẹ̀rọ, tàbí ẹ̀dà OpenSSL tí bínárì ń gbé wọlé nígbà ìbẹ̀rẹ̀. Ìpele kọ̀ọ̀kan ní ìrísí àṣìṣe àti àtúnṣe tirẹ̀, nítorí náà ìpínpín ni iṣẹ́ àkọ́kọ́, ìṣàtúnṣe sì ni iṣẹ́ kejì. Ka profáìlì sí aláìṣẹ̀ títí ìwé àkọsílẹ̀ yóò fi dárúkọ rẹ̀.
Ìpele wo ni ó kùnà: ìfọwọ́sowọ́pọ̀, cipher, pákẹ́jì tàbí ilé-ìkàwé
Ka ìwé àkọsílẹ̀ alábàáṣiṣẹ́ kí o tó fọwọ́ kan profáìlì. àṣìṣe àkọ́kọ́ nínú àbájáde ni ó ń dá ìpele mọ̀; gbogbo ohun tí a tẹ̀ lẹ́yìn rẹ̀ sábà jẹ́ àbájáde ìkùnà àkọ́kọ́ yẹn. Nígbà tí alábàáṣiṣẹ́ kò bẹ̀rẹ̀ rárá, ìwé àkọsílẹ̀ VPN ni fáìlì tí kò tọ́ láti ṣí.
Àwọn ẹ̀sùn nípa àwọn ẹ̀rí àti ìfọwọ́sowọ́pọ̀, tàbí ìfiránṣẹ́ nípa gígùn kókó, wá láti ọ̀nà ìṣàkóso àti ìlànà ilé-ìkàwé tí ó ń darí rẹ̀. Ṣùgbọ́n ìkìlọ̀ tí ó bẹ̀rẹ̀ pẹ̀lú DEPRECATED OPTION jẹ́ ti ìdúnàdúrà ọ̀nà dátà.
Ìlà bíi Unrecognized option jẹ́ ẹ̀ka kẹta: bínárì tuntun kò gba ìtọ́nisọ́nà kan mọ́ tí èyí àtijọ́ ń fara dà, nítorí náà a gbọ́dọ̀ tún profáìlì kọ àfi jẹ́ kí ilé-ìkàwé rọ̀. Àwọn ìkùnà pákẹ́jì yóò tún yàtọ̀ nítorí wọ́n ṣẹlẹ̀ kí kóòdù ọ̀nà kankan tó ṣiṣẹ́. Bínárì tí ó sọnù, plugin tí kò gbé wọlé, tàbí ibi-ìpamọ́ tí ó tọ́ka sí orúkọ kóòdù tí kò tọ́ — gbogbo wọn ń fún ìrísí yẹn. Àmì mẹ́rin, ibi mẹ́rin láti wò, àti kìkì àìsí ìdapọ̀ láàrín àwọn àtúnṣe.
Nígbà tí ìfọwọ́sowọ́pọ̀ kùnà, ìlànà TLS kọ ẹ̀rí náà sílẹ̀
Ubuntu 22.04 gbé ẹ̀rọ lọ sí OpenSSL 3, ìpele ààbò àkọ́kọ́ ní ẹ̀ka yẹn sì le nípa ìfọwọ́sowọ́pọ̀ ẹ̀rí àti ìwọ̀n kókó ju ti 20.04 lọ. Ẹ̀rí CA tí a fi digest àtijọ́ fọwọ́ sí, tàbí kókó tí ó kéré ju ààlà lọ́wọ́lọ́wọ́, yóò kùnà nígbà ìfọwọ́sowọ́pọ̀. Nítorí pé a kò tíì fi ẹnikẹ́ni mọ̀, àṣìṣe náà dà bí ọ̀rọ̀ ìpamọ́ tí kò tọ́ tàbí sáfà tí ó kú.
Àtúnṣe tóóró ń so okùn cipher mọ́ ìsopọ̀ yìí nìkan. Nínú olóòtú ojú-ìwé, ṣí profáìlì, lọ sí àwọn ètò ilọ̀lọ́, kí o sì fi DEFAULT:@SECLEVEL=0 sínú pápá cipher TLS. Fáìlì kókó NetworkManager gba iye kan náà lábẹ́ [vpn]:
[vpn]
tls-cipher=DEFAULT:@SECLEVEL=0Tún NetworkManager bẹ̀rẹ̀ kí o sì tún sopọ̀, nítorí daemon ń tọ́jú àwọn profáìlì tí a ti yà lẹ́sẹẹsẹ, bí bẹ́ẹ̀ kọ́ yóò máa lo ẹ̀dà tí ó ti ní. Mọ ohun tí ìlà náà ń ṣe kí o tó pa á mọ́: ètò yẹn jẹ́ ààlà lórí ọ̀pọ̀ àwọn pàtàkì ẹ̀rí àti kókó, kì í ṣe orúkọ cipher, nítorí náà sísọ̀ọ́ kù yóò mú kí ohun tí profáìlì kan gbà gbòòrò sí i. Ṣàkọsílẹ̀ sáfà wo ni ó béèrè fún un, kí o sì fi ètò náà sílẹ̀ nígbà tí olùdarí bá tún gbé àwọn ohun èlò tuntun jáde. Ṣùgbọ́n yíyí /etc/ssl/openssl.cnf padà dé ààlà kan náà fún gbogbo ètò tí ó ka fáìlì yẹn, èyí tí ó ré kọjá VPN.
OpenVPN 2.6 béèrè kí a to cipher mọ́ àkójọ fún ìdúnàdúrà
Ubuntu 22.10 mú OpenVPN 2.6 wá, nínú ìtẹ̀jáde yẹn --cipher dáwọ́ yíyan ọ̀nà dátà fúnra rẹ̀. Cipher gbọ́dọ̀ wà nínú àkójọ data-ciphers tí a dúnàdúrà pẹ̀lú, bí bẹ́ẹ̀ kọ́ alábàáṣiṣẹ́ yóò tẹ ìkìlọ̀ àtijọ́ jáde, lẹ́yìn náà kò sì lè gbé ọ̀nà náà ró.
Plugin NetworkManager ti àkókò kan náà ṣì ń kọ ìtọ́nisọ́nà àtijọ́ nìkan. Àlàyé yìí ń pín ìwádìí, nítorí profáìlì tí a fi ọwọ́ túnṣe lè sopọ̀ láti shell, kí ó sì ṣì kùnà láti applet ojú-ìwé. Fi àkójọ náà kún fáìlì ìsopọ̀ lábẹ́ [vpn]:
data-ciphers=AES-256-CBCLo iye tí sáfà ń kéde, kì í ṣe èyí tí o rántí; sáfà tí ó ń fi AES-256-GCM ṣe ìdúnàdúrà kò ní bá àkójọ alábàáṣiṣẹ́ tí ó kàn dárúkọ CBC ṣe ìdúnàdúrà. Tún olùṣàkóso bẹ̀rẹ̀ kí o sì tún sopọ̀, lẹ́yìn náà tún ìgbìyànjú náà ṣe láti shell pẹ̀lú cipher tí a fi kedere fún ìdúnàdúrà àti àbáyọ̀:
sudo openvpn --config client.ovpn --data-ciphers AES-256-CBC --data-ciphers-fallback AES-256-CBCBí ìpàṣẹ yẹn bá gbé ọ̀nà náà ró, sáfà, àwọn ẹ̀rí àti àwọn ẹ̀rí ìdánimọ̀ gbogbo wọn wà ní àlàáfíà, àbùkù kan tí ó kù ni àṣàyàn tí olùṣàkóso fi pamọ́. Ìkìlọ̀ nípa ìtọ́nisọ́nà keysize wà nínú ìmọ́toto kan náà: ṣe àríwísí rẹ̀ kí o sì tọ́jú fáìlì ìpilẹ̀ pẹ̀lú ẹ̀gbẹ́ profáìlì.
Àbùkù pákẹ́jì àti plugin dà bí àbùkù VPN
Kì í ṣe gbogbo ìkùnà lẹ́yìn ìgbésoke ni ó jẹ́ ti ìkọ̀wé àṣírí. Ibi-ìpamọ́ OpenVPN tí a fi kún lábẹ́ orúkọ kóòdù tí ìtẹ̀jáde kò lò ń mú pákẹ́jì tí a kò fi sórí ẹ̀rọ rárá jáde, nítorí náà fi ohun tí lsb_release -a ń ròyìn wé fáìlì àkójọ tí o fi kún. universe tí ó sọnù tàbí àpò ààbò ń mú pákẹ́jì tí a kò lè rí rárá jáde. Àwọn ìṣẹ̀lẹ̀ méjèèjì fi profáìlì sílẹ̀ láìfọwọ́ kàn, ọ̀nà sì di àìṣeéṣe.
Ka àṣìṣe olùṣàkóso pákẹ́jì kí o tó ka ìwé àkọsílẹ̀ VPN. Bí a kò bá fi alábàáṣiṣẹ́ sórí ẹ̀rọ rárá, ìṣàtúnṣe profáìlì mélòó mélòó kò ní mú ìfọwọ́sowọ́pọ̀ wá.
Àwọn profáìlì oníkùn méjì tí wọ́n dáwọ́ béèrè jẹ́ ẹ̀dà plugin ti ìtàn kan náà. Ìpènyà náà wá láti plugin ìfìdí, ìgbésoke tí ó yọ ọ́ kúrò tàbí rọ́pò rẹ̀ sì fi profáìlì sílẹ̀ láìfarahàn nígbà tí ìbéèrè náà pòórá. Fi plugin tí a ṣe àtìlẹ́yìn fún sórí ẹ̀rọ lẹ́ẹ̀kan sí i dípò pa kùn kejì rẹ́ kí ìsopọ̀ lè ṣiṣẹ́.
Ilé-ìkàwé olùpèsè lè fi ara pamọ́ sẹ́yìn àṣìṣe ìlànà
Àpẹẹrẹ kan yẹ kí a dà mọ̀ nítorí ó ń ṣẹ́gun gbogbo àtúnṣe ìlànà. Irinṣẹ́ ìṣètò olùpèsè ohun-ẹ̀rọ lè fi àwọn ilé-ìkàwé OpenSSL tirẹ̀ sórí ẹ̀rọ, kí ó sì gbé wọn síwájú àwọn ẹ̀dà ẹ̀rọ nínú ọ̀nà ìwákiri olùgbéwọlé. Nígbà náà alábàáṣiṣẹ́ yóò bẹ̀rẹ̀ lòdì sí ilé-ìkàwé tí ẹnikẹ́ni kò gbéga, ìkùnà ìbẹ̀rẹ̀ yóò sì dà bí ẹ̀rí tí a kọ̀.
Fífi pákẹ́jì VPN sórí ẹ̀rọ lẹ́ẹ̀kan sí i kò yí ohun tí a kọ́kọ́ rí padà, sísọ ìpele TLS kù kò sì lè dé ilé-ìkàwé tí kò ti ẹ̀rọ wá rárá. Béèrè lọ́wọ́ olùgbéwọlé àwọn ohun àṣírí wo ni bínárì ń yanjú ní ti gidi:
ldd /usr/sbin/openvpn | grep -i -E 'ssl|crypto'Yọ ẹ̀dà olùpèsè kúrò tàbí tún ọ̀nà rẹ̀ tọ́, lẹ́yìn náà tún ìgbeyẹ̀wò kan náà ṣe. Ẹ̀dà tí a retí gbọ́dọ̀ jẹ́ èyí tí a ń lò kí o tó padà sí profáìlì.
Fífi alábàáṣiṣẹ́ àtijọ́ mọ́lẹ̀ ń ra àkókò, kì í ṣe ojútùú
Dídá ẹ̀dà alábàáṣiṣẹ́ tẹ́lẹ̀ dúró ń gbé ọ̀nà náà padà níwọ̀n ìgbà tí ìdúró náà bá wà. Ó tún ń dí àwọn ìmúdójúìwọ̀n ààbò fún pákẹ́jì yẹn, ó sì ń ṣètò irú ìbàjẹ́ kan náà fún ìgbésoke tó ń bọ̀, nítorí náà kà á sí ọ̀nà àbáyọ̀ oní ọjọ́, kì í ṣe ojútùú.
Bí o bá fẹ́ fi mọ́lẹ̀, dá pákẹ́jì náà dúró kedere kí ìgbésoke àìlẹ́sọ́ kí ó má baà lè pa ìfimọ́lẹ̀ rẹ́, ṣàkọsílẹ̀ ìdí àti ọjọ́ àtúnyẹ̀wò, kí o sì gbé ìránnilétí fún ìtẹ̀jáde profáìlì tó ń bọ̀ láti ọ̀dọ̀ olùpèsè. Ipò tí ó yẹ kí a máa wò ni profáìlì sáfà tí ó ń dúnàdúrà lórí cipher lọ́wọ́lọ́wọ́; nígbà tí irú rẹ̀ bá wà, ìfimọ́lẹ̀ kò ní ìdáláre mọ́. Ní ìdàkejì, ìfimọ́lẹ̀ tí a kò kọ sílẹ̀ yóò di ìdáná tí ẹnikẹ́ni kò lè ṣàlàyé ní ọdún kan náà, nítorí ẹni tí ó fi í ṣe ti lọ, fáìlì kò sì kọ nǹkan kan.
Nígbà tó ń bọ̀, bí VPN bá kú lẹ́yìn ìgbésoke ìtẹ̀jáde, béèrè ìbéèrè márùn-ún lẹ́sẹẹsẹ: ìpele wo ni ó mú àṣìṣe àkọ́kọ́ wá, ṣé ìlànà TLS kọ ẹ̀rí náà, ṣé a lè dúnàdúrà lórí cipher ní ẹ̀gbẹ́ méjèèjì, ṣé a fi pákẹ́jì àti plugin rẹ̀ sórí ẹ̀rọ ní ti gidi, àti ilé-ìkàwé wo ni ìlànà ń gbé wọlé. Nígbà tí gbogbo márùn-ún bá padà dé láìlábùkù ni ìsọ̀kalẹ̀ ẹ̀dà yóò ní ìtumọ̀.