MySQL nipasẹ VPN: ṣe ayẹwo olupin, kii ṣe ìkóòdìí nìkan
Ìkóòdìí sí olupin tí kò tọ́ ṣì jẹ́ aṣiṣe. Fi àwọn iye ssl-mode wé, lẹ́yìn náà ṣe ìsopọ̀ tí ó dárúkọ olupin tí o ní lọ́kàn àti fi í hàn.
O tọju ìsopọ̀ kan sí 10.20.4.15, VPN ṣubú, àti pé alábàáṣepọ̀ ṣì ń sopọ̀. Ìyẹn kì í ṣe ìròyìn dáadáa. Àdírẹ́sì àdáni jẹ́ ibi tí ó wà nínú ìgbà ìtọ́nà kankan tí o bá wà, àti pé ọ̀pọ̀ àwọn nẹ́tíwọ́kì ń lo àwọn ìwọ̀n kanna. Alábàáṣepọ̀ dé olupin MySQL kan, bóyá kì í ṣe tìrẹ.
Àtúnṣe náà ní ìdajì méjì, àti pé ọ̀kan nìkan nínú wọn ni ó ṣe pẹ̀lú nẹ́tíwọ́kì. Jẹ́ kí ìsopọ̀ wà ní ọ̀nà tí a pinnu, àti jẹ́ kí alábàáṣepọ̀ ṣe ìjẹ́rìí olupin tí ó ń bá sọ̀rọ̀. Ìdajì àkọ́kọ́ ni ibi tí VPN ń ṣe ìrànwọ́; ìdajì kejì gbọ́dọ̀ ṣe àtòjọ.
Ìkóòdìí sí kí ni, gan-an?
TLS ń dáàbò bo ìjíròrò lọ́wọ́ ẹnikẹ́ni tí ó wà ní àárín, kò sì sọ ohunkóhun nípa ẹni tí opin náà sọ pé òun jẹ́, àyàfi bí alábàáṣepọ̀ bá ṣàyẹ̀wò. Ìwé-ẹ̀rí tí ó fọwọ́sí pẹ̀lú àjọ tí a gbẹ́kẹ̀lé ń fi hàn pé ìwé-ẹ̀rí náà wá láti ọ̀dọ̀ àjọ yẹn. Kò fi hàn pé a fún ìwé-ẹ̀rí náà fún orúkọ olupin tí o fẹ́ dé, àti pé àwọn ìbéèrè ọ̀tọ̀ọ̀tọ̀ ni wọ́n.
Eyi kì í ṣe àlàfo àbá-èròǹgbà. Àwọn ẹnubodè captive, àṣìṣe pẹ̀lú VRF tí kò tọ́ àti àwọn ètò àdírẹ́sì tí ó ń gbá ara wọn lọ́wọ́ gbogbo wọn ń dá olupin kan tí ó ṣetán pátápátá láti bá ọ sọ̀rọ̀ nípa TLS. Bí alábàáṣepọ̀ bá kàn béèrè ìkóòdìí, ìpàdé náà jẹ́ àdáni ṣùgbọ́n ó tọ́ka sí ibi ìpamọ́ tí kò tọ́.
Nítorí náà ìbéèrè tí ó bá ara mu kì í ṣe bóyá a ti kóòdìí ìsopọ̀ náà, bí kò ṣe bóyá a ti kóòdìí rẹ̀ sí ẹni tí o pinnu. Nínú alábàáṣepọ̀ MySQL, ìyàtọ̀ yẹn ń gbé pátápátá nínú ètò ssl-mode.
Àwọn iye ssl-mode márùn-ún ní ìṣe
Àwọn iye márùn-ún wà, àti pé ọ̀kan nìkan nínú wọn ni ó dáhùn ìbéèrè ìwé-ìtọ́sọ́nà yìí. Tábìlì náà ṣe àkọsílẹ̀ ohun tí ọ̀kọ̀ọ̀kan ń gbèjà ní ti gidi, kì í ṣe ohun tí orúkọ rẹ̀ ń dábàá.
| Mode | What it guarantees |
|---|---|
DISABLED | No TLS at all; everything on the wire is readable |
PREFERRED | Tries TLS and falls back to plaintext when the account and server allow it, so it is not a fail-closed requirement |
REQUIRED | Refuses to connect without TLS, and does not validate the certificate |
VERIFY_CA | Validates the server certificate against the configured CA and does not check the hostname |
VERIFY_IDENTITY | Validates the CA and checks that the certificate names the host the client used |
Ìlà tí ó kẹ́yìn nìkan ni ó dáhùn ìbéèrè nínú àpilẹ̀kọ yìí. PREFERRED yẹ kí a ṣe àkíyèsí rẹ̀ lọ́tọ̀, nítorí alábàáṣepọ̀ tí ó ń ṣubú ní ìdákẹ́jẹ́ sí ọ̀rọ̀ tààrà burú ju ẹni tí ó kọ̀ lọ: o gbà pé ìkóòdìí wà níbẹ̀ àti pé gbígbé àpò náà kò gbà.
Ìsopọ̀ tí o lè ṣe lónìí
Àṣẹ tí ó wà nísàlẹ̀ ni ọ̀nà tí a ó lò, pẹ̀lú àwọn ibi ìdí méjì: orúkọ ibi ìpamọ́ tí a fọwọ́sí àti fáìlì CA tí a gbà nípasẹ̀ ọ̀nà tí a fọwọ́sí. Kò yẹ kí a gbà èyíkéyìí wọn láti inú ohun tí olupin ń fún ọ ní ìbáṣepọ̀ àkọ́kọ́.
mysql --host=db.corp.example --user=app_reader \
--ssl-mode=VERIFY_IDENTITY \
--ssl-ca=/approved/path/ca.pem --password
--password láìsí iye ń béèrè fún ìwọlé, èyí tí ó ń pa àṣírí mọ́ síta kúrò nínú àkọsílẹ̀ àwọn ìlànà àti nínú ìtàn shell rẹ. Ìṣe kékeré ni pẹ̀lú èrè ńlá lórí àwọn olupin fò tí a ń pín, níbi tí ìlà àṣẹ ń hàn sí àwọn olùlò mìíràn.
Nígbà tí èyí bá kùnà, ọ̀rọ̀ àṣìṣe náà ń ya àwọn ọ̀ràn kúrò dáadáa ju ìmọ̀-ọkàn lọ. Àṣìṣe CA túmọ̀ sí pé a kò fọwọ́sí ẹ̀wọ̀n náà àti pé o yẹ kí o wo irú CA tí ó fọwọ́sí ìwé-ẹ̀rí olupin. Àṣìṣe orúkọ olupin túmọ̀ sí pé ẹ̀wọ̀n náà dára àti pé orúkọ kò bára mu, èyí tí ó sábà túmọ̀ sí pé o sopọ̀ mọ́ olupin tí ó tọ́ pẹ̀lú orúkọ tí kò tọ́, kì í ṣe olupin tí kò tọ́.
Ìfarahàn ìbéèrè kì í ṣe ẹ̀rí pé a ti fi ọ̀rọ̀-ìpamọ́ ránṣẹ́ tẹ́lẹ̀, àti pé ìsopọ̀ tí ó kùnà kò fi hàn pé ohunkóhun kò jáde kúrò nínú alábàáṣepọ̀. Bí o bá ń tún ìṣẹ̀lẹ̀ àtijọ́ kọ́, dárúkọ alábàáṣepọ̀, ètò rẹ̀, ẹ̀rọ ìjẹ́rìí ìdánimọ̀ àti ipò tí ó kùnà. Ṣíṣe àfojúsùn ìfarahàn láti inú ìhìn àṣìṣe tí ó kẹ́yìn jẹ́ àfojúsùn.
Nígbà tí orúkọ bá wá láti inú ọ̀nà abẹ́lẹ̀
Gbigbe ibudo àdúgbò jáde ń fọ́ ìṣàyẹ̀wò ìdánimọ̀ ní ọ̀nà tí ó ń yà àwọn ènìyàn lẹ́nu. Bí o bá gbé ibudo àdúgbò lọ sí ibi ìpamọ́ àti sopọ̀ mọ́ localhost, alábàáṣepọ̀ yóò fọwọ́sí ìwé-ẹ̀rí náà pẹ̀lú localhost, àti pé a kò fún orúkọ yẹn ní ìwé-ẹ̀rí kankan. Ìsopọ̀ náà lè jẹ́ aláàbò pátápátá àti pé ìjẹ́rìí yóò ṣì kùnà, èyí tí ó jẹ́ ìṣàyẹ̀wò tí ń ṣiṣẹ́ bí a ti pinnu.
Àwọn ìdáhùn olóòtítọ́ méjì wà. Fún opin tí a gbé jáde ní orúkọ tí yóò yanjú sí àdírẹ́sì loopback àti tí yóò farahàn nínú ìwé-ẹ̀rí olupin, tàbí lo orúkọ olupin láti ìbẹ̀rẹ̀ dé ìparí kí alábàáṣepọ̀ lè jẹ́rìí ìdánimọ̀ gidi. Èyí àkọ́kọ́ rọrùn fún àwọn olùdàgbààsí àti pé ó nílò iṣẹ́ ìwé-ẹ̀rí; èyí kejì rọrùn láti ronú lé lórí àti pé ó sábà jẹ́ àìsíyàn tí ó tọ́ fún ìṣàkóso àfọwọ́kọ. Pípa ìjẹ́rìí dé láti jẹ́ kí gbigbe jáde ṣiṣẹ́ ń sọ ohun-ìní tí o ń gbìyànjú láti fi kún.
Ìgbàwọlé jẹ́ àwọn ipò mẹ́ta
Kọ ìdánwò ìgbàwọlé gẹ́gẹ́ bí ọ̀rọ̀ mẹ́ta ọ̀tọ̀ọ̀tọ̀: ìsopọ̀ náà lo ọ̀nà tí a pinnu, a béèrè ìkóòdìí tí kì í ṣe ààyò, àti pé a jẹ́rìí ìdánimọ̀ olupin pẹ̀lú ohun tí a gbẹ́kẹ̀lé. Àmì VPN aláwọ̀ ewé kò fi ọ̀kan nínú wọn múlẹ̀.
Fún àwọn alábàáṣepọ̀ GUI àti MariaDB, ṣàyẹ̀wò àkọsílẹ̀ olùtà fúnra rẹ̀ dípò gbígba pé ìkọ̀wé àmì náà ń gbé ká. Àkọsílẹ̀ MySQL nípa àwọn ìsopọ̀ tí a kóòdìí ń bo àwọn ìyàtọ̀ láàrin àwọn ipò àti ìbéèrè pípín CA, àti pé òun ni ìtọ́kasí tí o yẹ kí o ṣàyẹ̀wò kí o tó yí okùn ìsopọ̀ ìmújáde padà.