แคชการจำแนก VPN และทำให้อายุของมันมองเห็นได้
การสังเกต ความสดใหม่ และการตอบสนองของไซต์คุณนั้นเสื่อมสภาพด้วยอัตราที่ต่างกัน หากแยกออกจากกัน การจำแนกที่แคชไว้จะยังคงซื่อตรงต่อสิ่งที่มันรู้
การจำแนกที่แคชไว้ช่วยประหยัดการค้นหาหนึ่งครั้งและแช่แข็งความเห็นของเมื่อวานไว้ในการตัดสินใจของวันนี้ การเปรียบเทียบที่แท้จริงไม่ใช่แคชกับการไม่มีแคช แต่เป็นการสังเกต ความสดใหม่ของมัน และการตอบสนองที่ไซต์คุณเลือก หากสูญเสียเส้นแบ่งระหว่างสามสิ่งนี้ การปรับให้เหมาะสมจะเริ่มกำหนดนโยบายเอง การแก้ไขคือการทำบัญชี ไม่ใช่ฟีดที่ดีกว่า
สามบันทึกที่มีนาฬิกาสามเรือนต่างกัน
การสังเกตคือฟิลด์ที่คุณได้รับ ฟีดที่มันมาจาก และเวอร์ชันชุดข้อมูลที่อยู่เบื้องหลัง ความสดใหม่เป็นคุณสมบัติของรายการแคช: เมื่อการค้นหาเกิดขึ้น เมื่อรายการไม่ได้รับความเชื่อถืออีกต่อไป และการรีเฟรชครั้งล่าสุดคืนค่าอะไรมาหรือไม่ การตอบสนองคือสิ่งที่ไซต์คุณทำเกี่ยวกับเรื่องนี้สำหรับคำขอนี้ บัญชีนี้ หรือการกระทำนี้ สิ่งเหล่านี้ผลิตโดยเจ้าของที่ต่างกันและเสื่อมลงด้วยอัตราที่ต่างกัน นั่นจึงเป็นเหตุให้แถวเดียวที่ชื่อ blocked ทำลายความแตกต่างนั้น
| 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 |
นาฬิกาสองเรือนสมควรได้รับการดูแลเป็นพิเศษ ช่วงเวลาที่การค้นหาของคุณเกิดขึ้นไม่ใช่ช่วงเวลาที่ผู้ให้บริการเผยแพร่ชุดข้อมูล และผู้ปฏิบัติงานที่อ่านแถวในภายหลังจำเป็นต้องรู้ว่าแต่ละค่ามาจากเรือนใดในสองเรือนนั้น ตั้งเวลาหมดอายุและการรีเฟรชตามรูปแบบการอัปเดตที่บันทึกไว้ของฟีดและตามต้นทุนของความผิดพลาด ไม่ใช่ตามตัวเลขที่ยืมมาจากไซต์อื่น
เก็บฟิลด์ ไม่ใช่คำตัดสิน
เอกสารของ MaxMind เกี่ยวกับ IP นิรนาม เป็นตัวอย่างรูปธรรมของฟีดที่แยก VPN นิรนาม ผู้ให้บริการโฮสติ้ง พร็อกซีสาธารณะ และทางออก Tor ออกเป็นฟิลด์ที่ต่างกัน ยังบันทึกด้วยว่าซับเน็ต VPN ที่ไม่ได้ลงทะเบียนอาจปรากฏภายใต้ธงโฮสติ้งแทน การทำให้แบนลงเป็นบูลีนเดียวจะทิ้งส่วนเดียวที่ผู้ปฏิบัติงานจะตรวจสอบได้ในภายหลัง
ไม่มีทิศทางของการอนุมานใดปลอดภัย ป้ายโฮสติ้งไม่ได้พิสูจน์ว่าใช้ทันเนล และการไม่มีธง VPN ไม่ได้พิสูจน์ว่าไม่มีสิ่งใดอยู่ระหว่างไคลเอนต์กับบริการของคุณ สิ่งเหล่านี้เป็นข้อกล่าวอ้างที่ต่างกันสองข้อ และบูลีนเดียวไม่อาจแสดงออกได้ทั้งสองข้อ
ผูกบันทึกกับที่อยู่ที่คุณตรวจสอบแล้ว
หลังพร็อกซีย้อนกลับ แอปพลิเคชันต้องใช้การจัดการที่อยู่ไคลเอนต์ที่การติดตั้งอนุมัติ หัวข้อการส่งต่อที่ผู้เรียกจัดหาให้ต้องไม่สามารถเลือกชื่อเสียงที่แคชไว้ของผู้อื่นได้เลย
ความล้มเหลวนั้นเป็นทั้งบั๊กความถูกต้องและบั๊กความปลอดภัยในคราวเดียวกัน เพราะผู้โจมตีที่ควบคุมหัวข้อสามารถสืบทอดบันทึกที่เชื่อถือได้หรือปักหมุดเหยื่อไว้กับบันทึกที่แย่ได้ สกัดคีย์จากการเชื่อมต่อที่โครงสร้างพื้นฐานของคุณเองสิ้นสุดลง และบันทึกว่าการสกัดใดถูกใช้ เมื่อมีพร็อกซีหลายตัวอยู่ข้างหน้า ให้บันทึกห่วงโซ่แทนการเชื่อถือหัวข้อแรกที่ดูน่าเชื่อถือ หากห่วงโซ่กำกวม ให้บันทึกคีย์ที่สกัดได้และหัวข้อที่คุณปฏิเสธ เพราะการทบทวนเหตุการณ์จะถามถึงอย่างหลัง
การไม่มีหลักฐานไม่ใช่ผลลัพธ์ที่สะอาด
การหมดเวลา การตอบสนองที่ผิดรูปแบบ และฐานข้อมูลที่ไม่พร้อมใช้งาน แต่ละอย่างหมายถึงสิ่งที่ต่างจากการค้นหาที่สำเร็จซึ่งไม่ตรงกับสิ่งใดเลย นำเสนอเป็นผลลัพธ์แยกกัน และตัดสินล่วงหน้าว่าการกระทำที่ได้รับการป้องกันจะทำอะไรเมื่อไม่มีหลักฐานเลย หน้าสำหรับอ่านเท่านั้นและการกระทำในบัญชีที่ลงชื่อเข้าใช้สามารถปฏิบัติตามกฎที่ต่างกันได้อย่างสมเหตุสมผล
การคงการพิสูจน์ตัวตนตามปกติ หรือการขอการยืนยันที่รองรับ มักเป็นคำตอบที่ดีกว่าการถือว่าการขัดข้องเป็นสิทธิ์ทั่วไปหรือเป็นการห้ามทั้งไซต์ จำกัดระยะเวลาที่การค้นหาจะทำงานได้ และหยุดพายุการรีเฟรชด้วยกลไกใดก็ตามที่การเชื่อมต่อรองรับ เมื่อใช้ค่าที่ล้าสมัยระหว่างการขัดข้อง ให้ติดป้ายว่าล้าสมัย ณ จุดตัดสินใจ และทำให้ความล้มเหลวครั้งล่าสุดของการรีเฟรชมองเห็นได้ เพื่อให้ข้อบกพร่องระยะยาวไม่ผ่านไปเป็นรายการที่แข็งแรง ไม่ว่าเลือกอย่างไร ให้เขียนไว้ที่ซึ่งนโยบายถูกบังคับใช้ ไม่ใช่ในความคิดเห็นข้างการค้นหา
การเก็บรักษาเป็นส่วนหนึ่งของการตัดสินใจเดียวกัน: เก็บฟิลด์ที่ฟังก์ชันนี้ต้องการและร่องรอยการทบทวนที่อยู่เบื้องหลัง ไม่มากกว่านั้น แคช IP ไม่จำเป็นต้องกลายเป็นประวัติการท่องเว็บ
ยอมรับสี่กรณี รวมถึงการแก้ไข
ทดสอบผลลัพธ์ใหม่ ผลลัพธ์ที่หมดอายุ การค้นหาที่ล้มเหลว และการจำแนกที่แก้ไขในภายหลัง แต่ละกรณีฝึกสาขาที่ต่างกัน และเฉพาะกรณีสุดท้ายเท่านั้นที่แสดงว่าข้อจำกัดที่ผิดพลาดสามารถยกเลิกได้หรือไม่
จากนั้นยืนยันว่าผู้ใช้ทั่วไปมีช่องทางขอการทบทวนหลังการบล็อกที่ผิดพลาด เพราะฟีดจะผิดพลาดในบางครั้งและคิวเป็นส่วนหนึ่งของการออกแบบ เขียนสี่กรณีลงใน runbook พร้อมชื่อเจ้าของนโยบาย การออกแบบสมคุณค่าก็ต่อเมื่อมันขจัดการค้นหาที่ซ้ำซ้อนโดยรักษาความไม่แน่นอนไว้และทำให้การตัดสินใจอยู่ในมือมนุษย์อย่างชัดเจน