Certbot ròyìn àṣeyọrí ìmúdọ̀tun, àwọn fáìlì orí díìsììkì ní ọjọ́ tuntun, ṣùgbọ́n àwọn oníbàárà ṣì pàdé ìdánimọ̀ àtijọ́. SoftEther ń tọ́jú èrídí SSL server rẹ̀ nínú ìṣètò rẹ̀ ní ìpele server, nítorí náà fáìlì tuntun orí díìsììkì kò yí ohunkóhun padà títí tí a ó fi gbé ewé àti kọ́kọ́rọ́ rẹ̀ wọlé. Ìtẹ̀le tó wà nísàlẹ̀ yìí bo ìgbéwọlé àfọwọ́kan kan, ìgbàlódé tó ń ṣiṣẹ́ lẹ́yìn ìmúdọ̀tun kọ̀ọ̀kan, àti àyẹ̀wò tó ń ka ohun tí olùgbọ́ ń fi hàn gan-an. Ìgbésẹ̀ kọ̀ọ̀kan ń fi ẹ̀rí sílẹ̀ tí o lè fi wé lẹ́yìn ìmúdọ̀tun tó ń bọ̀.

Fáìlì tuntun kò yí ìdánimọ̀ server padà

Ìpèsè àti ìgbékalẹ̀ jẹ́ ìṣẹ̀lẹ̀ ọ̀tọ̀ọ̀tọ̀ pẹ̀lú ọ̀nà ìkùnà ọ̀tọ̀ọ̀tọ̀. Oníbàárà ACME ń kọ àwọn fáìlì sínú àpò ìlà ìran, ó sì ń ṣàkọsílẹ̀ àṣeyọrí; SoftEther ń bá èrídí tí a gbé wọlé gbẹ̀yìn nínú ìṣètò rẹ̀ lọ. Nítorí náà ipò àbájáde òdo ń ṣàpèjúwe àwọn fáìlì, kì í ṣe iṣẹ́, àwọn méjèèjì sì lè yàtọ̀ níwọ̀n ìgbà tí ẹnìkankan kò bá wò ó. Ka ìgbéwọlé gẹ́gẹ́ bí ìgbésẹ̀ ìgbékalẹ̀ àti ìmúdọ̀tun gẹ́gẹ́ bí ohun tí ó ń gbà wọlé.

Ìyàtọ̀ yẹn tún ṣàlàyé ìkùnà ìdajì tó ń dàrú: èrídí àtijọ́ ń ṣiṣẹ́ títí tí yóò fi parí, nítorí náà ní àkọ́kọ́ kò sí ohun tó dàbí ẹni pé ó ti bàjẹ́. Nígbà tí ó bá parí, gbogbo oníbàárà ń kùnà lẹ́ẹ̀kan náà, èyí tó dàbí ìdádúró iṣẹ́ dípò ìgbésẹ̀ ìgbékalẹ̀ tí a pàdánù. Ṣíṣàyẹ̀wò ìdánimọ̀ tí a fi hàn lẹ́yìn ìmúdọ̀tun kọ̀ọ̀kan ń sọ ìyàlẹ́nu yẹn di àkíyèsí ojoojúmọ́.

Yan ìpèníjà tó bá olùgbọ́ mu

Èrídí gbọ́dọ̀ dárúkọ host tí àwọn oníbàárà ń ṣàyẹ̀wò, nítorí náà lo orúkọ DNS gbogbogbò dípò àmì inú tàbí àdírẹ́sì. HTTP-01 nílò kí a dáhùn ìpèníjà ní ibùdó 80 fún ìṣẹ́jú kan, èyí jẹ́ olùgbọ́ ìgba àkókò, kì í sì í ṣe ìdí láti gbé ibùdó SoftEther fúnra rẹ̀. DNS-01 ń fi ìṣàkóso hàn nípasẹ̀ àkọsílẹ̀, kò sì nílò HTTP tó ń wọlé rárá.

Ìmúdọ̀tun láìsí àbójútó túmọ̀ sí ìsopọ̀ DNS aládàáṣiṣẹ́ pẹ̀lú àwọn ẹ̀rí tí a fi mọ́ agbègbè kan, kì í ṣe àkọsílẹ̀ TXT tí a fi ọwọ́ tẹ̀ ní gbogbo oṣù méjì. Wildcard ń yí irú ìpèníjà padà, kì í yí àìní fún ìṣàkóso aládàáṣiṣẹ́ yẹn padà. Pinnu èyí kí èrídí àkọ́kọ́ tó wà, nítorí yíyí irú ìpèníjà padà lẹ́yìn náà túmọ̀ sí fíwọ́ kan ìṣètò oníbàárà àti odi iná lẹ́ẹ̀kan náà.

Tọ́jú àwọn ohun iṣẹ́ pọ̀ ní ṣísètò níwọ̀n ìgbà tí o wà níbí. Ewé àti àwọn èrídí àárín ń wá gẹ́gẹ́ bí fáìlì ọ̀tọ̀ọ̀tọ̀ àti gẹ́gẹ́ bí fáìlì ẹwọn kan tí a so pọ̀, kọ́kọ́rọ́ àdáni yà sọ́tọ̀ lẹ́ẹ̀kan sí i, ìgbéwọlé sì nílò ẹwọn pẹ̀lú kọ́kọ́rọ́ tó bá a mu, kì í ṣe èrídí gbogbogbò nìkan.

Gbé ẹwọn wọlé ní ìpele server

Ṣe àwòkọ̀ ààbò ìṣètò server kí o sì fi dáni lo gbà pé o ṣì lè dé ojú-ìwé ìṣàkóso kí o tó fọwọ́ kan èrídí. So pọ̀ gẹ́gẹ́ bí alábòójútó server, kì í ṣe alábòójútó Virtual Hub, nítorí èrídí jẹ́ ti ohun server. Lẹ́yìn náà gbé ẹwọn àti kọ́kọ́rọ́ wọlé ní ọ̀nà pípé, láti àwọn fáìlì tí àkọsílẹ̀ tó ń ṣiṣẹ́ àṣẹ lè kà. Kíyèsí pé àwọn ọ̀nà pípé ni nítorí àṣẹ ń yanjú wọn láti àpò iṣẹ́ ti ìlànà tó ṣiṣẹ́ vpncmd:

ServerCertSet /LOADCERT:/etc/letsencrypt/live/vpn.example.com/fullchain.pem /LOADKEY:/etc/letsencrypt/live/vpn.example.com/privkey.pem

Ka àbájáde àṣẹ dípò kí o gbà pé ó ṣàṣeyọrí, lẹ́yìn náà kà ẹwọn lẹ́ẹ̀kan sí i dípò kí o gbẹ́kẹ̀lé fáìlì tí o fún. Ààlà láàrín àwọn bíldù tó ń gbé gbogbo àkójọpọ̀ PEM wọlé àti àwọn bíldù tó ń gba èrídí àkọ́kọ́ nìkan kò ní àkọsílẹ̀ ní ibìkan, nítorí náà àyẹ̀wò ni ó ń pinnu rẹ̀ fún bíldù tó wà níwájú rẹ. Ka iye àwọn èrídí tí olùgbọ́ ń fi hàn; ewé tí kò ní àárín jẹ́ àmì olùgbéwọlé tó lo blọ́ọ̀kì àkọ́kọ́ nìkan.

Tọ́jú kọ́kọ́rọ́ tí a gbé wọlé kí ó ṣe kíkà fún àkọsílẹ̀ tó ń ṣiṣẹ́ server nìkan, kí o sì pa ọ̀rọ̀ ìpamọ́ ìṣàkóso mọ́ kúrò nínú ìtàn shell. Nínú ìgbéwọlé àkọ́kọ́ yìí, tẹ ọ̀rọ̀ ìpamọ́ náà ní ibi ìbéèrè dípò kí o fi í gẹ́gẹ́ bí àríyànjiyàn àṣẹ. Àwọn ìwà méjèèjì yìí kò ná ohunkóhun, wọ́n sì ń yọ ọ̀nà tó wọ́pọ̀ jùlọ tí ìgbékalẹ̀ èrídí ń fi tú ohun tí ó yẹ kí ó dáàbò bò kúrò. Ṣe èyí kí ìgbéwọlé àkọ́kọ́ tó wáyé, kì í ṣe lẹ́yìn.

So ìgbékalẹ̀ mọ́, kì í ṣe ìmúdọ̀tun

Nígbà tí ìgbéwọlé àfọwọ́kan bá ṣiṣẹ́, fi àwọn ìgbésẹ̀ yẹn gan-an sínú ìgbàlódé kékeré, kí o sì pè é láti oníbàárà ACME lẹ́yìn ìmúdọ̀tun àṣeyọrí. Certbot ń ṣètò RENEWED_LINEAGE àti RENEWED_DOMAINS fún ìdẹkùn, nítorí náà ìgbàlódé lè ṣiṣẹ́ lórí èrídí kan lórí ẹ̀rọ tó ń bójú tó ọ̀pọ̀. Ṣe àyọ̀sẹ́ nípa ìlà ìran dípò kí o dáhùn sí gbogbo ìmúdọ̀tun lórí host. Ìgbàlódé jẹ́ kóòdù ìgbékalẹ̀ tó ń ṣiṣẹ́ pẹ̀lú àǹfààní server, nítorí náà ṣe àgbéyẹ̀wò rẹ̀ gẹ́gẹ́ bí àwọn skriptu mìíràn ní ipò yẹn.

certbot renew --deploy-hook /usr/local/sbin/softether-deploy.sh

Ìdẹkùn tó ń ṣiṣẹ́ láìsí àbójútó nílò ilé ìpamọ́ ẹ̀rí rẹ̀ tí a dáàbò bò àti àmì ìkùnà tó dé ọ̀dọ̀ ènìyàn. Tí ìpèsè bá ṣàṣeyọrí tí ìgbéwọlé sì kùnà, tún ìgbéwọlé ṣe dípò kí o béèrè fún èrídí mìíràn, nítorí ìbéèrè kejì ń fi àléèmọ̀ ìgbékalẹ̀ pamọ́ sẹ́yìn fáìlì tuntun. Ìwé ìmúdọ̀tun Certbot sọ kedere pé ìṣiṣẹ́ tí kò mú kankan dọ̀tun jẹ́ àbájáde deede, nítorí náà ìdẹkùn ni ó ń yàtọ̀ wọn méjèèjì.

Fi ẹwọn tí a fi hàn wé fáìlì

Ka olùgbọ́, kì í ṣe díìsììkì. So mọ́ ibùdó tó ń gbà àwọn oníbàárà pẹ̀lú orúkọ server tí àwọn oníbàárà ń lò, lẹ́yìn náà fi àmì ìka àti ẹwọn tí a fi ránṣẹ́ wé ìlà ìran tí ìdẹkùn fi sórí. Àwọn àṣẹ méjì ń bo èyí, èyí àkọ́kọ́ sì tún fi hàn bóyá àwọn èrídí àárín ń dé rárá:

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | grep -c 'BEGIN CERTIFICATE'
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -fingerprint -sha256

Lẹ́yìn náà ṣe ìsopọ̀ oníbàárà tuntun, nítorí àwọn àpèjọ tí a dá kí ìgbéwọlé tó wáyé ni a fi ìdánimọ̀ àtijọ́ ṣàyẹ̀wò, wọn kò sì fi ohunkóhun hàn nípa èyí tuntun. Tí àwọn oníbàárà bá so ewé àtijọ́ mọ́lẹ̀, wọ́n nílò ìmúdọ̀tun alájúmọ̀sọ̀rọ̀pọ̀ pẹ̀lú àwọn ẹlòmíràn, kódà nígbà tí ẹwọn gbogbogbò bá wúlò, iṣẹ́ yẹn sì wà nínú ìwé ìṣiṣẹ́ kan náà pẹ̀lú ìmúdọ̀tun. Proxy ìdàkejì níwájú iṣẹ́ lè fi èrídí tó dára hàn nígbà tí olùgbọ́ VPN ṣì ń di ti àtijọ́ mú, ìdí nìyẹn tí àyẹ̀wò fi gbọ́dọ̀ dárúkọ ibùdó tí àwọn oníbàárà ń dé gan-an. Kọ àmì ìka lẹ́gbẹ̀ẹ́ ọjọ́ ìmúdọ̀tun, kí ìfiwéra tó ń bọ̀ lè jẹ́ àyẹ̀wò kì í ṣe iṣẹ́ ìrántí.

Àwọn àpilẹ̀kọ tó jọra