Mae TLS, mynediad rhwydwaith a braint SQL yn ateb cwestiynau gwahanol
Mae amgryptio cysylltiad, derbyn ffynhonnell a rhoi tabl yn dair penderfyniad. Ewch drwyddynt mewn trefn cyn gofyn a all TLS ddisodli VPN.
Mae rhywun yn cynnig rhoi mewngofnod PostgreSQL i gwsmer fel bod hawliad treuliau yn teithio wedi’i amgryptio o’r dechrau i’r diwedd. Mae angen sesiwn SQL go iawn ar weinyddwr cronfa ddata, ac mae rhywun arall yn cynnig ffurflen we yn lle hynny. Mae’r ddau gynnig yn datrys y broblem anghywir, oherwydd ni ddechreuodd yr un ohonynt o’r llawdriniaeth y mae’r cleient yn ei chyflawni mewn gwirionedd. Ewch drwy’r tair penderfyniad mewn trefn ac mae’r cwestiwn ynghylch a all TLS ddisodli VPN yn ateb ei hun.
Dechreuwch o’r llawdriniaeth sydd ei hangen ar y cleient
Ysgrifennwch yr hyn y mae’n rhaid i’r cleient ei gyflawni. Mae cyflwyno hawliad, darllen un rhes o adroddiad a rhedeg ymholiad ar unwaith yn dair llawdriniaeth wahanol gyda thri phroffil risg gwahanol.
Yna ysgrifennwch pwy sy’n gwneud y cais. Nid yw cwsmer, asiant cymorth a gweinyddwr yn gyfnewidiol hyd yn oed pan fyddant yn cyffwrdd yr un tabl. Mae’r gwahaniaeth yn penderfynu faint o’r iaith ymholiadau y dylai’r cleient ei gweld o gwbl.
Mae’r pâr o atebion yn penderfynu’r rhyngwyneb. Mae popeth ar ôl hynny yn weithrediad, ac mae’r rhan fwyaf o ddadleuon am amgryptio mewn gwirionedd yn ddadleuon am ba ryngwyneb a ddewiswyd.
Tair rheolaeth, tair penderfyniad
Mae TLS dilysedig yn diogelu’r cysylltiad ac yn penderfynu pa hunaniaethau TLS a dderbynnir. Mae mynediad rhwydwaith yn penderfynu pa ffynonellau a all gyrraedd y gwrandawr o gwbl. Mae awdurdodiad cronfa ddata yn penderfynu pa wrthrychau a gweithredoedd y caiff rôl eu defnyddio.
Nid oes yr un o’r tair yn disodli’r lleill, ac mae’r tabl yn datgan hynny’n glir.
| Control | What it decides | What it leaves open |
|---|---|---|
| Authenticated TLS | Connection protection and which TLS identities are accepted | Which tables a database user may touch |
| Restricted network entry | Which sources reach the listener | Whether an authenticated user should run a given statement |
| Database authorization | Which objects and actions a role may use | Whether the connection arrived by an approved path |
Darllenwch y rhes rydych yn dibynnu arno cyn tynnu un arall. Mae’r rhan fwyaf o’r cynlluniau hyn yn methu oherwydd bod rheolaeth wedi’i chymryd yn ganiataol yn hytrach na’i chyflunio.
Mae SQL uniongyrchol yn cadw polisi’r gronfa ddata wrth y llyw
Gyda chysylltiad uniongyrchol wedi’i gymeradwyo, cadwch at wireddu hunaniaeth y gwasanaeth a’r polisi mynediad arfaethedig ill dau. Mae troi TLS ymlaen yn gwneud cysylltiadau amgryptiedig ar gael; nid yw’n gwrthod rhai heb amgryptio oni bai bod y ffurfweddiad mynediad yn dweud hynny drwy gofnodion hostssl.
Mae’r gwahaniaeth hwnnw’n werth ei wirio yn y ffurfweddiad sy’n rhedeg yn hytrach nag mewn templed. Nid yw gweinydd sy’n cynnig TLS ac yn derbyn testun plaen yr un cynllun ag y mae’r rhan fwyaf o bobl yn credu eu bod wedi’i ddefnyddio. Darllenwch y rheolau mynediad a gweld pa gofnodion sy’n ei gwneud yn ofynnol mewn gwirionedd. Mae’r un gwiriad hwnnw’n gwahanu gweinydd sy’n gallu amgryptio oddi wrth un sydd ond yn amgryptio.
Defnyddiwch rolau sydd â’r braint sydd ei hangen ar y gwaith yn unig, ac adolygwch berchnogaeth, aelodaeth etifeddol a chaniatadau a roddwyd yn eang. Y model braint PostgreSQL yw’r ffin awdurdod ar gyfer gwrthrychau cronfa ddata.
Gall VPN gyfyngu pa ddyfeisiau sy’n cyrraedd y gwasanaeth cyn i ddilysu’r gronfa ddata ddigwydd, a gall porth mynediad wneud rhywbeth tebyg. Nid yw’r un ohonynt yn dileu’r angen i gynnal y cydran agored, rheoli tystlythyrau a chyfyngu ar ddefnydd adnoddau.
Mae tystysgrifau cleient yn dystlythyreg, nid yn ACL
Gall tystysgrif cleient ychwanegu gofyniad ar adeg y cysylltiad. Gall y gosodiad clientcert fynnu tystysgrif ymddiriedol ac, yn y modd mwy llym, berthynas rhwng enw’r dystysgrif a defnyddiwr y gronfa ddata.
Mae hynny’n dystlythyreg gryfach. Nid rhestr awdurdodi mohoni, ac nid yw’n gwneud y gweinydd yn anweledig, oherwydd mae’r gydran sy’n derbyn y cysylltiad yn dal i brosesu traffig rhwydwaith ac ysgwyd llaw. Mae trin tystysgrif fel rhestr fynediad yn gadael y caniatadau go iawn yn gyfan. Mae hefyd yn tueddu i ehangu dosbarthiad tystysgrifau, sy’n creu’r broblem nesaf.
Mae tystysgrif gref ynghlwm wrth rôl â gormod o fraint yn cynhyrchu gweinyddwr wedi’i ddilysu’n dda. Gwiriwch y rôl cyn dathlu’r dystysgrif.
Dewiswch y rhyngwyneb culaf pan fydd yn addas
Ar gyfer hawliad treuliau, mae penbwynt cymhwysiad sy’n derbyn yr hawliad, yn gorfodi’r rheolau busnes ac yn dychwelyd canlyniad a ganiateir i’r defnyddiwr hwnnw yn cynrychioli’r llawdriniaeth yn well na chyfrif SQL cyffredinol.
Yna mae’r cymhwysiad yn defnyddio ei hunaniaeth gyfyngedig ei hun yn y gronfa ddata, ac nid yw’r cwsmer byth yn cael iaith ymholiadau fel nodwedd. Mae hynny’n arwyneb llai gyda llai o ffyrdd o fod yn anghywir.
Mae hwn yn opsiwn dylunio yn hytrach na honiad bod cod cymhwysiad yn fwy diogel yn awtomatig. Rhaid i’r cod hwnnw ddilysu ei alwyr, awdurdodi pob gweithred a gwirio ei fewnbwn, ac mae ei ganiatadau cronfa ddata ei hun yn dal i fod yn bwysig.
Mae SQL uniongyrchol yn parhau’n gywir i bobl ac offer y mae eu gwaith cymeradwy yn ei gwneud yn ofynnol. Cymhwyswch y cynllun hwnnw gyda rolau, cwmpas rhwydwaith a therfynau gweithredol, a gadewch i’r cleientiaid eraill gadw’r rhyngwyneb culach. Cymysgu’r ddau boblogaeth mewn un rôl yw’r man lle mae’r dadleuon yn dechrau.