บล็อกการกำหนดค่า VPN บน Android: รายการตรวจสอบก่อนทยอยใช้งาน
ตัดสินนโยบาย ยืนยันอำนาจที่คุณมีจริง ตรวจสอบพฤติกรรมตามเวอร์ชัน และรักษาเส้นทางที่อนุมัติแบบเชื่อมต่อตลอดเวลาให้ยังใช้งานได้ก่อนบังคับใช้
มีคนขอให้คุณหยุดยั้งไม่ให้ผู้คนกำหนดค่า VPN ของตนเองบนอุปกรณ์ Android ที่มีการจัดการ คำตอบที่ชวนให้หลงผิดคือกฎไฟร์วอลล์ที่บล็อกพอร์ตที่คุ้นเคยเพียงไม่กี่พอร์ต คำตอบนั้นมองข้ามวิธีที่แพลตฟอร์มทำงานและวิธีที่แอปเชื่อมต่อจริง
การควบคุมที่รองรับคือข้อจำกัดด้านการจัดการบนอุปกรณ์หรือโปรไฟล์ที่คุณเป็นเจ้าของ และมีขอบเขตที่ชัดเจน พฤติกรรมที่ขึ้นกับเวอร์ชัน และข้อยกเว้นที่คุณต้องกำหนดค่าอย่างตั้งใจ
ทำการตรวจสอบทั้งห้าข้อด้านล่างตามลำดับ แต่ละข้อสามารถทำให้แผนเป็นโมฆะได้ จึงหยุดที่ข้อแรกที่ไม่ผ่าน
การตรวจสอบ 1: ตัดสินว่าไม่มี VPN หมายความว่าอย่างไร
ข้อกำหนดสองข้อซ่อนอยู่หลังประโยคเดียวกัน ข้อหนึ่งคือไม่มีผู้ใช้รายใดสร้าง VPN ของตนเองได้ อีกข้อคืออนุญาตให้ทำงานได้เฉพาะ VPN ที่ได้รับอนุมัติขององค์กรเท่านั้น ทั้งสองข้อชอบด้วยเหตุผล และให้การกำหนดค่าที่แตกต่างกัน เรื่องราวการสนับสนุนที่แตกต่างกัน และโหมดความล้มเหลวที่แตกต่างกัน
เขียนลงไปว่าคุณกำลังซื้อข้อไหนก่อนแตะคอนโซลการจัดการใด ๆ ถ้าเจตนาคืออุโมงค์ที่อนุมัติหนึ่งเส้นทางสำหรับทุกคน คุณกำลังใช้เส้นทางที่อนุมัติโดยมีข้อห้ามล้อมรอบ ถ้าเจตนาคือไม่มีอุโมงค์เลย คุณต้องยอมรับด้วยว่าเส้นทางการเข้าถึงระยะไกลและการแก้ปัญหาจะเปลี่ยนไป
ผิดพลาดตรงนี้ การทยอยใช้งานจะดูเหมือนทำงานได้ แต่ตัด VPN ที่การดำเนินงานพึ่งพาอยู่อย่างเงียบ ๆ ซึ่งโดยปกติแล้วคนที่เข้าเวรจะพบในเวลาที่ไม่สะดวก
การตรวจสอบ 2: ยืนยันอำนาจที่คุณมีจริง
Android เปิดเผยข้อจำกัดนี้ผ่าน UserManager.DISALLOW_CONFIG_VPN ซึ่งบันทึกไว้ใน เอกสารอ้างอิง UserManager ข้อจำกัดนี้ป้องกันการกำหนดค่าและการเริ่มต้น VPN และไม่ใช่การตั้งค่าที่แอปทั่วไปสามารถใช้กับตัวเองหรือกับแอปอื่นได้
ผู้ดูแลระบบที่ได้รับอนุญาตเป็นผู้ใช้บังคับ ได้แก่ เจ้าของอุปกรณ์สำหรับอุปกรณ์ทั้งเครื่อง หรือเจ้าของโปรไฟล์สำหรับโปรไฟล์ที่จัดการ โดยมีอำนาจเดียวกันสำหรับเจ้าของโปรไฟล์ภายในโปรไฟล์ที่จัดการ หาก EMM ของคุณไม่สามารถทำหน้าที่เป็นหนึ่งในนั้นได้ คุณก็ไม่มีการควบคุมนี้ และการกำหนดค่านโยบายในคอนโซลไม่ว่าจะมากเพียงใดก็จะไม่สร้างมันขึ้นมา
ขอบเขตสำคัญพอ ๆ กับอำนาจ ข้อจำกัดที่ใช้กับโปรไฟล์งานควบคุมโปรไฟล์นั้น ไม่ใช่ด้านส่วนตัวของโทรศัพท์เครื่องเดียวกัน การอธิบายว่าเป็นการควบคุมทุกสิ่งที่ผู้ใช้ทำนั้นไม่ถูกต้อง และคนแรกที่ติดตั้ง VPN ในโปรไฟล์ส่วนตัวแล้วพบว่ามันทำงานได้จะทดสอบเรื่องนี้
การตรวจสอบ 3: รู้พฤติกรรมตามเวอร์ชัน
ข้อจำกัดนี้เปลี่ยนไประหว่างรุ่น และความแตกต่างเป็นตัวกำหนดว่าการทยอยใช้งานของคุณจะทำอะไรจริงบนอุปกรณ์ในภาคสนาม
| ขอบเขตของแพลตฟอร์ม | พฤติกรรมที่บันทึกไว้ |
|---|---|
| เจ้าของอุปกรณ์หรือเจ้าของโปรไฟล์ | สามารถใช้ข้อจำกัดภายใต้อำนาจของเจ้าของนั้น |
| API 24 ขึ้นไป | ระบบยังคงเริ่ม VPN แบบเชื่อมต่อตลอดเวลาที่เจ้าของอุปกรณ์หรือโปรไฟล์กำหนดค่าไว้ |
| API 31 ขึ้นไป | การเปิดข้อจำกัดจะตัดการเชื่อมต่อ VPN ที่ผู้ใช้เปิดใช้อยู่แล้ว |
แถว API 31 คือแถวที่ทำให้คนประหลาดใจกลางการทยอยใช้งาน บนอุปกรณ์เหล่านั้นการบังคับใช้ไม่ใช่เรื่องผิวเผิน มันตัดการเชื่อมต่ออุโมงค์ที่ทำงานอยู่แล้ว วางแผนให้เป็นเหตุการณ์ที่มองเห็นได้ ไม่ใช่การเปลี่ยนการตั้งค่าแบบเงียบ ๆ
แถว API 24 คือแถวที่ช่วยคุณไว้ VPN แบบเชื่อมต่อตลอดเวลาที่เจ้าของกำหนดค่าไว้อยู่รอดจากข้อจำกัด และนั่นคือวิธีที่เส้นทางที่อนุมัติยังคงใช้งานได้
การตรวจสอบ 4: รักษาเส้นทางที่อนุมัติให้ยังใช้งานได้
กำหนดค่าและทดสอบ VPN แบบเชื่อมต่อตลอดเวลาขององค์กรก่อนบังคับใช้ข้อจำกัด ไม่ใช่หลัง หากบังคับใช้ก่อน อุปกรณ์จะสูญเสียทั้งอุโมงค์และเครื่องมือที่คุณจะใช้วินิจฉัยอุปกรณ์เหล่านั้นในเวลาเดียวกัน
ตรวจสอบสามสิ่งอย่างชัดเจน ว่า VPN แบบเชื่อมต่อตลอดเวลาสร้างโดยเจ้าของไม่ใช่ผู้ใช้ ว่าเริ่มทำงานบนอุปกรณ์เหล่านั้นหลังการบังคับใช้ และว่าอยู่รอดจากการรีบูต อุโมงค์ที่ขึ้นมาได้ด้วยมือเท่านั้นไม่ใช่เส้นทางที่อนุมัติ มันคือคิวตั๋วสนับสนุน
เก็บเส้นทางการกู้คืนที่ไม่ขึ้นกับการที่อุโมงค์ทำงานอยู่ คอนโซลการจัดการ เส้นทางผู้ดูแลระบบภายใน หรือช่องทางนอกแบนด์ ใช้ได้ทั้งหมด สิ่งที่ใช้ไม่ได้คือการสันนิษฐานว่าคุณซ่อมนโยบายที่เสียหายได้ผ่านการเชื่อมต่อที่นโยบายเพิ่งปิดไป
การตรวจสอบ 5: ตรวจสอบ แล้วจึงอธิบายขีดจำกัดอย่างตรงไปตรงมา
ทดสอบด้วยอุปกรณ์จริงและบัญชีจริง ยืนยันว่าผู้ใช้ไม่สามารถเพิ่มหรือเริ่ม VPN ได้ ยืนยันว่าอุโมงค์ที่อนุมัติเชื่อมต่อและรับส่งข้อมูลได้ และยืนยันว่าโปรไฟล์ส่วนตัวยังทำงานตามที่บันทึกไว้ สามผลลัพธ์นั้นคือเกณฑ์การยอมรับ
จากนั้นระวังสิ่งที่คุณอ้าง ข้อจำกัดนี้ควบคุมความสามารถ VPN ของ Android มันไม่ได้เปลี่ยนทุกการเชื่อมต่อที่อนุญาตให้เป็นโปรโตคอลที่ถูกตรวจสอบ และไม่ได้หยุดแอปไม่ให้กำหนดเส้นทางการร้องขอของตนเองผ่านพร็อกซีที่ชัดเจน การบล็อก UDP 500, UDP 4500 และ OpenVPN พอร์ตหนึ่งพอร์ตไม่ใช่การควบคุมเดียวกัน เพราะข้อมูลสามารถเดินทางผ่านตัวขนส่งหลายแบบ รวมถึง HTTPS ที่ดูธรรมดา
หากข้อกำหนดกว้างกว่าความสามารถ VPN ให้รวมสิ่งนี้กับนโยบายการกระจายแอป การควบคุมบัญชี และข้อจำกัดเครือข่ายที่เหมาะกับสภาพแวดล้อม และบันทึกว่าอะไรอยู่นอกขอบเขต เพื่อไม่ให้ใครนำข้อจำกัดบางส่วนไปพูดซ้ำว่าเป็นข้อจำกัดทั้งหมดในการตรวจสอบครั้งถัดไป