PostgreSQL qatt ma jitgħallem li klijent jinsab fuq VPN. Jirċievi konnessjoni TCP minn indirizz u sett ta’ kredenzjali, u jiddeċiedi x’jagħmel bihom. Għalhekk li tagħmel l-aċċess dipendenti fuq il-mina jfisser li tordna tliet deċiżjonijiet separati biex jaqblu, u mbagħad tiċċekkja l-uniku indirizz li s-server fil-fatt jara minflok dak li pinġejt fid-dijagramma.

Tliet deċiżjonijiet li m’għandhomx jingħaqdu

Fejn is-server jisma’ hija deċiżjoni waħda. Liema traffiku jista’ jasal għal dak l-indirizz hija t-tieni, meħuda mill-firewall tal-host u minn kull fruntiera tan-netwerk quddiemu. Liema identità tal-bażi tad-dejta tista’ tawtentika minn liema sors hija t-tielet, meħuda f’pg_hba.conf.

Kull waħda tiġi infurzata minn komponent differenti, u kull waħda tfalli b’messaġġ differenti. Li tgħaqqadhom fi diskussjoni huwa kif in-nies jispiċċaw jeditjaw il-fajl HBA biex isewwu problema tal-firewall. Żommhom fl-ordni: listener li mhuwiex marbut ma jistax jintlaħaq, ma port iffiltrat ma jistax jiġi konness, u regola HBA tiddeċiedi biss x’jiġri wara li tkun teżisti konnessjoni. Meta bidla ma jkollha ebda effett, identifika liema mit-tliet saffi fil-fatt biddilt.

Fejn is-server jisma’

Orbot ma’ indirizz li fil-fatt huwa assenjat lill-magna, mhux ma’ isem ta’ interface:

listen_addresses = '10.20.0.30'

Il-bażi tad-dejta tista’ tkun wara l-gateway tal-VPN mingħajr interface tal-mina tagħha stess, u għalhekk indirizz huwa l-ħaġa t-tajba li ssemmi. Li tbiddel dan is-setting jeħtieġ restart sħiħ; reload mhuwiex biżżejjed.

Imbagħad iffiltrja l-port, normalment 5432, fuq il-host u fuq kull fruntiera quddiemu. Li torbot ma’ indirizz privat mhuwiex prova ta’ ċaħda pubblika, għax forward tal-port jew mapping tal-indirizz fil-cloud xorta jista’ jwassal pakketti lil dak il-listener privat.

L-indirizz li HBA fil-fatt jara

B’aċċess irrouted is-server jara l-indirizz intern tal-mina ta’ kull klijent. B’traduzzjoni tas-sors jara minflok l-indirizz tradott tal-gateway, u kull klijent jiġġarraf f’dak il-valur wieħed. Spezzjona s-sors permezz tal-provi tal-konnessjoni tas-server stess qabel tagħżel prefiss li għandu jiġi permess.

Għal installazzjoni li diġà tuża TLS u SCRAM, eżempju ta’ aċċess mill-bogħod apposta dejjaq jidher hekk:

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

Dan jippermetti rwol wieħed u bażi tad-dejta waħda fuq TLS mill-pool imsemmi, imbagħad jirrifjuta aċċess TCP ieħor mill-bogħod. Mhuwiex sostitut għal fajl HBA sħiħ: żomm l-amministrazzjoni lokali, ir-replikazzjoni u kwalunkwe servizz awtorizzat ieħor, u poġġi r-regoli dejqa qabel permessi usa’.

Meta t-traduzzjoni tkun fis-seħħ, HBA ma jistax jiddistingwi l-klijenti mill-indirizzi oriġinali tagħhom. Żomm l-ammissjoni tan-netwerk stretta u tirrikjedi kredenzjali reali tal-bażi tad-dejta, u qatt ma tissostitwixxi l-awtentikazzjoni trust b’kont reali.

Tirbaħ l-ewwel qbil, mingħajr rikors

PostgreSQL jaqra l-fajl minn fuq għal isfel u juża l-ewwel rekord li jaqbel mal-konnessjoni. M’hemmx it-tieni tentattiv jekk l-awtentikazzjoni ta’ dak ir-rekord tfalli, għalhekk permess wiesa’ preċedenti jegħleb bil-kwiet rifjut aktar tard.

Dik ir-regola tal-ordni hija l-aktar raġuni komuni għaliex rifjut miktub bl-attenzjoni qatt ma jidħol fis-seħħ. Poġġi r-regoli speċifiċi l-ewwel u dawk wiesgħa l-aħħar, imbagħad aqra l-fajl bħala sekwenza u mhux bħala sett. Regola li żidt fil-qiegħ mhijiex politika, hija kumment. Mexxiha ’l fuq u erġa’ għabbi qabel ma tikkonkludi li l-fajl qed jiġi injorat.

Ir-referenza HBA tiddefinixxi kemm l-ordni kif ukoll id-differenza bejn ir-rekords host u hostssl, li hija importanti meta l-punt tar-regola huwa li l-konnessjoni trid tkun encrypted.

Reload, restart u l-każ miċħud

Il-bidliet HBA jiġu applikati b’reload, u l-vista pg_hba_file_rules tgħinek issib żbalji tal-parsing. Dik il-vista tiddeskrivi l-kontenut attwali tal-fajl, mhux jekk is-server li qed jaħdem għabbiehomx b’suċċess, għalhekk lista nadifa mhijiex prova li r-regoli l-ġodda huma attivi.

Bidliet fil-listener jeħtieġu restart tagħhom stess, u ż-żewġ operazzjonijiet faċli li jiġu mħawwda meta bidla tidher li m’għandhiex effett.

Ittestja b’sessjonijiet ġodda: klijent approvat bil-kont maħsub jikkonnettja, l-istess kont minn triq mhux approvata ma jikkonnettjax, u identità tal-bażi tad-dejta mhux awtorizzata xorta tfalli minn ġewwa l-VPN. Dawk it-tliet riżultati jifirdu l-fruntiera tan-netwerk mill-awtorizzazzjoni tal-bażi tad-dejta, li hija l-punt kollu li żżomm id-deċiżjonijiet separati.

Artikli relatati