ฉันใช้ BIND เพื่อทดสอบ และนี่คือส่วนหนึ่งของ RPZ ของฉัน:
example.com ใน CNAME ; บล็อกท้องถิ่นเทียบกับ example.com
*.example.com ใน CNAME ; บล็อกท้องถิ่นเทียบกับ example.com
เมื่อฉันสอบถาม ตัวอย่าง.คอม
มันถูกบล็อกสำเร็จ:
ขุด @127.0.0.1 example.com
;; ->>HEADER<<- opcode: QUERY, สถานะ: NXDOMAIN, id: 28108
;; ธง: qr rd ra; คำถาม: 1, คำตอบ: 0, ผู้มีอำนาจ: 0, เพิ่มเติม: 2
;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
;; ส่วนคำถาม:
;example.com ใน
;; ส่วนเพิ่มเติม:
rpz.local. 1 ใน SOA localhost ต้องรู้เท่านั้น 201702121 60 60 432000 60
แต่ไม่มีการเรียกซ้ำ มันต้องผ่าน:
ขุด @127.0.0.1 example.com +norecurse
;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 59121
;; ธง: โฆษณา qr ra; คำถาม: 1, คำตอบ: 1, ผู้มีอำนาจ: 0, เพิ่มเติม: 1
;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
;; ส่วนคำถาม:
;example.com ใน
;; ส่วนคำตอบ:
ตัวอย่าง.คอม. 17130 ใน A 93.184.216.34
ฉันเข้าใจว่าไม่มีการเรียกซ้ำให้บริการสิ่งที่อยู่ในแคช แต่เหตุใดจึงไม่ใช้ RPZ เพื่อบล็อกโดเมน
นอกจากนี้ ทำไมคำขอถึงได้รับการแก้ไข? ไม่ควรบล็อกการสืบค้น DNS เมื่อเริ่มต้นเนื่องจากโดเมนตรงกับ RPZ และส่งคืนเร็วที่สุด
ฉันสามารถเห็นได้ว่า PowerDNS ปรับแต่งสิ่งนั้นให้เหมาะสม เพื่อหลีกเลี่ยงการแก้ไขแบบสอบถามหากจำเป็น:
การทำเช่นนั้นจะทำให้การประเมินนโยบาย RPZ ล่าช้าออกไปจนกว่ากระบวนการแก้ไขทั้งหมดจะเสร็จสิ้น ซึ่งหมายความว่าข้อความค้นหาอาจถูกส่งไปยังเนมเซิร์ฟเวอร์ที่เป็นอันตรายแล้ว นอกเหนือจากปัญหาด้านประสิทธิภาพ
ฉันอยากรู้เหตุผลจริงๆ และมีวิธีบล็อกข้อความค้นหาหรือไม่ ก่อน ความละเอียด