ชื่อโฮสต์และธงประเทศดูเหมือนข้อเท็จจริงเกี่ยวกับเซิร์ฟเวอร์ และทั้งสองอย่างก็ไม่ใช่ ชื่อชี้ไปยังที่อยู่ที่เปลี่ยนแปลงได้ และคำที่อยู่ข้างในถูกเลือกโดยผู้ที่ลงทะเบียนมัน โปรโตคอล ตำแหน่งทางออก และพฤติกรรมการเก็บบันทึก ต่างก็ต้องมีหลักฐานของตัวเอง เริ่มจากสิ่งที่ชื่อแก้ไขไปถึงจริง ๆ แล้วจึงตัดสินใจว่าอะไรยังไม่เป็นที่รู้

ชื่อแก้ไขได้ และไม่มีสิ่งอื่นใดถูกตัดสิน

ชื่อโฮสต์เป็นตัวชี้ใน DNS และระเบียนที่อยู่ข้างหลังอาจแตกต่างกันไปตามตัวแก้ไข ตามเวลาของวัน และตามตระกูลที่อยู่ที่ไคลเอนต์ต้องการ คนสองคนที่อ่านรายการไดเรกทอรีเดียวกันสามารถเข้าถึงเครื่องที่แตกต่างกันได้อย่างถูกต้องตามกฎหมาย ชื่อบอกคุณว่าต้องขออะไร ไม่ใช่สิ่งที่จะตอบ

ผลการค้นหาก็เปลี่ยนโดยไม่แจ้งให้ทราบ ซึ่งสำคัญเมื่อโปรไฟล์ปักหมุดที่อยู่แทนชื่อ โปรไฟล์ที่ฝังที่อยู่เก่าไว้จะยังคงล้มเหลวหลังจากผู้ให้บริการย้ายบริการ และความล้มเหลวนั้นดูเหมือนพอร์ตที่ถูกบล็อก เก็บที่อยู่ที่แก้ไขแล้วไว้ข้างโปรไฟล์ เพื่อให้การเปรียบเทียบในภายหลังมีเส้นฐาน ไม่มีสิ่งใดในนี้บอกว่าใครดูแลปลายอีกด้าน

dig +short vpn.example.net A
dig +short vpn.example.net AAAA
dig +short vpn.example.net A @1.1.1.1

การขนส่งและตัวตนเป็นคำถามที่แยกจากกัน

หน้าเว็บที่เปิดที่ชื่อโฮสต์ทดสอบผู้ฟังหนึ่งรายบนพอร์ตหนึ่ง OpenVPN, IPsec และ SSTP ฟังอยู่ที่อื่น บนพอร์ตและโปรโตคอลของตัวเอง ดังนั้นเว็บเซิร์ฟเวอร์ที่เข้าถึงได้จึงไม่บอกอะไรเกี่ยวกับมัน

รายการไดเรกทอรีและโปรไฟล์ต้องตรงกันในเรื่องการขนส่ง พอร์ต และข้อมูลรับรอง ตัวตนได้รับการตรวจสอบด้วยห่วงโซ่ใบรับรองหรือลายนิ้วมือของคีย์คู่สัญญาที่ไคลเอนต์ถูกกำหนดค่าไว้ ไม่ใช่ด้วยการสะกดชื่อโฮสต์ ชื่อที่มีคำของโครงการที่คุ้นเคยพิสูจน์เพียงว่ามีคนลงทะเบียนมัน อ่านใบรับรองที่บริการนำเสนอและเปรียบเทียบผู้ออกกับหัวเรื่องกับสิ่งที่โปรไฟล์คาดหวัง

openssl s_client -connect vpn.example.net:443 -servername vpn.example.net </dev/null 2>/dev/null |
  openssl x509 -noout -subject -issuer -dates

คำของประเทศไม่ใช่การตรวจสอบตำแหน่ง

ป้าย jp หรือ de ในไดเรกทอรีคือการลงทะเบียน และฐานข้อมูลตำแหน่งทางภูมิศาสตร์ของ IP ขัดแย้งกันบ่อยพอที่ทั้งสองไม่ควรถูกถือเป็นความจริงสัมบูรณ์ โฮสติ้งที่ใช้ร่วมกัน anycast และการกำหนดค่าที่ผิดพลาดง่าย ๆ ล้วนย้ายตำแหน่งที่สังเกตได้ออกห่างจากป้าย

การทดสอบภาคปฏิบัติคือเส้นทางของแอปพลิเคชันเอง: มันเข้าถึงที่อยู่ใด และการตรวจสอบที่อยู่ทางออกจากภายในเซสชันแสดงอะไร ที่อยู่ทางออกที่สังเกตได้เป็นคุณสมบัติของเส้นทางในขณะนั้น ไม่ใช่การรับประกันที่ผูกกับชื่อ ไดเรกทอรีอาสาสมัครเพิ่มอีกชั้นหนึ่ง เพราะ ผู้ที่ลงทะเบียนรายการไม่จำเป็นต้องเป็นผู้ที่ดำเนินการเครื่อง จดบันทึกสิ่งที่คุณวัดและเมื่อใด ไม่ใช่สิ่งที่รายการสัญญาไว้

ตรวจสอบบริการที่เสนอ แล้วจึงตรวจสอบผู้ให้บริการ

เมื่อการขนส่งและตัวตนถูกกำหนดแล้ว คำถามที่เหลือคือพฤติกรรมของผู้ให้บริการ และต้องใช้หลักฐานเป็นเอกสารไม่ใช่การคาดเดา นโยบายความเป็นส่วนตัว ช่องทางติดต่อที่เผยแพร่ และประกาศความโปร่งใสเป็นหลักฐานของเจตนา ไม่มีสิ่งใดพิสูจน์การปฏิบัติ และการไม่มีทั้งสามอย่างก็เป็นข้อมูลเช่นกัน

สำหรับโหนดสาธารณะหรือที่ดำเนินการโดยอาสาสมัคร ให้ถือว่าทางออกใช้ร่วมกันและผู้ที่ดำเนินการสามารถเห็นสิ่งที่ผ่านไป ไม่ใช่ชื่อโฮสต์ แต่สมมติฐานนี้ควรกำหนดสิ่งที่คุณส่งผ่านอุโมงค์

curl -sSI https://vpn.example.net/ | head -n 5
whois 203.0.113.25 | grep -i -E 'orgname|netname'

เก็บชื่อไว้สำหรับสิ่งที่มันทำได้ดี: การค้นหาปลายทางและการเชื่อมต่อกับมัน ทุกสิ่งนอกเหนือจากนั้นต้องทดสอบแยกต่างหาก ในวันที่มันสำคัญ

บทความที่เกี่ยวข้อง