Ajutised IP-lubatavate loendite lingid: mida luba tegelikult lubab
Tulemüüri pordi avav link lubab aadressi, mitte inimest. Määrake ulatus, nõudke teadlikku kinnitust ning testige kordamist, aegumist ja IPv6-t.
Ühe klõpsu muutmine ajutiseks tulemüürireegliks on mugav ja see loob ka autoriseerimissüsteemi, mis otsustab, kes tohib teenusele jõuda. See väljastab aadressi, mitte inimest, ja see erinevus loeb hetkel, mil kaks inimest jagavad üht NAT-i. Piirake loa ulatust, kinnitage see teadlikult ja andke aegumisele tähendus enne, kui link luuakse. Teie ees olev otsus on, kuhu piir panna, mitte kas see peaks üldse olemas olema.
Otsustage, millele luba vastab
Alustage nõudest. Kui nimetatud inimene peab teenusele jõudma ja rakendus autendib selle inimese juba, hoiab autenditud lüüs identiteedi jõustamispunktis ega vaja üldse aadressi lubamist. Kui sihtmärk on ehitustagent, halduslik hüppepordi või seade, mis ei saa kasutaja sisselogimises osaleda, võib piiratud ulatusega aadressiluba olla ainus praktiline kontroll.
Aadressilubamise valimine kasutajale suunatud rakendusele viib tõelise autoriseerimisprobleemi mujale ja portaal pärib siis süü lünka eest, mida see kunagi ei sulgenud.
Piirake päring serveris
Brauser ei tohi valida sihtkohta, porti ega eesliidet. Portaal tuletab teenuse oma kirjetest ja kontrollib õigust serveripoolse testiga, mis on sama põhimõte, mida OWASPi autoriseerimisjuhend rakendab igale päringule. Ka aadressi tuletamine kuulub kaitstud piiri juurde: kui pöördpuhverserver teatab kliendi aadressi, aktsepteerige ainult konfigureeritud puhverserverite ahelat ja selle dokumenteeritud päiste käsitlemist. Külastaja esitatud edastuspäis on väide päritolu kohta, mitte selle tõestus.
Seejärel kontrollige, et portaal ja teenus näevad sama allikat. Jagatud tunnel, üks puhverserveri hüpe ja IPv4 versus IPv6 võivad anda kahele sihtkohale kaks erinevat aadressi, nii et ühe tee kaudu aktiveeritud luba ei pruugi järgmist päringut katta.
Näidake luba enne selle paigaldamist
Lingi avamine peaks näitama pakutavat teenust, vaadeldud allikat ja kestust ning veel mitte midagi muutma. See üks samm muudab e-kirjaga saadetud lingi tegevusest ettepanekuks ja takistab eelvaatebotil või postiskanneril anda juurdepääsu lihtsalt selle toomisega.
Kinnitus peaks olema olekut muutev päring tavapäraste ristsaidi- ja päritolukaitsega. Luba peaks olema ühekordne ja tarbitama aatomiliselt hetkel, mil reegel paigaldatakse, ning kirje peaks jäädvustama omaniku, teenuse, aadressi, loa identifikaatori ja aegumise, ilma et toorest luba kunagi logitaks.
Loa kohaletoimetamine väärib sama hoolt nagu reegel ise. Aegunud või juba tarbitud link, mis ikka veel tekitab reegli, on teine uks, mis on paigaldatud sama võtmega.
Aadressi jagatakse ka siis, kui luba kehtib
Kontori NAT, operaatori NAT ja jagatud VPN-väljund panevad igaüks mitu inimest ühe aadressi taha. Selle aadressi lubamine lubab kõiki selle taga — niivõrd kui puudutab teenuse järgmist piiri —, tõestamata samas midagi selle kohta, kelle käes on konto, mida teenus ootab.
Reegli eemaldamine ei ole samuti universaalne katkestus. Loodud ühendused, vahemällu salvestatud rakendusload ja pikaealised sessioonid võivad reeglist minuete või palju kauem elada, seega peaks valitud eluiga peegeldama, mida teenus pärast lubamist teeb, mitte ainult seda, kui kaua reegel püsib.
Testige nelja juhtumit ja mõlemat aadresside perekonda
Luba on nii hea kui neli juhtumit, mida see talub: uus lubatud päring, kinnitamata päringu esitaja, sama lingi kordamine ja sama päring pärast aegumist.
Seejärel testige iga perekonda eraldi, sest allikaaadress, mida teenus vaatleb, võib nende vahel erineda.
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
Kasulik tulemus on ajutine, auditeeritav lubamisotsus tavapärase kasutajaautoriseerimise all, mitte püsiv ava, mis kannab esimesena klõpsanu nime.