Приватно усмеравање одлучује ко стиже до сервера; транспортна правила OAuth-а одлучују како путује свака порука. Прегледач, сервер ауторизације, крајња тачка токена и сервер ресурса могу сви стајати иза истог VPN-а и ипак размењивати поруке кроз различите сегменте. Сваки сегмент има свој транспортни захтев, и VPN ниједан од њих не ублажава. Граница VPN-а и граница протокола су две различите линије.

Одлука је лакша ако престанете да питате да ли је мрежа поуздана и почнете да питате која размена прелази коју границу.

Одлучите по сегменту, а не по мрежи

Запишите крајње тачке одвојено: крајња тачка ауторизације, крајња тачка токена, URI преусмеравања, URL сервера ресурса, тачка завршетка TLS-а и VPN пролаз. Затим означите која страна започиње сваки захтев и куда иде одговор.

VPN који се завршава на пролазу шифрује сегмент до тог пролаза. Захтев може да се настави као обичан HTTP иза њега, а тај преостали сегмент није постао HTTPS зато што је ранији сегмент био шифрован. Управо то настављање је сегмент који је важан протоколу. Шифровање првог скока не чини други скок безбедним.

Транспорт носи и проверу идентитета услуге. Прегледач проверава сертификат за URL апликације; VPN не обавља ту проверу у име прегледача и не чини непроверену крајњу тачку прихватљивом. Сертификат именује крајњу тачку за коју клијент мисли да је позива. Тунел до пролаза не преименује ту крајњу тачку и не проверава је.

Одговор ауторизације и URI преусмеравања

Тренутна најбоља безбедносна пракса OAuth-а забрањује преношење одговора ауторизације преко нешифрованих веза. То обухвата преусмеравање које носи код ауторизације или токене назад клијенту, а не само почетни захтев.

Исте смернице не дозвољавају HTTP URI преусмеравања, осим наведеног случаја loopback-а за нативне клијенте. Интерно име домаћинства не ствара нови изузетак, а DNS име које се разрешава само унутар VPN-а је и даље HTTP URL ако шема тако каже. Проверите шему у регистрованом URI-ју, не само име домаћинства.

Региструјте тачан HTTPS URI преусмеравања код сервера ауторизације и држите проверу сертификата укључену на клијенту. Развојна пречица која потискује захтев за HTTPS ствара ток који се понаша другачије од продукционе конфигурације коју би требало да моделује.

Крајња тачка токена и захтеви са носећим токеном

Захтев за токен носи акредитиве или код који се може заменити за приступ. Његово слање преко незаштићеног сегмента излаже материјал коме ће сервер ресурса касније веровати, чак и ако је околна мрежа приватна. Прокси који може да прочита захтев може да прочита и акредитиве које он носи.

За захтеве за ресурсима са носећим токеном RFC 6750 сматра TLS обавезним за имплементацију и употребу у тој спецификацији. Називати канцеларијску подмрежу поузданом није општи протоколни изузетак који је потребан распоређивању са носећим токенима у отвореном тексту.

Користите документоване безбедне URL-ове крајњих тачака за оба сегмента. Ако библиотека одбија да позове HTTP крајњу тачку токена, то одбијање је спецификација која ради, а не конфигурацијска грешка коју треба заобићи. Запишите тај URL у конфигурацију клијента уместо да га изводите у време извршавања.

Где се TLS завршава и шта то оставља

Ако се TLS завршава на овлашћеном фронтенду, именујте тај фронтенд и прегледајте путању од њега до апликације. Фронтенд постаје одговоран за прослеђивање, поверење и поверљивост на преосталом сегменту, и подржана архитектура услуге би требало да опише тај распоред.

VPN на другом месту на путањи не решава те одговорности. Такође вам не каже да ли URL апликације који прегледач види одговара сертификату који фронтенд представља.

За интерно распоређивање забележите тачку завршетка и идентитет који представља. Фронтенд који завршава TLS сертификатом за друго име ствара упозорење прегледача које оператери често потискују уместо да га поправе.

Изузетак за нативни loopback је узак

Изузетак за loopback преусмеравање односи се на повратни позив на корисниковом сопственом уређају, где клијент и прегледач деле тај уређај. Тај распоред припада повратном позиву на једном уређају и не даје право да се служи обичан сервер ауторизације или API који носи токене преко HTTP канцеларијској подмрежи.

Држите изузетак ограничен на тип клијента и повратни позив који описује. Његова примена на веб апликацију, заједничку интерну услугу или URI преусмеравања на другом домаћину мења распоређивање, а не изузетак.

Тестирајте стварни ток на свакој граници и упоредите га са типом клијента. Преусмеравање које ради не говори ништа о томе да ли је сваки сегмент који је носио токен користио потребну заштиту, а зелена икона VPN-а не говори ништа о шеми следећег захтева.

Повезани чланци