Swydd wedi’i threfnu neu fewngofnodi dynol: pa hunaniaeth y dylai’r API ei gweld?
Mae swydd cron a pherson wrth anogwr mewngofnodi yn endidau gwahanol. Cymharwch lwybr y rhwydwaith, hunaniaeth y cymhwysiad a dirprwyaeth cyn awtomeiddio.
Mae swydd wedi’i threfnu a pherson wrth anogwr mewngofnodi yn galw’r un API â chredensialau gwahanol, oesau gwahanol a pherchnogion gwahanol. Mae ar y swydd angen llwybr rhwydwaith, hunaniaeth cymhwysiad a set o ganiatâd; mae ar y person angen mewngofnodi, ail ffactor a sesiwn. Mae cymysgu’r ddau yn cynhyrchu awtomeiddiad sy’n torri pryd bynnag y bydd cyfrinair y person yn newid, neu bolisi aml-ffactor wedi’i wanhau digon i gadw swydd cron yn fyw.
Tair porth sy’n edrych fel un
Mae rheol cyfeiriad ffynhonnell yn gofyn o ble y daeth y cais. Mae dilysu yn gofyn pwy sy’n galw a pha dystiolaeth a gyflwynwyd. Mae awdurdodi yn gofyn a all y prif gyfranog hwn gyflawni’r gweithrediad hwn. Dim ond y gyntaf o’r tair y mae VPN yn ei newid, ac mae’n ei newid ar gyfer pob proses ar y gwesteiwr yn hytrach nag ar gyfer y swydd yn unig, felly cadwch y tri sylw ar wahân yn y cofnod digwyddiad.
Dyna pam y gall newid y nod allanfa drwsio gwrthodiad cyfeiriad ffynhonnell a gadael tocyn annilys heb ei gyffwrdd. Dyna hefyd pam nad yw tocyn API dilys yn gwneud pwynt terfyn preifat yn gyrraeddadwy o swydd heb lwybr iddo.
Mae’r llwybr rhyngweithiol yn dempled awtomeiddio gwael
Mae sgriptio mewngofnodi person yn demtasiwn oherwydd ei fod yn gweithio unwaith. Mae’r sgript yn storio cyfrinair, efallai had cyfrinair un-tro, ac yna’n dibynnu ar her a gynlluniwyd i fod angen dyn. Mae’r arfer gorau diogelwch presennol ar gyfer OAuth, RFC 9700, yn gwahardd y grant resource-owner-password-credentials ac yn esbonio pam ei fod yn gweddu’n wael i ddilysu dau-ffactor a cham-brif.
Yr amgen a gefnogir fel arfer yw llif cleient cyfrinachol lle mae’r gweinydd awdurdodi yn dilysu’r cymhwysiad ac yn cyhoeddi tocyn. Mae’r grant client-credentials yn RFC 6749 adran 4.4 yn un enghraifft. Nid yw ei fodolaeth yn golygu bod pob API yn ei dderbyn, nac y gellir disodli tasg a ddirprwywyd gan ddefnyddiwr ag ef, oherwydd cwestiynau i berchennog y gwasanaeth yw’r rheini. Gofynnwch pa fodel heb oruchwyliaeth y mae’r gwasanaeth yn ei gefnogi cyn ysgrifennu unrhyw god.
Lle mae VPN yn dal i fod yn berthnasol
Gall VPN ddarparu’r llwybr rhwydwaith y mae API preifat yn ei angen, ac mae hynny’n rôl gyfreithlon. Nid yw’n dilysu’r swydd i’r cymhwysiad, ac nid yw’n diffinio’r hyn y caiff y swydd ei wneud. Mae cyfeiriad allanfa a rennir hefyd yn adnabod y gwesteiwr yn hytrach na’r swydd, felly mae cofnod rhestr ganiatáu ar gyfer y cyfeiriad hwnnw yn derbyn pob proses sy’n rhedeg arno.
Os yw’r swydd yn rhedeg ar redwr a rennir, mae’r gwahaniaeth hwnnw’n bwysicach yn hytrach na’n llai. Mae llif gwaith arall ar yr un gwesteiwr yn etifeddu’r llwybr a’r cyfeiriad, ac ni all yr API wahaniaethu rhwng y ddau. Yr un gwendid â chyfrinair a rennir yw hwn, wedi’i symud un haen i lawr. Rhowch y cyfyngiad lle y gall y cymhwysiad ei orfodi, ac ynyswch y redwr os na allwch gyfyngu’r rhestr ganiatáu yn dynnach.
Cymharwch y ddau ddyluniad yn onest
Mae mewngofnodi dynol yn rhoi person go iawn i chi, ail ffactor go iawn a sesiwn y gellir ei harchwilio, ac ni all redeg heb oruchwyliaeth. Mae hunaniaeth cymhwysiad yn rhoi gweithredu heb oruchwyliaeth i chi, cwmpas adolygadwy a chredensial y gallwch ei gylchdroi, ac ni all weithredu ar ran defnyddiwr nad yw wedi dirprwyo unrhyw beth. Nid yw’r naill yn fersiwn wannach o’r llall; maent yn ateb cwestiynau gwahanol. Dewiswch drwy ofyn a oes rhaid i’r dasg redeg heb neb yn bresennol, ac a oes rhaid priodoli’r gweithrediad i ddefnyddiwr penodol.
Os yw’r ddau ateb yn ie, mae angen model dirprwyo ar y dyluniad yn hytrach na chyfrinair benthyg. Ysgrifennwch y penderfyniad hwnnw lle y bydd y cynrychiolydd nesaf yn dod o hyd iddo.
Beth i’w wirio cyn trosglwyddo
Rhedwch un gweithrediad a ganiatawyd ac un gwadiad gofynnol o’r gweithiwr go iawn, a chadwch y ddau ganlyniad. Yna profwch gredensial wedi dod i ben a’r ymddygiad pan nad yw’r llwybr rhwydwaith ar gael, oherwydd y rheini yw’r ddau fethiant sy’n deffro rhywun yn y nos.
curl -sS -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer TOKEN" https://api.example.com/v1/records
Cofnodwch y prif gyfranog, y cwmpas, perchennog y cylchdroi a’r amgylchedd gweithredu wrth ymyl y canlyniad hwnnw. Y cofnod hwnnw sy’n gwneud y cylchdroi nesaf yn drefn arferol yn hytrach nag yn ddigwyddiad. Ef hefyd yw’r rhan y mae archwilydd yn gofyn amdani.