Kešojiet VPN klasifikāciju un turiet tās vecumu redzamu
Novērojums, tā svaigums un jūsu vietnes atbilde noveco dažādos tempos. Turēti atsevišķi, kešotā klasifikācija paliek godīga par to, ko tā zina.
Kešotā klasifikācija ietaupa vienu meklējumu un iesaldē vakardienas viedokli šodienas lēmumā. Īstais salīdzinājums nav kešs pret keša neesamību: tas ir novērojums, tā svaigums un atbilde, ko izvēlējās jūsu vietne. Zaudējiet robežu starp šiem trim un optimizācija sāks pati veidot politiku. Labojums ir grāmatvedība, nevis labāka plūsma.
Trīs ieraksti ar trim dažādiem pulksteņiem
Novērojums ir lauks, ko saņēmāt, plūsma, no kuras tas nāca, un aiz tā esošā datu kopas versija. Svaigums ir keša ieraksta īpašība: kad meklējums notika, kad ierakstam vairs neuzticas un vai pēdējā atjaunināšana kaut ko atgrieza. Atbilde ir tas, ko jūsu vietne ar to dara šim pieprasījumam, šim kontam vai šai darbībai. Tos rada dažādi īpašnieki un tie sabrūk dažādos tempos, tāpēc viena rinda ar nosaukumu blocked iznīcina šo atšķirību.
| 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 |
Divi pulksteņi pelna īpašu uzmanību. Brīdis, kad notika jūsu meklējums, nav brīdis, kad pakalpojumu sniedzējs publicēja datu kopu, un vēlāk rindu lasošajam operatoram jāzina, no kura no diviem nāk katra vērtība. Iestatiet derīguma termiņu un atjaunināšanu pēc plūsmas dokumentētā atjaunināšanas modeļa un pēc kļūdas izmaksām, nekad pēc skaitļa, kas aizgūts no citas vietnes.
Saglabājiet lauku, nevis spriedumu
MaxMind dokumentācija par anonīmām IP adresēm ir viens konkrēts piemērs plūsmai, kas anonīmu VPN, mitināšanas pakalpojumu sniedzēju, publisku starpniekserveri un Tor izeju atdala atsevišķos laukos. Tā arī dokumentē, ka nereģistrēts VPN apakštīkls tā vietā var parādīties zem mitināšanas karoga. Šī saplacināšana vienā loģiskā vērtībā izmet vienīgo daļu, ko operators vēlāk varētu auditēt.
Neviens no secinājuma virzieniem nav drošs. Mitināšanas marķējums nepierāda, ka tika izmantots tunelis, un VPN karoga neesamība nepierāda, ka starp klientu un jūsu pakalpojumu nekas neatradās. Tie ir divi dažādi apgalvojumi, un viena loģiskā vērtība nevar izteikt nevienu no tiem.
Piesaistiet ierakstu adresei, kuru pārbaudījāt
Aiz apgrieztā starpniekservera lietojumprogrammai jāizmanto izvietošanas apstiprinātā klienta adreses apstrāde. Zvanītāja nodrošinātais pārsūtīšanas galvene nekad nedrīkst ļaut izvēlēties kāda cita kešoto reputāciju.
Šī kļūme ir gan pareizības, gan drošības kļūda, jo uzbrucējs, kas kontrolē galveni, var mantot uzticamu ierakstu vai piekalt upuri sliktam. Atvasiniet atslēgu no savienojuma, ko pabeidza jūsu pašu infrastruktūra, un pierakstiet, kura atvasināšana tika izmantota. Kad priekšā ir vairāki starpniekserveri, dokumentējiet ķēdi, nevis uzticieties pirmajai ticami izskatāmajai galvenei. Ja ķēde ir neskaidra, reģistrējiet atvasināto atslēgu un noraidīto galveni, jo tieši otro jautās incidenta pārskats.
Pierādījumu trūkums nav tīrs rezultāts
Taimauts, bojāta atbilde un nepieejama datubāze katrs nozīmē kaut ko citu nekā veiksmīgs meklējums, kas ne ar ko nesakrita. Attēlojiet tos kā atsevišķus rezultātus un iepriekš izlemiet, ko dara aizsargātā darbība, kad pierādījumu vispār nav. Tikai lasāma lapa un pieteiktā konta darbība var pamatoti ievērot atšķirīgus noteikumus.
Parastās autentifikācijas saglabāšana vai atbalstītas pārbaudes pieprasīšana parasti ir labāka atbilde nekā uzskatīt pārtraukumu par vispārēju atļauju vai visas vietnes aizliegumu. Ierobežojiet, cik ilgi meklējums drīkst darboties, un apturiet atjaunināšanas vētras ar jebkuru mehānismu, ko atbalsta integrācija. Kad pārtraukuma laikā tiek izmantota novecojusi vērtība, atzīmējiet to kā novecojušu lēmuma punktā un padariet redzamu pēdējo atjaunināšanas neveiksmi, lai ilgstoša kļūme nevarētu iziet kā vesels ieraksts. Lai kāda būtu izvēle, ierakstiet to tur, kur politika tiek piemērota, nevis komentārā blakus meklējumam.
Glabāšana pieder pie tā paša lēmuma: turiet laukus, kas šai funkcijai nepieciešami, un to audita pēdas aiz tiem, ne vairāk. IP kešam nav jākļūst par pārlūkošanas vēsturi.
Pieņemiet četrus gadījumus, tostarp labojumu
Pārbaudiet svaigu rezultātu, izbeigušos rezultātu, neizdevušos meklējumu un vēlāk labotu klasifikāciju. Katrs vingrina citu atzaru, un tikai pēdējais parāda, vai kļūdainu ierobežojumu var atcelt.
Pēc tam apstipriniet, ka parastam lietotājam ir ceļš lūgt pārskatīšanu pēc kļūdaina bloķējuma, jo plūsma dažkārt kļūdīsies un rinda ir dizaina daļa. Ierakstiet četrus gadījumus runbook kopā ar politikas īpašnieka vārdu. Dizains pelna savu vietu, kad tas novērš liekus meklējumus, saglabājot nenoteiktību un lēmumu redzami cilvēka rokās.