Å gjere eitt klikk om til ein mellombels brannmurregel er praktisk, og det byggjer samstundes eit autorisasjonssystem som avgjer kven som kan nå ei teneste. Det gjev ut ei adresse i staden for ein person, og den skilnaden tel i det augneblinken to personar deler éin NAT. Avgrens tillatinga, stadfest ho medvite, og gje utløpet ei meining før lenkja blir bygd. Avgjerda framfor deg er kvar grensa skal liggje, ikkje om det bør finnast ei.

Avgjer kva spørsmål tillatinga svarar på

Start med kravet. Viss ein namngjeven person må nå tenesta og applikasjonen alt autentiserer den personen, held ein autentisert gateway identiteten ved handhevingspunktet og treng ikkje noka adressetillating i det heile. Viss målet er ein byggjeagent, ein administrativ hoppeport eller eining som ikkje kan delta i brukarinnlogging, kan ei avgrensa adressetillating vere den einaste praktiske kontrollen som finst.

Å velje adressetillating for ein brukarretta applikasjon flyttar det eigentlege autorisasjonsproblemet ein annan stad, og då arvar portalen skulda for eit hol han aldri lukka.

Avgrens førespurnaden på tenaren

Nettlesaren skal ikkje velje destinasjonen, porten eller prefikset. Portalen slår opp tenesta frå eigne register og kontrollerer retten med ein test på tenarsida, som er det same prinsippet som OWASP si rettleiing for autorisasjon nyttar på kvar førespurnad. Utleiding av adressa høyrer også til ved den verna grensa: når ein omvend proxy rapporterer klientadressa, godta berre den konfigurerte proxykjeda og den dokumenterte handsaminga hennar av headarar. Ein vidaresendingsheadar som ein besøkjande legg fram, er ein påstand om opphav, ikkje eit prov for det.

Kontroller deretter at portalen og tenesta ser same kjelde. Delt tunnellering, eitt proxysprang og IPv4 mot IPv6 kan gje to destinasjonar to ulike adresser, så ei tillating aktivert via éin veg dekkjer kanskje ikkje den neste førespurnaden.

Vis tillatinga før ho blir installert

Å opne ei lenkje bør vise den føreslåtte tenesta, den observerte kjelda og varigheita, og enno ikkje endre noko. Det eine trinnet gjer lenkja frå e-posten frå ei handling til eit framlegg, og det hindrar ein førehandsvising-bot eller ein e-postskannar i å gje tilgang berre ved å hente ho.

Stadfestinga bør vere ein tilstandsendrande førespurnad med dei vanlege forsvara mot kryssnettstader og opphav. Tokenet bør vere eingongs og bli brukt atomisk i det augneblinken regelen blir installert, og posten bør fange eigar, teneste, adresse, tillatingsidentifikator og utløp utan nokon gong å logge det rå tokenet.

Levering av tokenet fortener same omhug som regelen sjølv. Ei utgått eller alt brukt lenkje som framleis lagar ein regel, er ei andre dør montert med den same nøkkelen.

Adressa blir delt sjølv medan tillatinga lever

Kontor-NAT, leverandør-NAT og ein delt VPN-utgang set kvar fleire personar bak éi adresse. Å tillate den adressa tillèt alle bak ho — så langt den neste grensa til tenesta gjeld —, medan det ikkje provar noko om kven som har kontoen tenesta ventar.

Å fjerne regelen er heller ikkje ein universell fråkopling. Etablerte samband, bufra applikasjonstoken og langliva sesjonar kan overleve regelen i minutt eller langt lenger, så levetida du vel bør spegle kva tenesta gjer etter tilgangen, ikkje berre kor lenge regelen finst.

Test fire tilfelle, og begge adressefamiliane

Ei tillating er berre så god som dei fire tilfella ho overlever: ein ny tillaten førespurnad, ein ikkje-godkjend førespurnad, ei attspeling av den same lenkja og den same førespurnaden etter utløp.

Test deretter kvar familie for seg, fordi kjeldeadressa tenesta observerer kan variere mellom dei.

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

Det nyttige resultatet er ei mellombels, reviderbar tilgangsavgjerd under normal brukarautorisasjon, ikkje ei permanent opning som ber namnet til den som klikka først.

Relaterte artiklar