Podėlyje saugoma klasifikacija sutaupo vieną užklausą ir įšaldo vakarykštę nuomonę šiandienos sprendime. Tikrasis palyginimas yra ne podėlis prieš jo nebuvimą: tai stebėjimas, jo šviežumas ir atsakymas, kurį pasirinko jūsų svetainė. Praraskite ribą tarp šių trijų ir optimizavimas pradės pats kurti politiką. Taisymas yra buhalterija, o ne geresnis srautas.

Trys įrašai su trimis skirtingais laikrodžiais

Stebėjimas yra laukas, kurį gavote, srautas, iš kurio jis atėjo, ir už jo esanti duomenų rinkinio versija. Šviežumas yra podėlio įrašo savybė: kada užklausa įvyko, kada įrašu nustojama pasitikėti ir ar paskutinis atnaujinimas ką nors grąžino. Atsakymas yra tai, ką jūsų svetainė dėl to daro šiai užklausai, šiai paskyrai ar šiam veiksmui. Juos kuria skirtingi savininkai ir jie yra skirtingu greičiu, todėl viena eilutė pavadinimu blocked sunaikina tą skirtumą.

RecordWho owns itHow long it should liveDamage when it is folded into another row
The observationthe feed's operatoruntil a newer dataset version replaces ita stale lookup becomes indistinguishable from a fresh one
Its freshnessthe applicationone request's tolerance for agea failed refresh hides behind a cache hit
The responsewhoever owns the site policyuntil that policy is revieweda feed outage turns into an indefinite block

Du laikrodžiai nusipelno ypatingo dėmesio. Momentas, kai įvyko jūsų užklausa, nėra momentas, kai teikėjas paskelbė duomenų rinkinį, o vėliau eilutę skaitantis operatorius turi žinoti, iš kurio iš dviejų kilo kiekviena reikšmė. Nustatykite galiojimo pabaigą ir atnaujinimą pagal dokumentuotą srauto atnaujinimo modelį ir pagal klaidos kainą, niekada pagal skaičių, pasiskolintą iš kitos svetainės.

Saugokite lauką, o ne nuosprendį

MaxMind dokumentacija apie anoniminius IP adresus yra vienas konkretus pavyzdys srauto, kuris atskiria anoniminį VPN, prieglobos teikėją, viešąjį tarpinį serverį ir Tor išėjimą į atskirus laukus. Ji taip pat dokumentuoja, kad neregistruotas VPN potinklis gali vietoj to pasirodyti po prieglobos vėliava. Suplokštinus tai į vieną loginį dydį, išmetama vienintelė dalis, kurią operatorius vėliau galėtų audituoti.

Nė viena išvados kryptis nėra saugi. Prieglobos žymė neįrodo, kad buvo naudojamas tunelis, o VPN vėliavos nebuvimas neįrodo, kad tarp kliento ir jūsų paslaugos nieko nebuvo. Tai du skirtingi teiginiai, ir vienas loginis dydis negali išreikšti nė vieno iš jų.

Susiekite įrašą su adresu, kurį patvirtinote

Už atvirkštinio tarpinio serverio programėlė turi naudoti diegimo patvirtintą kliento adreso apdorojimą. Skambinančiojo pateikta persiuntimo antraštė niekada neturi galėti pasirinkti kito asmens podėlyje saugomos reputacijos.

Ta nesėkmė yra ir teisingumo, ir saugumo klaida, nes antraštę valdantis užpuolikas gali paveldėti patikimą įrašą arba prikalti auką prie blogo. Išveskite raktą iš ryšio, kurį užbaigė jūsų pačių infrastruktūra, ir užrašykite, kuri išvedimo buvo naudojama. Kai priekyje stovi keli tarpiniai serveriai, dokumentuokite grandinę, o ne pasitikėkite pirmąja tikėtinai atrodančia antrašte. Jei grandinė dviprasmiška, užregistruokite išvestą raktą ir atmestą antraštę, nes būtent antrosios paklaus incidento peržiūra.

Įrodymų nebuvimas nėra švarus rezultatas

Skirtasis laikas, sugadintas atsakymas ir neprieinama duomenų bazė kiekvienas reiškia ką nors kita nei sėkminga užklausa, kuri nieko neatitiko. Pateikite juos kaip atskirus rezultatus ir iš anksto nuspręskite, ką daro apsaugotas veiksmas, kai įrodymų visai nėra. Tik skaitymui skirta svetainė ir prisijungusios paskyros veiksmas gali pagrįstai laikytis skirtingų taisyklių.

Įprasto autentifikavimo palaikymas arba palaikomo patvirtinimo prašymas paprastai yra geresnis atsakymas nei traktuoti sutrikimą kaip visuotinį leidimą arba kaip visos svetainės draudimą. Apribokite, kiek ilgai užklausa gali vykti, ir sustabdykite atnaujinimo audras bet kuriuo mechanizmu, kurį palaiko integracija. Kai sutrikimo metu naudojama pasenusi reikšmė, pažymėkite ją kaip pasenusią sprendimo taške ir padarykite matomą paskutinę atnaujinimo nesėkmę, kad ilgai trunkantis gedimas negalėtų praeiti kaip sveikas įrašas. Kad ir koks būtų pasirinkimas, užrašykite jį ten, kur politika vykdoma, o ne komentare prie užklausos.

Saugojimas priklauso tam pačiam sprendimui: laikykite laukus, kurių reikia šiai funkcijai, ir jų audito pėdsaką, nieko daugiau. IP podėlis neturi tapti naršymo istorija.

Priimkite keturis atvejus, įskaitant pataisymą

Išbandykite šviežią rezultatą, pasibaigusį rezultatą, nepavykusią užklausą ir vėliau pataisytą klasifikaciją. Kiekvienas išbando skirtingą šaką, ir tik paskutinis parodo, ar klaidingą apribojimą galima atšaukti.

Tada patvirtinkite, kad paprastas naudotojas turi kelią paprašyti peržiūros po klaidingo blokavimo, nes srautas kartais bus klaidingas, o eilė yra dizaino dalis. Įrašykite keturis atvejus į runbook su politikos savininko vardu šalia. Dizainas pelno savo vietą, kai pašalina nereikalingas užklausas, išlaikydamas neapibrėžtumą ir sprendimą matomai žmogaus rankose.

Susiję straipsniai