VPN sınıflandırmasını önbelleğe alın, yaşını görünür tutun
Bir gözlem, tazeliği ve sitenizin yanıtı farklı hızlarda eskir. Ayrı tutulduğunda, önbelleğe alınmış bir sınıflandırma ne bildiği konusunda dürüst kalır.
Önbelleğe alınmış bir sınıflandırma bir aramayı kazandırır ve dünkü görüşü bugünün kararına dondurur. Gerçek karşılaştırma önbellek ile önbelleksizlik değil: bir gözlem, tazeliği ve sitenizin seçtiği yanıttır. Bu üçü arasındaki sınırı kaybederseniz bir optimizasyon kendi başına politika yapmaya başlar. Onarım muhasebedir, daha iyi bir akış değil.
Üç farklı saate sahip üç kayıt
Gözlem, aldığınız alan, onun geldiği akış ve arkasındaki veri kümesi sürümüdür. Tazelik önbellek girdisinin bir özelliğidir: aramanın ne zaman çalıştığı, girdiye ne zaman güvenilmemeye başlandığı ve son yenilemenin bir şey döndürüp döndürmediği. Yanıt, sitenizin bu istek, bu hesap veya bu eylem için bu konuda ne yaptığıdır. Bunlar farklı sahipler tarafından üretilir ve farklı hızlarda çürür, bu yüzden blocked adlı tek bir satır bu ayrımı yok eder.
| 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 |
İki saat özel özen hak eder. Aramanızın çalıştığı an, sağlayıcının veri kümesini yayımladığı an değildir ve satırı sonra okuyan bir operatörün her değerin bu ikisinden hangisinden geldiğini bilmesi gerekir. Süre sonunu ve yenilemeyi akışın belgelenmiş güncelleme modeline ve yanlış olmanın maliyetine göre ayarlayın, asla başka bir siteden ödünç alınan bir sayıya göre değil.
Alanı koruyun, hükmü değil
MaxMind'ın anonim IP'ler hakkındaki belgesi anonim VPN, barındırma sağlayıcısı, genel proxy ve Tor çıkışını ayrı alanlara ayıran bir akışın somut bir örneğidir. Ayrıca kayıtlı olmayan bir VPN alt ağının bunun yerine barındırma bayrağı altında görünebileceğini belgeler. Bunu tek bir boolean'a düzleştirmek, bir operatörün sonradan denetleyebileceği tek parçayı çöpe atar.
Çıkarımın iki yönü de güvenli değildir. Bir barındırma etiketi tünel kullanıldığını kanıtlamaz ve VPN bayrağının olmaması istemci ile hizmetiniz arasında hiçbir şey olmadığını kanıtlamaz. Bunlar iki farklı iddiadır ve tek bir boolean ikisini de ifade edemez.
Girdiyi doğruladığınız adrese bağlayın
Ters proxy arkasında uygulama, dağıtımın onayladığı istemci adresi işlemeyi kullanmalıdır. Çağıranın sağladığı yönlendirme başlığı asla başkasının önbelleğe alınmış itibarını seçememelidir.
Bu başarısızlık hem doğruluk hem de güvenlik hatasıdır, çünkü başlığı kontrol eden bir saldırgan güvenilen bir girdiyi miras alabilir ya da bir kurbanı kötü olana sabitleyebilir. Anahtarı kendi altyapınızın sonlandırdığı bağlantıdan türetin ve hangi türetmenin kullanıldığını kaydedin. Önünde birkaç proxy varken, makul görünen ilk başlığa güvenmek yerine zinciri belgeleyin. Zincir belirsizse, türetilen anahtarı ve reddettiğiniz başlığı günlüğe yazın, çünkü bir olay incelemesi ikincisini soracaktır.
Kanıt yokluğu temiz bir sonuç değildir
Bir zaman aşımı, bozuk bir yanıt ve kullanılamayan bir veritabanı, hiçbir şeyle eşleşmeyen başarılı bir aramadan her biri farklı bir anlam taşır. Bunları ayrı sonuçlar olarak sunun ve hiç kanıt yokken korunan eylemin ne yaptığına önceden karar verin. Salt okunur bir sayfa ile oturum açmış bir hesaptaki eylem orada makul biçimde farklı kurallara uyabilir.
Normal kimlik doğrulamayı sürdürmek veya desteklenen bir doğrulama istemek, bir kesintiyi genel izin ya da site çapında yasak olarak görmekten genellikle daha iyi bir yanıttır. Bir aramanın ne kadar sürebileceğini sınırlayın ve yenileme fırtınalarını entegrasyonun desteklediği mekanizmayla durdurun. Kesinti sırasında eski bir değer kullanılırsa, karar noktasında onu eski olarak etiketleyin ve yenilemenin son başarısızlığını görünür kılın, böylece uzun süreli bir arıza sağlıklı bir girdi gibi geçemez. Seçim ne olursa olsun, onu aramanın yanındaki bir yorumda değil, politikanın uygulandığı yerde yazın.
Saklama da aynı karara aittir: bu işlevin ihtiyaç duyduğu alanları ve arkalarındaki inceleme izini tutun, fazlasını değil. Bir IP önbelleği tarama geçmişine dönüşmek zorunda değildir.
Dört durumu kabul edin, biri düzeltme dahil
Taze bir sonucu, süresi dolmuş bir sonucu, başarısız bir aramayı ve sonradan düzeltilmiş bir sınıflandırmayı test edin. Her biri farklı bir dalı çalıştırır ve yalnızca sonuncusu yanlış bir kısıtlamanın geri alınıp alınamayacağını gösterir.
Ardından sıradan bir kullanıcının yanlış bir engellemeden sonra inceleme isteme yolunun olduğunu doğrulayın, çünkü akış bazen yanlış olacak ve kuyruk tasarımın bir parçası. Dört durumu politika sahibinin adıyla birlikte runbook'a yazın. Tasarım, gereksiz aramaları kaldırırken belirsizliği bozulmadan tuttuğunda ve kararın görünür biçimde bir insanda olduğunu koruduğunda yerini hak eder.