OAuth yn in VPN: hokker stadia noch TLS freegje
In VPN feroaret wa't in tsjinner berikt, net hoe't OAuth-berjochten reizgje. Beslis per stadium: autorisaasjereaksje, tokenfersyk en bearer-oprop.
Partikuliere routing beslist wa't de tsjinner berikt; de transportregels fan OAuth beslisse hoe't elk berjocht reizget. In browser, in autorisaasjetsjinner, in token-einpunt en in boarnetsjinner kinne allegear efter deselde VPN sitte en dochs berjochten útwikselje oer ferskate stadia. Elk stadium hat syn eigen transporteas, en de VPN fersoepet gjinien dêrfan. De VPN-grins en de protokolgrins binne twa ferskate linen.
De beslissing is makliker as jo ophâlde te freegjen oft it netwurk fertroud is en begjinne te freegjen hokker útwikseling hokker grins oerstekt.
Beslis per stadium, net per netwurk
Skriuw de einpunten apart op: autorisaasje-einpunt, token-einpunt, trochstjoer-URI, URL fan de boarnetsjinner, TLS-einpunt en VPN-gateway. Markearje dan hokker partij elk fersyk begjint en wêr't it antwurd hinne giet.
In VPN dy't by in gateway einiget, fersiferet it segmint oant dy gateway. It fersyk kin dêrefter as gewoane HTTP trochgean, en dat oerbleaune stadium is net HTTPS wurden om't in earder segmint fersifere waard. Krekt dy fuortsetting is it stadium dêr't it protokol om jout. De earste sprong fersiferje makket de twadde sprong net feilich.
It transport draacht ek in tsjinstidentiteitskontrôle. De browser falidearret it sertifikaat foar de URL fan 'e applikaasje; in VPN docht dy falidaasje net yn namme fan 'e browser, en it makket in net-falidearre einpunt net akseptabel. It sertifikaat neamt it einpunt dat de kliïnt tinkt dat er opropt. In tunnel nei in gateway neamt dat einpunt net oars en falidearret it net.
De autorisaasjereaksje en de trochstjoer-URI
De hjoeddeiske bêste befeiligingspraktik fan OAuth ferbiedt it ferstjoeren fan autorisaasjereaksjes oer net-fersifere ferbiningen. Dat omfettet it trochstjoeren dat de autorisaasjekoadaasje of tokens werom nei de kliïnt bringt, net allinnich it earste fersyk.
Dyselde lieding ferbiedt HTTP-trochstjoer-URI's, útsein it oantsjutte loopback-gefal foar native kliïnten. In yntern hostnamme skept gjin nije útsûndering, en in DNS-namme dy't allinnich binnen de VPN oplost is noch altyd in HTTP-URL as it skema dat seit. Kontrolearje it skema yn 'e registrearre URI, net allinnich de hostnamme.
Registrearje de krekte HTTPS-trochstjoer-URI by de autorisaasjetsjinner en hâld sertifikaatfalidaasje oan op 'e kliïnt. In ûntwikkelingsflugwei dy't de HTTPS-eas ûnderdrukt, produsearret in stream dy't oars gedraacht as de produksjekonfiguraasje dy't er modellearje moat.
It token-einpunt en fersiken mei bearer-token
It tokenfersyk draacht bewiisstikken of in koade dy't foar tagong útwiksele wurde kin. It oer in ûnbeskerme stadium stjoere leit materiaal bleat dêr't de boarnetsjinner letter op fertrouwe sil, sels as it omlizzende netwurk partikulier is. In proxy dy't it fersyk lêze kin, kin ek it bewiisstik lêze dat it draacht.
Foar boarnefersiken mei bearer-token beskôget RFC 6750 TLS as ferplicht om te ymplementearjen en te brûken foar dy spesifikaasje. It kantoar-subnet fertroud neame is net de algemiene protokolútsûndering dy't in bearer-ymplemintaasje yn iepen tekst nedich hat.
Brûk de dokumintearre feilige einpunt-URL's foar beide stadia. As in biblioteek wegert in HTTP-token-einpunt op te roppen, dan is dy wegering de spesifikaasje dy't wurket, net in konfiguraasjeflake om te mijen. Skriuw dy URL yn 'e kliïntkonfiguraasje ynstee fan him by runtime ôf te lieden.
Wêr't TLS einiget en wat dat efterlit
As TLS by in autorisearre frontend einiget, neam dan dy frontend en besjoch it paad fan dêr nei de applikaasje. De frontend wurdt ferantwurdlik foar trochstjoeren, fertrouwen en fertroulikheid op it oerbleaune segmint, en de stipe arsjitektuer fan 'e tsjinst heart dy regeling te beskriuwen.
In VPN earne oars op it paad besljochtet dy ferantwurdlikheden net. It fertelt jo ek net oft de applikaasje-URL dy't de browser sjocht oerienkomt mei it sertifikaat dat de frontend presintearret.
Foar in ynterne ymplemintaasje, registrearje it einpunt en de identiteit dy't it presintearret. In frontend dy't TLS einiget mei in sertifikaat foar in oare namme skept in browserwarskôging dy't operators faak ûnderdrukke ynstee fan te reparearjen.
De útsûndering foar native loopback is smel
De loopback-trochstjoerútsûndering giet oer in weromrop op it eigen apparaat fan 'e brûker, wêr't de kliïnt en de browser dat apparaat diele. Dy regeling heart by in weromrop op ien apparaat, en it jout gjin lisinsje om in gewoane autorisaasjetsjinner of in API mei tokens oer HTTP oan in kantoar-subnet te tsjinjen.
Hâld de útsûndering beheind ta it kliïnttype en de weromrop dy't it beskriuwt. It tapasse op in webapplikaasje, in dielde ynterne tsjinst of in trochstjoer-URI op in oare host feroaret de ymplemintaasje, net de útsûndering.
Test de werklike stream by elke grins en ferlykje him mei it kliïnttype. In wurkjende trochstjoering seit neat oer oft elk stadium dat in token droech de easke beskerming brûkte, en in grien VPN-ikoan seit neat oer it skema fan it folgjende fersyk.