Il-paġni pubbliċi tas-SaaS jistgħu jibqgħu miftuħa għal kulħadd filwaqt li l-operazzjonijiet amministrattivi warajhom jirrifjutaw lil kull min hu barra mill-VPN. Il-mekkaniżmu li jagħmel dan possibbli mhuwiex menu moħbi jew paġna tal-login separata; hija verifika tal-passaġġ tan-netwerk li wassal it-talba. Jekk l-evidenza tal-indirizz tkun ħażina, il-verifika jew tissakkar amministraturi veri barra jew tammetti lil kull min jaf jikteb header. Ibda b’dak li l-oriġini fil-fatt tirċievi.

X’jirċievi l-oriġini fil-fatt wara t-tunnel

Meta browser jilħaq is-sit pubbliku permezz ta’ VPN li jġorr ukoll traffiku tal-internet, il-gateway jittraduċi l-konnessjoni qabel ma toħroġ. Is-SaaS jara l-indirizz tal-ħruġ pubbliku tal-gateway, tipikament indirizz wieħed jew firxa żgħira, u qatt ma jara l-indirizz tat-tunnel tal-laptop. Għalhekk iż-żieda ta’ 10.90.0.42 mal-lista permessa tfalli, u għalhekk iż-żieda tar-RFC 1918 kollu tfalli saħansitra aktar qawwija: it-tieni tammetti kull netwerk privat li jista’ jilħaqlek. L-uniku indirizz li jistħoqqlu kundizzjoni huwa dak li l-organizzazzjoni tiegħek fil-fatt tippossjedi fil-ħruġ.

curl -s https://ifconfig.me
dig +short admin.example.com

It-tunneling maqsum ikisser din is-suppożizzjoni bil-kwiet. Jekk il-VPN iġorr biss rotot privati tal-uffiċċju, it-talba lejn l-isem tal-host amministrattiv pubbliku toħroġ mill-fornitur lokali u l-oriġini tara indirizz residenzjali. Ikona tal-VPN konnessa ma tipprova xejn dwar din id-destinazzjoni partikolari, għalhekk iċċekkja d-destinazzjoni, mhux it-tunnel.

Waqqaf u sewwi r-rotot qabel ma tikteb xi politika jekk l-indirizz tal-ħruġ ivarja skont l-utent. Kundizzjoni li taqbel ma’ xi amministraturi biss hija agħar minn ebda kundizzjoni, għax taħbi l-problema sa inċident.

Afda biss fil-proxy li jerġa’ jikteb l-indirizz

Il-biċċa l-kbira tas-siti pubbliċi jinsabu wara CDN jew proxy invers, għalhekk l-indirizz tas-socket tal-oriġini jappartjeni lil dak il-frontend u mhux lill-viżitatur. Il-frontend normalment jgħaddi l-indirizz oriġinali fi header, u dak il-header huwa kkontrollat minn attakkant sakemm l-oriġini ma taċċettahx biss minn proxies magħrufa. Ikkonfigura l-lista tas-sorsi fdati b’mod espliċitu u agħmel l-oriġini mhux aċċessibbli minn kullimkien ieħor. Mingħajr dik it-tieni nofs, attakkant jaqbeż il-proxy u jibgħat il-header direttament.

set_real_ip_from 192.0.2.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
curl -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin

L-istess raġunament japplika għall-protokoll PROXY: huwa affidabbli biss meta s-semmiegħ ikun marbut ma’ interface li l-proxy jista’ jilħaq u ħadd ieħor ma jista’. Il-kuntest tal-indirizz neqsin għandu jfalli l-verifika protetta minflok ma jaqa’ għall-permess awtomatiku. Header li ma jkunx hemm mhuwiex prova ta’ passaġġ fdat.

Irbot il-kundizzjoni ma’ kull operazzjoni protetta

Qiegħed il-verifika fil-konfini tal-awtorizzazzjoni li tgħaddi minnha kull operazzjoni protetta, mhux fil-paġna li tirrendi l-menu. Gruppi tar-rotot, middleware jew saff tal-politika kollha jaħdmu; kopja għal kull handler le, għax il-handler li xi ħadd iżid fit-trimestru li jmiss mhux se jkolluha.

user = requireAuthenticatedSession()
requirePermission(user, "admin")
requireVpnEgress(verifiedClientAddress(request))
performProtectedOperation(user, request)

L-istess konfini għandu jkopri l-JSON API, l-esportazzjonijiet, l-URLs tat-tniżżil iffirmati u l-handshake tal-WebSocket, peress li ebda wieħed minnhom ma jeħtieġ li l-paġna HTML tintalab l-ewwel. Link tat-tniżżil maħluq waqt li l-VPN kien attiv jibqa’ validu wara sakemm l-endpoint tat-tniżżil ma jerġax jiċċekkja. Is-sessjonijiet fit-tul jeħtieġu wkoll regola ta’ evalwazzjoni mill-ġdid, inkella talba waħda awtentikata ssir eżenzjoni permanenti. Ir-rifjut awtomatiku huwa l-unika setting li tibqa’ ħajja meta jinbidlu l-impjegati.

Il-caches kondiviżi huma t-triq l-oħra madwar il-verifika. Cache li diġà jżomm tweġiba protetta jista’ jaqdiha mingħajr ma jikkuntattja l-oriġini, għalhekk immarka t-tweġibiet amministrattivi bħala privati u żommhom barra mill-ħażna kondiviża. Jekk cache irid jaqdi dawn, il-verifika tal-aċċess għandha taħdem qabel il-qadi, li normalment ifisser li ma jistax ikun cache kondiviż affattu.

Ittestja l-bypasses li għadek kemm għalaqt

Ipprattika l-matriċi mhux il-passaġġ felici: amministratur mill-VPN, l-istess amministratur mingħajru, mhux amministratur minnu, u header tal-indirizz iffalsifikat. Żid talba diretta lejn l-oriġini u talba b’tweġiba fil-cache, għax dawk it-tnejn jaqbżu l-frontend kompletament.

curl -sI https://admin.example.com/export.csv
curl -s -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin
curl -s https://admin.example.com/api/me -o /dev/null -w '%{http_code}\n'

Kull talba għandha tirritorna l-istat li tipprometti l-politika, u l-log għandu jirreġistra liema evidenza tal-indirizz intużat. Kopri IPv6 separatament, għax oriġini b’doppju stack tista’ tara familja tas-sors differenti minn dik li ttestjajt. Żomm l-operazzjonijiet ordinarji tal-klijenti jaħdmu barra mill-VPN, inkella l-bidla tiġi rrevertita l-ewwel darba li klijent jilmenta. Ikteb ir-riżultat mistenni għal kull ringiela qabel ma tmexxiha, sabiex pass sorprendenti jkun viżibbli.

L-indirizz tal-ħruġ jipprova passaġġ tan-netwerk permess, mhux persuna u mhux apparat ġestit. Żommu bħala kundizzjoni waħda ħdejn l-awtentikazzjoni u l-permess, u ż-żona tal-amministrazzjoni tibqa’ dejqa mingħajr ma l-prodott kollu jsir servizz tal-VPN biss. Dik is-separazzjoni hija d-disinn, mhux limitazzjoni tiegħu.

Artikli relatati