HTTP บน ZeroTier ถูกเข้ารหัสหรือไม่? ตรวจสอบว่า overlay สิ้นสุดตรงไหน
ZeroTier เข้ารหัสการส่งต่อระหว่าง peer ไม่ใช่ช่วง LAN ที่อยู่หลังเราเตอร์หรือบริดจ์ ตรวจสอบว่า overlay สิ้นสุดตรงไหนก่อนจะบอกว่า HTTP ธรรมดาปลอดภัย
ทำการตรวจสอบเหล่านี้ตามลำดับและหยุดที่ข้อแรกที่ล้มเหลว เพราะคำตอบแต่ละข้อเปลี่ยนความหมายของขั้นตอนถัดไป คำถามจริงนั้นแคบ: HTTP ธรรมดาบนเครือข่าย ZeroTier เดินทางแบบเปิดเผยผ่านอินเทอร์เน็ตหรือไม่ ระหว่าง peer ZeroTier สองตัวมักไม่เป็นเช่นนั้น เพราะ overlay เข้ารหัสการส่งต่อช่วงนั้น แต่นั่นเป็นข้อความเกี่ยวกับปลายทางสองจุด ไม่ใช่เกี่ยวกับทุกช่วงที่คำขอเดินผ่าน เราเตอร์ บริดจ์ หรือพร็อกซีย้อนกลับย้ายปลายทาง และข้อความธรรมดาก็เริ่มใหม่ที่อีกฟากของมัน
การตรวจสอบ 1: หาที่อยู่ที่เบราว์เซอร์เรียก
เปรียบเทียบ URL กับสิ่งที่เครื่องมีอยู่จริง ip -brief addr show แสดงอินเทอร์เฟซ zt และที่อยู่ overlay ที่ตัวควบคุมเครือข่ายกำหนดให้ หาก URL ใช้ที่อยู่นั้น ซ็อกเก็ตของเบราว์เซอร์ก็เข้าไปใน overlay
เมื่อชื่อกลับแปลงเป็นที่อยู่ LAN overlay อาจไม่เกี่ยวข้องเลย ไม่ว่าตัวบ่งชี้สถานะของไคลเอนต์จะบอกอะไร ip route get 10.147.20.5 พิมพ์อินเทอร์เฟซและที่อยู่ต้นทางที่เคอร์เนลจะเลือก ดังนั้นอินเทอร์เฟซ zt ที่นั่นหมายความว่าแพ็กเก็ตเข้า overlay และชื่อ NIC จริงของคุณหมายความว่าไม่เข้า ชื่อเพิ่มอีกชั้นหนึ่ง: เรกคอร์ดที่ชี้ไปยังที่อยู่ overlay ทำงานต่างจากที่ชี้ไปยังที่อยู่ LAN และส่วนต่อท้ายการค้นหาหรือรายการในไฟล์ hosts อาจตัดสินอย่างเงียบ ๆ ว่าคุณจะได้อันไหน
การตรวจสอบ 2: ยืนยันว่าปลายทั้งสองเป็น peer ไม่ใช่รีเลย์ที่ถอดรหัส
ZeroTier เข้ารหัสระหว่าง peer และเมื่อไม่มีเส้นทางตรง แพ็กเก็ตจะถูกรีเลย์ผ่านรูทที่ส่งต่อไปโดยยังเข้ารหัสอยู่ zerotier-cli peers ทำเครื่องหมายเส้นทางของแต่ละ peer ว่า DIRECT หรือ RELAY พร้อมตัวเลขความหน่วง เส้นทางที่ถูกรีเลย์เสียรอบไปกลับ ไม่ใช่ความลับ
สิ่งที่เปลี่ยนคำตอบคือสมาชิกที่ไม่ใช่ปลายทางจริง ๆ เมื่ออีกฝั่งเป็นสมาชิก ZeroTier ที่เราเตอร์หรือบริดจ์เข้า LAN จริง overlay จะสิ้นสุดที่สมาชิกนั้น และการส่งต่อถัดไปคืออีเทอร์เน็ตธรรมดา
การตรวจสอบ 3: สังเกตว่าคำขออ่านได้ตรงไหน
บนโฮสต์ที่คุณเชื่อว่าให้บริการหน้าเพจ ให้ดักจับอินเทอร์เฟซ overlay ขณะโหลดใหม่: sudo tcpdump -i ztxxxxxxx -A -c 5 'tcp port 80' บรรทัดคำขอที่อ่านได้ในผลลัพธ์นั้นพิสูจน์ว่าทราฟฟิกมาถึงโฮสต์นั้นโดยถอดรหัสแล้ว และนั่นคือเส้นแบ่งที่คุณตามหา
จากนั้นดักจับบนอินเทอร์เฟซที่หันไปทาง LAN ที่เหลือ หากคำขอเดียวกันปรากฏที่นั่นแบบเปิดเผย มันออกจาก overlay ก่อนถึงแอปพลิเคชัน และทุกอุปกรณ์ในส่วนนั้นอ่านมันได้ หากไม่มีอะไรปรากฏทางฝั่ง LAN แต่หน้ายังโหลดได้ แอปพลิเคชันกำลังสิ้นสุดบนโฮสต์ ZeroTier เอง
การดักจับ loopback ก็สำคัญเมื่อมีพร็อกซีย้อนกลับอยู่ข้างหน้า เพราะพร็อกซ์ที่รับ HTTPS และส่งต่อ HTTP จะย้ายเส้นแบ่งไปยังแบ็กเอนด์ของตัวเอง
การตรวจสอบ 4: คำนึงถึงทุกการส่งต่อหลังเราเตอร์หรือบริดจ์
สมาชิกที่ตั้งค่าให้เราเตอร์ระหว่าง overlay กับ LAN เป็นการออกแบบปกติ และเป็นจุดที่สมมติฐานเหล่านี้ส่วนใหญ่พัง overlay ปกป้องช่วงจากเบราว์เซอร์ถึงเราเตอร์ และไม่มีอะไรหลังจากนั้น บริดจ์เล่าเรื่องเดียวกันด้วยกลไกอื่น: overlay กับส่วนจริงกลายเป็นโดเมนกระจายเสียงเดียว คำขอจากแล็ปท็อปที่ทำบริดจ์จึงข้ามอีเทอร์เน็ตธรรมดาแม้แล็ปท็อปนั้นอยู่ในเครือข่าย ZeroTier
ติดตามมันแทนการสันนิษฐาน traceroute จากไคลเอนต์ไปยังที่อยู่บริการพร้อมตารางเส้นทางบนสมาชิกเกตเวย์แสดงว่าการส่งต่อสุดท้ายคือ zt หรือ eth
ZeroTier ยังมีโหมด trusted-path ที่ยอมทิ้งความปลอดภัยของการขนส่งบนเส้นทางโลคอลที่กำหนดเพื่อประสิทธิภาพ เครือข่ายที่ใช้โหมดนี้ไม่ได้รับสมมติฐานปกติเรื่องเส้นทางที่เข้ารหัส ดังนั้นอ่านการกำหนดค่าเครือข่ายก่อนจะอ้างอิง เอกสารโปรโตคอล อธิบายทั้งการเข้ารหัสระหว่าง peer และข้อยกเว้นนั้น
การตรวจสอบ 5: ตัดสินว่าแอปพลิเคชันยังต้องทำอะไร
การเป็นสมาชิก overlay ยืนยันอุปกรณ์กับเครือข่าย และไม่บอกอะไรเลยว่าบริการอีกฝั่งคือสิ่งที่คุณตั้งใจจะเข้าถึงหรือไม่ HTTPS ตอบคำถามอีกข้อโดยผูกชื่อโฮสต์กับกุญแจ ดังนั้นการป้องกันทั้งสองซ้อนทับกันโดยไม่แทนที่กัน peer ที่ได้รับอนุญาตยังเป็นบริการผิดตัวได้ และปลายทางที่ถูกบุกรุกอ่านคำขอก่อนเข้ารหัสและหลังถอดรหัส ไม่มีกลไกใดตรวจสอบว่าแอปพลิเคชันบันทึกอะไร
สำหรับสิ่งใดที่มีเซสชันใช้ซ้ำได้หรือมีรหัสผ่าน ให้สิ้นสุด TLS ที่แอปพลิเคชันหรือที่พร็อกซ์ที่คุณควบคุม และเปิดการตรวจสอบใบรับรองไว้ เมื่อบริการเดิมต้องอยู่บน HTTP ธรรมดา ให้เขียนเส้นทางโฮสต์ถึงโฮสต์ที่แน่นอนที่อนุญาตให้ใช้ ใครเข้าถึงได้ และส่วนไหนยังไม่ได้รับการป้องกัน บันทึกนั้นคือสิ่งที่ผู้ตรวจสอบในอนาคตต้องการ
"VPN เชื่อมต่ออยู่" ไม่ใช่การประเมินสิ่งใดในนี้ ฉบับที่ซื่อสัตย์ระบุปลายทางทั้งสอง จุด เส้นทางระหว่างกัน และการส่งต่อแรกที่ไม่ถูกครอบคลุม
เก็บผลลัพธ์การดักจับและรายการ peer ไว้ข้างเอกสารบริการ เพื่อให้ใครก็ตามที่เปลี่ยนเส้นทางหรือเพิ่มบริดจ์เห็นว่ากำลังจะทำให้สมมติฐานใดพัง