VPN บน iPhone แยกตามโดเมน: ตัดสินใจว่าการปฏิเสธเกิดขึ้นที่ใด
NeverConnect หยุด VPN ไม่ให้เริ่มทำงาน แต่ไม่ได้บล็อกเว็บไซต์ ตัดสินใจว่าการปฏิเสธเป็นเรื่องของขอบเขตบริการหรือนโยบายที่จัดการ
ข้อกำหนดสองข้อถูกเขียนเป็นประโยคเดียวแล้วนำไปใช้งานในสถานที่ที่แตกต่างกันโดยสิ้นเชิง «ไซต์นี้ต้องเข้าถึงได้ผ่าน VPN เท่านั้น» เป็นข้อความเกี่ยวกับการรับเข้า และที่อยู่ตามธรรมชาติของมันคือเครือข่ายหน้าเซอร์วิส «iPhone เครื่องนี้ต้องไม่ติดต่อโดเมนนั้นโดยตรง» เป็นข้อความเกี่ยวกับอุปกรณ์ และมีเพียงนโยบายไคลเอนต์ที่จัดการเท่านั้นที่แสดงออกได้ ตัดสินใจว่าคุณมีข้อกำหนดใดจริงก่อนเปิดตัวแก้ไขโปรไฟล์
ข้อกำหนดสองข้อที่ฟังดูเหมือนกัน
ลองใช้โฮสต์ตัวอย่าง records.corp.example ในกรณีการรับเข้า คุณเผยแพร่เฉพาะไปยังที่อยู่หลัง VPN ดังนั้นความพยายามโดยตรงจากโทรศัพท์บนเครือข่ายเซลลูลาร์จึงล้มเหลวที่เครือข่าย ขณะที่คำขอเดียวกันผ่านอุโมงค์สำเร็จและยังต้องเข้าสู่ระบบบัญชีจริง ในกรณีอุปกรณ์ โทรศัพท์อาจเข้าถึงอินเทอร์เน็ตสาธารณะได้ โฮสต์จึงถูกแก้ชื่อและตอบทุกคน และที่เดียวที่จะหยุดความพยายามคือตัวอุปกรณ์ เซอร์วิสไม่สามารถบังคับกฎกับคำขอที่ไม่เคยมาถึงได้
การอ่านข้อกำหนดผิดจะปรากฏเป็นการติดตั้งเฉพาะแบบ บันทึกยังเป็นสาธารณะ ผู้ดูแลเชื่อว่า VPN เป็นสิ่งบังคับ และการตรวจสอบความพยายามบนเซลลูลาร์แสดงว่าคำขอไม่เคยเข้าไปในอุโมงค์ ไม่มีอะไรในบันทึกดูเสียหาย เพราะไม่มีอะไรถูกบล็อก
อ่านการกระทำการประเมินตามตัวอักษร
กลไกตามต้องการมีการกระทำสองชั้นที่แตกต่างกัน และการหลอมรวมทั้งสองทำให้เกิดความสับสนส่วนใหญ่ที่นี่ การกระทำของกฎชั้นนอกตัดสินใจว่าเกิดอะไรกับอุโมงค์เมื่อกฎตรงกัน และการกระทำของการประเมินการเชื่อมต่อตัดสินใจว่าเกิดอะไรกับการจับคู่ชื่อโฮสต์ภายในกฎการประเมิน เอกสารอ้างอิง Never Connect ของ Apple อธิบายเฉพาะชั้นที่สอง
| Layer | Action | What it controls |
|---|---|---|
| Outer rule | connect | Bring the tunnel up when the rule matches |
| Outer rule | disconnect | Tear the tunnel down when the rule matches |
| Outer rule | evaluateConnection | Run a hostname evaluation instead of acting directly |
| Outer rule | ignore | Leave the current tunnel state alone |
| Connection evaluation | connectIfNeeded | Start the tunnel when the hostname cannot be resolved |
| Connection evaluation | neverConnect | Do not start the tunnel for that match |
neverConnect เป็นค่าที่ถูกอ่านผิดบ่อยที่สุด เพราะชื่อชวนให้คิดว่าเป็นการบล็อก มันควบคุมการเริ่มอุโมงค์สำหรับชื่อโฮสต์ที่ตรงกัน ไม่ใช่การอนุญาตให้โทรศัพท์เข้าถึงชื่อ ดังนั้นรายการ Never Connect จึงไม่ใช่การบล็อกโดเมน การเรียกมันเช่นนั้นในเอกสารออกแบบคือวิธีที่การติดตั้งได้รับการอนุมัติพร้อมขอบเขตการบังคับใช้ที่มันไม่มี
เมื่อคุณเป็นเจ้าของเซอร์วิส ให้บังคับใช้ที่ขอบเขต
การจำกัดการรับเข้าหมายถึงการเผยแพร่ชื่อเฉพาะที่ซึ่งเส้นทาง VPN เข้าถึงได้ แล้วทดสอบว่าเส้นทางที่ตั้งใจทำงานและอีกเส้นทางไม่ทำงาน ครอบคลุมทุกระเบียนที่เผยแพร่ ทั้งสองตระกูลที่อยู่หากคุณเผยแพร่ และชื่อกลางหรือชื่อทางเลือกใดที่แอปใช้ CNAME เก่าที่ยังชี้ไปยังตัวกระจายโหลดสาธารณะทำให้เส้นทางตรงยังมีชีวิต ไม่ว่าบันทึกหลักจะเรียบร้อยเพียงใด
สิ่งนี้ปกป้องเซอร์วิสมากกว่าอุปกรณ์ ไม่ได้หยุดโทรศัพท์จากการส่งคำถาม DNS และไม่ได้หยุดแอปจากการพยายาม หากความพยายามเหล่านั้นยอมรับได้ การบังคับใช้ที่ขอบเขตเป็นทางเลือกที่ถูกกว่าและทนกว่า เพราะใช้ได้กับทุกไคลเอนต์ไม่ใช่เฉพาะที่คุณกำหนดค่าไว้ มันยังอยู่รอดกับโทรศัพท์ที่ไม่เคยลงทะเบียน
เมื่อโทรศัพท์ไม่ควรลองด้วยซ้ำ คุณต้องมีนโยบายที่จัดการ
การหยุดความพยายามต้องใช้นโยบายการบังคับใช้ที่รองรับ ซึ่งครอบคลุมแอปหรือปลายทางก่อนเชื่อมต่อ ระหว่างอุโมงค์ล้มเหลว และหลังการเปลี่ยนเครือข่าย ขอให้ผู้ให้บริการ VPN หรือการจัดการอุปกรณ์ระบุชื่อนโยบายนั้น บอกว่าต้องมีการจัดการองค์กรหรือไม่ และอธิบายว่ามันส่งผลต่ออะไรอีก อุโมงค์ต่อแอปบวกกฎตามต้องการไม่ใช่สิ่งเดียวกัน และทางลัดจากหน้าจอหลักไปยังการเชื่อมต่อก็ไม่ใช่เช่นกัน
ทดสอบกรณีล้มเหลวโดยปิดใช้งานอุโมงค์และดูว่าคำขอออกไปหรือไม่ หากออกไป ขอบเขตที่คุณบันทึกไว้ไม่ใช่ขอบเขตที่คุณติดตั้ง
ตัดสินใจด้วยสามคำถาม
ข้อแรก คุณควบคุมเซอร์วิสหรือเพียงโทรศัพท์ ข้อสอง อุปกรณ์ใช้อินเทอร์เน็ตสาธารณะอย่างชอบธรรมสำหรับทุกสิ่งอื่นได้หรือไม่ ข้อสาม โทรศัพท์ถูกจัดการหรือไม่ และโดยใคร การเป็นเจ้าของเซอร์วิสรวมกับกองอุปกรณ์ที่จัดการหมายความว่าชั้นใดก็พร้อมใช้ ขณะที่การเป็นเจ้าของเพียงโทรศัพท์ทำให้นโยบายไคลเอนต์เป็นทางเลือกเดียวและต้องได้รับการรองรับ
ตอบสามข้อนั้นก่อนแตะโปรไฟล์ จากนั้นการกำหนดค่าจะเลิกเป็นการเดาว่ากล่องทำเครื่องหมายชื่อ Never หมายถึงอะไร