Zasebno usmerjanje odloča, kdo doseže strežnik; pravila prenosa OAuth odločajo, kako potuje vsako sporočilo. Brskalnik, strežnik za avtorizacijo, končna točka žetona in strežnik virov so lahko vsi za isto VPN in kljub temu izmenjujejo sporočila po različnih odsekih. Vsak odsek ima svojo zahtevo glede prenosa in VPN ne omili nobene od njih. Meja VPN in meja protokola sta dve različni črti.

Odločitev je lažja, če se nehate spraševati, ali je omrežje zaupanja vredno, in se začnete spraševati, katera izmenjava prečka katero mejo.

Odločite se po odseku, ne po omrežju

Zapišite končne točke ločeno: končna točka avtorizacije, končna točka žetona, URI preusmeritve, URL strežnika virov, točka zaključka TLS in prehod VPN. Nato označite, katera stran začne vsako zahtevo in kam gre odgovor.

VPN, ki se konča na prehodu, šifrira segment do tega prehoda. Zahteva se lahko za njim nadaljuje kot navaden HTTP in ta preostali odsek ni postal HTTPS zato, ker je bil prejšnji segment šifriran. Prav to nadaljevanje je odsek, ki je pomemben protokolu. Šifriranje prvega skoka ne naredi drugega skoka varnega.

Prenos nosi tudi preverjanje identitete storitve. Brskalnik preveri potrdilo za URL aplikacije; VPN tega preverjanja ne izvede v imenu brskalnika in ne naredi nepreverjene končne točke sprejemljive. Potrdilo poimenuje končno točko, za katero odjemalec meni, da jo kliče. Tunel do prehoda te končne točke ne preimenuje in je ne preveri.

Odgovor avtorizacije in URI preusmeritve

Trenutna najboljša varnostna praksa OAuth prepoveduje prenašanje odgovorov avtorizacije po nešifriranih povezavah. To vključuje preusmeritev, ki prinese kodo avtorizacije ali žetone nazaj odjemalcu, ne le začetne zahteve.

Iste smernice ne dovoljujejo URI preusmeritve HTTP, razen navedenega primera loopback za izvorne odjemalce. Notranje ime gostitelja ne ustvari nove izjeme, ime DNS, ki se razrešuje samo znotraj VPN, pa je še vedno URL HTTP, če shema tako pravi. Preverite shemo v registriranem URI, ne le imena gostitelja.

Registrirajte natančen URI preusmeritve HTTPS pri strežniku za avtorizacijo in pustite preverjanje potrdil vklopljeno v odjemalcu. Razvojna bližnjica, ki zatira zahtevo HTTPS, ustvari tok, ki se obnaša drugače od produkcijske konfiguracije, ki naj bi jo modelirala.

Končna točka žetona in zahteve z nosilnim žetonom

Zahteva za žeton nosi poverilnice ali kodo, ki jo je mogoče zamenjati za dostop. Če jo pošljete po nezaščitenem odseku, izpostavite gradivo, ki mu bo strežnik virov pozneje zaupal, tudi če je okoliško omrežje zasebno. Posrednik, ki lahko prebere zahtevo, lahko prebere tudi poverilnice, ki jih nosi.

Za zahteve do virov z nosilnim žetonom RFC 6750 šteje TLS za obveznega za izvedbo in uporabo v tej specifikaciji. Imenovati pisarniško podomrežje zaupanja vredno ni splošna izjema protokola, ki jo potrebuje uvajanje z nosilnimi žetoni v čistem besedilu.

Za oba odseka uporabite dokumentirane varne URL končnih točk. Če knjižnica noče klicati končne točke žetona po HTTP, je ta zavrnitev specifikacija, ki deluje, ne konfiguracijska napaka, ki bi jo bilo treba obiti. Zapišite ta URL v konfiguracijo odjemalca, namesto da bi ga izpeljali med izvajanjem.

Kje se TLS konča in kaj to pusti

Če se TLS konča na pooblaščenem sprednjem delu, poimenujte ta sprednji del in pregledajte pot od njega do aplikacije. Sprednji del postane odgovoren za posredovanje, zaupanje in zaupnost na preostalem segmentu, podprta arhitektura storitve pa bi morala opisati to ureditev.

VPN drugje na poti teh odgovornosti ne reši. Prav tako vam ne pove, ali URL aplikacije, ki ga vidi brskalnik, ustreza potrdilu, ki ga predstavi sprednji del.

Za notranjo uvedbo zabeležite točko zaključka in identiteto, ki jo predstavi. Sprednji del, ki zaključi TLS s potrdilom za drugo ime, ustvari opozorilo brskalnika, ki ga upravljavci pogosto zatrejo, namesto da bi ga popravili.

Izjema za izvorni loopback je ozka

Izjema preusmeritve loopback se nanaša na povratni klic na uporabnikovi lastni napravi, kjer si odjemalec in brskalnik delita to napravo. Ta ureditev pripada povratnemu klicu na eni napravi in ne dovoljuje strežbe običajnega strežnika za avtorizacijo ali API-ja z žetoni po HTTP pisarniškemu podomrežju.

Držite izjemo omejeno na vrsto odjemalca in povratni klic, ki ga opisuje. Njena uporaba za spletno aplikacijo, skupno notranjo storitev ali URI preusmeritve na drugem gostitelju spremeni uvedbo, ne izjeme.

Preizkusite dejanski tok na vsaki meji in ga primerjajte z vrsto odjemalca. Delujoča preusmeritev ne pove nič o tem, ali je vsak odsek, ki je nosil žeton, uporabil zahtevano zaščito, zelena ikona VPN pa ne pove nič o shemi naslednje zahteve.

Sorodni članki