PostgreSQL kò mọ̀ rí pé alábàáṣepọ̀ kan wà lórí VPN. Ó ń gba ìsopọ̀ TCP láti àdírẹ́sì kan àti àkójọ ìwé-ẹ̀rí, ó sì pinnu ohun tí yóò ṣe pẹ̀lú wọn. Nítorí náà ṣíṣe àbójútó ìwọlé ní èyí tí ó dúró lórí ọ̀nààbáyọ̀ túmọ̀ sí ṣíṣètò ìpinnu mẹ́ta ọ̀tọ̀ọ̀tọ̀ kí wọ́n lè bá ara mu, lẹ́yìn náà ṣàyẹ̀wò àdírẹ́sì kan ṣoṣo tí olùpèsè ń rí ní ti gidi dípò èyí tí o ya sórí àwòrán.

Ìpinnu mẹ́ta tí kò gbọdọ̀ dàpọ̀

Ibùdó tí olùpèsè ń gbọ́ ni ìpinnu kan. Irú ìrìnàjò tí ó lè dé àdírẹ́sì yẹn ni èkejì, tí firewall ẹ̀rọ àti ààlà nẹ́tíwọ́kì èyíkéyìí níwájú rẹ̀ ń ṣe. Irú ìdánimọ̀ pẹ̀tẹ́ẹ̀sì dátà tí ó lè jẹ́rìí láti orísun wo ni ẹ̀kẹta, tí a ń ṣe nínú pg_hba.conf.

Ọ̀kọ̀ọ̀kan ni ẹ̀yà ọ̀tọ̀ọ̀tọ̀ ń fi ipá mú, ọ̀kọ̀ọ̀kan sì kùnà pẹ̀lú ìṣẹ́ ọ̀tọ̀ọ̀tọ̀. Dídà wọ́n pọ̀ nínú ìjíròrò ni ọ̀nà tí àwọn ènìyàn fi ń ṣàtúnṣe fáìlì HBA láti tún ìṣòro firewall ṣe. Pa wọ́n mọ́ ní tẹ̀léntẹ̀lén: olùgbọ́ tí kò so mọ́ kò lè dé, kò lè sopọ̀ mọ́ ebute tí a ṣe àyọkà rẹ̀, ìlànà HBA sì ń pinnu kìkì ohun tí yóò ṣẹlẹ̀ lẹ́yìn tí ìsopọ̀ kan wà. Nígbà tí ìyípadà kan kò ní ipa, dámọ̀ irú ìpele wo nínú mẹ́ta tí o yí padà ní ti gidi.

Ibùdó tí olùpèsè ń gbọ́

So mọ́ àdírẹ́sì tí a ti yàn fún ẹ̀rọ ní ti gidi, kì í ṣe orúkọ interface:

listen_addresses = '10.20.0.30'

Pẹ̀tẹ́ẹ̀sì dátà lè wà lẹ́yìn ẹnubodè VPN láìsí interface ọ̀nààbáyọ̀ tirẹ̀, ìdí nìyẹn tí àdírẹ́sì fi jẹ́ ohun tí ó tọ́ láti dárúkọ. Yíyí ètò yìí padà nílò àtúnbẹ̀rẹ̀ kíkún; àtúntẹ̀ kò tó.

Lẹ́yìn náà ṣe àyọkà ebute, ní ọ̀pọ̀ ìgbà 5432, lórí ẹ̀rọ àti ní gbogbo ààlà níwájú rẹ̀. Sísopọ̀ mọ́ àdírẹ́sì aládàáni kì í ṣe ẹ̀rí ìkọ̀ gbogbo ènìyàn, nítorí gbígbé ebute kọjá tàbí ìyàwòrán àdírẹ́sì sánmà lè ṣì fi àwọn pákítì dé olùgbọ́ aládàáni yẹn.

Àdírẹ́sì tí HBA ń rí ní ti gidi

Pẹ̀lú ìwọlé tí a ṣe ìtọ́sọ́nà rẹ̀, olùpèsè ń rí àdírẹ́sì ọ̀nààbáyọ̀ inú ti olùbáṣepọ̀ kọ̀ọ̀kan. Pẹ̀lú ìtúmọ̀ orísun, ó ń rí àdírẹ́sì tí a túmọ̀ ti ẹnubodè dípò rẹ̀, gbogbo olùbáṣepọ̀ sì ń ṣubú sínú iye kan ṣoṣo yẹn. Ṣàyẹ̀wò orísun náà nípasẹ̀ ẹ̀rí ìsopọ̀ ti olùpèsè fúnra rẹ̀ kí o tó yan àkọ́sí tí yóò gba.

Fún ìfilélẹ̀ tí ó ti ń lo TLS àti SCRAM, àpẹẹrẹ ìwọlé jìnnà tí a mọ̀ọ́mọ̀ ṣe tóóró rí báyìí:

hostssl appdb app_login 10.8.0.0/24 scram-sha-256
host all all 0.0.0.0/0 reject
host all all ::/0 reject

Èyí gba ipa kan àti pẹ̀tẹ́ẹ̀sì dátà kan láàárín TLS láti inú àkójọ tí a mẹ́nu kàn, lẹ́yìn náà ó kọ̀ ìwọlé TCP jìnnà mìíràn. Kì í ṣe àrọ́wọ́tó fáìlì HBA kíkún: pa ìṣàkóso agbègbè, àtúnṣe àti èyíkéyìí iṣẹ́ tí a fọwọ́ sí mọ́, kí o sì fi àwọn ìlànà tóóró síwájú àwọn ìyọ̀ǹda gbòòrò.

Nígbà tí ìtúmọ̀ bá wà, HBA kò lè ya àwọn olùbáṣepọ̀ sọ́tọ̀ nípasẹ̀ àdírẹ́sì ìpilẹ̀ wọn. Pa ìgbàwọlé nẹ́tíwọ́kì mọ́ ní àìlóṣùnà, kí o sì béèrè àwọn ìwé-ẹ̀rí pẹ̀tẹ́ẹ̀sì dátà gidi, kí o má sì fi trust ìjẹ́rìí rọ́pò àkọsílẹ̀ gidi láé.

Ìbámu àkọ́kọ́ ni ó máa ń borí, láìsí àbáyọ̀

PostgreSQL ń ka fáìlì náà láti orí dé ìsàlẹ̀, ó sì ń lo àkọsílẹ̀ àkọ́kọ́ tí ó bá ìsopọ̀ mu. Kò sí ìgbìyànjú kejì bí ìjẹ́rìí àkọsílẹ̀ yẹn bá kùnà, nítorí náà ìyọ̀ǹda gbòòrò àtẹ̀yìnwá ń ṣẹ́gun ìkọ̀ tí ó dé lẹ́yìn ní ìdákẹ́jẹ́.

Ìlànà tẹ̀léntẹ̀lén yẹn ni ìdí tí ó wọ́pọ̀ jùlọ tí ìkọ̀ tí a kọ pẹ̀lú àìlóṣùnà kò fi ń gbé ipa láé. Fi àwọn ìlànà pàtó sí ipò àkọ́kọ́ àti àwọn gbòòrò ní ìkẹyìn, lẹ́yìn náà ka fáìlì náà gẹ́gẹ́ bí ìtẹ̀léntẹ̀lén kì í ṣe gẹ́gẹ́ bí àkójọ. Ìlànà tí o fi kún ní ìsàlẹ̀ kì í ṣe ètò-ìṣe, ó jẹ́ àkọsílẹ̀. Gbé e sókè kí o sì tún gbé e wọlé kí o tó pinnu pé a ń pa fáìlì náà tì.

Ìtọ́kasí HBA ń ṣàlàyé ìtẹ̀léntẹ̀lén àti ìyàtọ̀ láàárín àwọn àkọsílẹ̀ host àti hostssl, èyí sì ṣe pàtàkì nígbà tí èròǹgbà ìlànà náà jẹ́ pé ìsopọ̀ gbọdọ̀ jẹ́ ààbò-ọ̀rọ̀.

Àtúntẹ̀, àtúnbẹ̀rẹ̀ àti ọ̀ràn tí a kọ̀

A ń fi àwọn ìyípadà HBA ṣiṣẹ́ nípasẹ̀ àtúntẹ̀, ìwòye pg_hba_file_rules sì ń ràn ọ́ lọ́wọ́ láti wá àwọn àṣìṣe ìtúpalẹ̀. Ìwòye yẹn ń ṣàlàyé àkóónú fáìlì lọ́wọ́lọ́wọ́, kì í ṣe bóyá olùpèsè tí ń ṣiṣẹ́ gbé wọn wọlé ní àṣeyọrí, nítorí náà àkójọ tí ó mọ́ kì í ṣe ẹ̀rí pé àwọn ìlànà tuntun ń ṣiṣẹ́.

Àwọn ìyípadà olùgbọ́ nílò àtúnbẹ̀rẹ̀ tirẹ̀, ó sì rọ̀rùn láti da àwọn iṣẹ́ méjì náà pọ̀ nígbà tí ìyípadà kan bá dàbí ẹni pé kò ní ipa.

Dán wò pẹ̀lú àwọn ìsopọ̀ tuntun: olùbáṣepọ̀ tí a fọwọ́ sí pẹ̀lú àkọsílẹ̀ tí a fẹ́ ń sopọ̀, àkọsílẹ̀ kan náà láti ọ̀nà tí a kò fọwọ́ sí kì í sopọ̀, ìdánimọ̀ pẹ̀tẹ́ẹ̀sì dátà tí a kò fọwọ́ sí sì ṣì ń kùnà láti inú VPN. Àwọn àbájáde mẹ́ta yẹn ń ya ààlà nẹ́tíwọ́kì sọ́tọ̀ kúrò lọ́wọ́ àṣẹ pẹ̀tẹ́ẹ̀sì dátà, èyí sì ni gbogbo èròǹgbà fífi àwọn ìpinnu pamọ́ lọ́tọ̀.

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