Spreminjanje enega klika v začasno pravilo požarnega zidu je priročno, hkrati pa zgradi sistem avtorizacije, ki odloča, kdo lahko doseže storitev. Izdaja naslov in ne osebo, ta razlika pa je pomembna v trenutku, ko si dve osebi delita en NAT. Omejite obseg dovoljenja, zavestno ga potrdite in poteku dajte pomen, preden se povezava zgradi. Odločitev pred vami je, kam postaviti mejo, ne ali naj ta sploh obstaja.

Odločite, na katero vprašanje dovoljenje odgovarja

Začnite pri zahtevi. Če mora imenovana oseba doseči storitev in jo aplikacija že overi, overjena prehodna točka ohrani identiteto na mestu izvajanja in sploh ne potrebuje spustitve naslova. Če je cilj gradbeni agent, skočna vrata za skrbništvo ali naprava, ki ne more sodelovati pri prijavi uporabnika, je dovoljenje naslova z omejenim obsegom morda edini praktični nadzor.

Izbira spustitve po naslovu za aplikacijo, obrnjeno k uporabnikom, premakne resnični problem avtorizacije drugam, portal pa nato podeduje krivdo za vrzel, ki je ni nikoli zaprl.

Omejite zahtevo na strežniku

Brskalnik ne sme izbrati cilja, vrat ali predpone. Portal razreši storitev iz svojih evidenc in pravico preveri s preskusom na strežniški strani, kar je isto načelo, ki ga smernice OWASP za avtorizacijo uporabljajo pri vsaki zahtevi. Tudi izpeljava naslova spada na zaščiteno mejo: ko obratni posrednik sporoči naslov odjemalca, sprejmite le nastavljeno verigo posrednikov in njeno dokumentirano ravnanje z glavami. Glava posredovanja, ki jo priloži obiskovalec, je trditev o izvoru, ne dokaz zanj.

Nato preverite, ali portal in storitev vidita isti vir. Razdeljen tunel, en skok posrednika in IPv4 proti IPv6 lahko dvema ciljema data dva različna naslova, zato dovoljenje, aktivirano po eni poti, morda ne pokrije naslednje zahteve.

Pokažite dovoljenje, preden ga namestite

Odpiranje povezave bi moralo prikazati predlagano storitev, opaženi vir in trajanje, in še ne spremeniti ničesar. Ta en sam korak spremeni povezavo iz e-pošte iz dejanja v predlog in prepreči botu za predogled ali poštnemu skenerju, da bi odobril dostop samo s tem, ko jo pridobi.

Potrditev bi morala biti zahteva, ki spremeni stanje, z običajnimi zaščitami pred medspletnimi napadi in izvorom. Žeton bi moral biti enkraten in se atomsko porabiti v trenutku namestitve pravila, zapis pa bi moral zajeti lastnika, storitev, naslov, identifikator dovoljenja in potek, ne da bi kdaj zabeležil surov žeton.

Dostava žetona si zasluži enako skrbnost kot pravilo samo. Potekla ali že porabljena povezava, ki še vedno ustvari pravilo, so druga vrata z isto ključavnico.

Naslov si delimo tudi, ko dovoljenje živi

Pisarniški NAT, operaterjev NAT in skupni izhod VPN vsak postavi več ljudi za en naslov. Spustitev tega naslova spusti vse za njim — kar zadeva naslednjo mejo storitve —, pri tem pa ne dokaže ničesar o tem, kdo ima račun, ki ga storitev pričakuje.

Tudi odstranitev pravila ni univerzalna prekinitev. Vzpostavljene povezave, predpomnjeni žetoni aplikacij in dolgotrajne seje lahko pravilo preživijo za minute ali veliko dlje, zato bi morala izbrana življenjska doba odražati, kaj storitev počne po spustitvi, in ne le, kako dolgo pravilo obstaja.

Preizkusite štiri primere in obe družini naslovov

Dovoljenje je vredno toliko, kolikor zdrži štiri primere: nova dovoljena zahteva, neodobren prosilec, ponovitev iste povezave in ista zahteva po poteku.

Nato preizkusite vsako družino posebej, ker se naslov vira, ki ga storitev opaža, lahko med njima razlikuje.

dig +short A service.example.com
dig +short AAAA service.example.com
curl -4 -sS -o /dev/null -w "%{http_code}\n" https://service.example.com
curl -6 -sS -o /dev/null -w "%{http_code}\n" https://service.example.com

Koristen izid je začasna, revidirljiva odločitev o spustitvi pod običajno uporabniško avtorizacijo, ne pa trajna odprtina z imenom tistega, ki je kliknil prvi.

Sorodni članki