Tárazza a VPN-besorolást, és tartsa láthatóvá a korát
Egy megfigyelés, annak frissessége és az oldala válasza eltérő ütemben öregszik. Külön tartva egy gyorsítótárazott besorolás őszinte marad ahhoz, amit tud.
A gyorsítótárazott besorolás megspórol egy lekérdezést, és a tegnapi véleményt a mai döntésbe fagyasztja. Az igazi összehasonlítás nem a gyorsítótár a gyorsítótár hiánya ellen: hanem egy megfigyelés, annak frissessége és a válasz, amelyet az oldala választott. Ha elveszik a határ e három között, az optimalizálás magától politikát kezd alkotni. A javítás könyvelés, nem jobb hírcsatorna.
Három rekord három különböző órával
A megfigyelés az a mező, amelyet kapott, a hírcsatorna, ahonnan jött, és a mögötte álló adatkészlet-verzió. A frissesség a gyorsítótár-bejegyzés tulajdonsága: mikor futott a lekérdezés, mikor szűnik meg a bejegyzésbe vetett bizalom, és hogy a legutóbbi frissítés adott-e vissza valamit. A válasz az, amit az oldala ezzel kapcsolatban tesz erre a kérésre, erre a fiókra vagy erre a műveletre. Különböző tulajdonosok állítják elő, és különböző ütemben bomlanak le, ezért egy blocked nevű sor megsemmisíti a megkülönböztetést.
| Record | Who owns it | How long it should live | Damage when it is folded into another row |
|---|---|---|---|
| The observation | the feed's operator | until a newer dataset version replaces it | a stale lookup becomes indistinguishable from a fresh one |
| Its freshness | the application | one request's tolerance for age | a failed refresh hides behind a cache hit |
| The response | whoever owns the site policy | until that policy is reviewed | a feed outage turns into an indefinite block |
Két óra különös figyelmet érdemel. Az a pillanat, amikor a lekérdezése futott, nem az a pillanat, amikor a szolgáltató közzétette az adatkészletet, és egy később a sort olvasó üzemeltetőnek tudnia kell, melyik kettőből származik az egyes érték. A lejáratot és a frissítést a hírcsatorna dokumentált frissítési modellje és a tévedés költsége szerint állítsa be, soha nem egy másik oldalról kölcsönzött szám szerint.
A mezőt tartsa meg, ne az ítéletet
A MaxMind dokumentációja a névtelen IP-címekről egy konkrét példa arra a hírcsatornára, amely külön mezőkre bontja a névtelen VPN-t, a tárhelyszolgáltatót, a nyilvános proxyt és a Tor-kimenetet. Azt is dokumentálja, hogy egy nem regisztrált VPN-alhálózat helyette a tárhely jelző alatt bukkanhat fel. Ennek egyetlen logikai értékbe lapítása eldobja az egyetlen részt, amelyet az üzemeltető később auditálhatna.
A következtetés egyik iránya sem biztonságos. A tárhelycímke nem bizonyítja, hogy alagutat használtak, és a VPN-jelző hiánya nem bizonyítja, hogy semmi sem ült az ügyfél és a szolgáltatása között. Ez két különböző állítás, és egyetlen logikai érték egyiket sem tudja kifejezni.
Kösse a bejegyzést az ellenőrzött címhez
Fordított proxy mögött az alkalmazásnak a telepítés által jóváhagyott ügyfélcím-kezelést kell használnia. A hívó által szolgáltatott továbbítási fejléc soha nem választhat másvalaki gyorsítótárazott hírnevét.
Ez a hiba egyszerre helyességi és biztonsági hiba, mert a fejlécet irányító támadó örökölhet egy megbízható bejegyzést, vagy egy áldozatot egy rosszhoz szögezhet. A kulcsot a saját infrastruktúrája által lezárt kapcsolatból vezesse le, és jegyezze fel, melyik levezetést használta. Ha több proxy áll előtte, dokumentálja a láncot ahelyett, hogy bízna az első hihetőnek tűnő fejlécben. Ha a lánc kétértelmű, naplózza a levezetett kulcsot és az elutasított fejlécet, mert az utóbbit fogja kérdezni egy incidensvizsgálat.
A bizonyíték hiánya nem tiszta eredmény
Az időtúllépés, a hibás válasz és az elérhetetlen adatbázis mindegyike mást jelent, mint egy sikeres lekérdezés, amely semmire nem illeszkedett. Ábrázolja őket külön kimenetként, és döntse el előre, mit tesz a védett művelet, amikor egyáltalán nincs bizonyíték. Egy csak olvasható oldal és egy bejelentkezett fiók művelete ésszerűen eltérő szabályokat követhet ott.
A normál hitelesítés megtartása vagy egy támogatott ellenőrzés kérése általában jobb válasz, mint a kimaradást átfogó engedélyként vagy az egész oldalra vonatkozó tilalomként kezelni. Korlátozza, meddig futhat egy lekérdezés, és állítsa le a frissítési viharokat azzal a mechanizmussal, amelyet az integráció támogat. Ha kimaradás alatt elavult értéket használnak, a döntés pontján jelölje elavultként, és tegye láthatóvá a frissítés utolsó hibáját, hogy egy hosszan tartó hiba ne mehessen át egészséges bejegyzésként. Bármi is a választás, oda írja, ahol a szabályt kikényszerítik, ne a lekérdezés melletti megjegyzésbe.
A megőrzés ugyanahhoz a döntéshez tartozik: tartsa meg a funkció által igényelt mezőket és a mögöttük lévő felülvizsgálati nyomot, semmi többet. Egy IP-gyorsítótárnak nem kell böngészési előzménnyé válnia.
Fogadjon el négy esetet, köztük egy javítást
Teszteljen friss eredményt, lejárt eredményt, sikertelen lekérdezést és egy később javított besorolást. Mindegyik más ágat gyakorol, és csak az utolsó mutatja meg, visszavonható-e egy téves korlátozás.
Ezután erősítse meg, hogy egy hétköznapi felhasználónak van útja felülvizsgálatot kérni egy téves blokkolás után, mert a hírcsatorna néha tévedni fog, és a sor a tervezés része. Írja be a négy esetet a runbookba a szabályzat tulajdonosának nevével együtt. A tervezés akkor érdemli meg a helyét, ha eltávolítja a felesleges lekérdezéseket, miközben a bizonytalanság érintetlen marad, és a döntés láthatóan egy ember kezében van.