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

แซนด์บ็อกซ์ได้อะไรจริง ๆ

แซนด์บ็อกซ์คือเครื่องเสมือนขนาดเบาที่มีอะแดปเตอร์เครือข่ายของตัวเอง อะแดปเตอร์นั้นเชื่อมผ่านสวิตช์ค่าเริ่มต้น Hyper-V ของโฮสต์ ซึ่งแปลงทราฟฟิกของแซนด์บ็อกซ์ไปยังอินเทอร์เฟซ Ethernet เสมือนของโฮสต์ก่อนที่จะออกจากเครื่อง รายละเอียดนี้อธิบายอาการเกือบทุกอย่างที่ผู้คนรายงานเกี่ยวกับเรื่องนี้

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

สองข้อกำหนดที่ดูเหมือนข้อเดียว

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

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

เขียนไว้ก่อนทดสอบอะไรว่าคุณต้องการข้อใดจากสองข้อ เพราะสองข้อกำหนดนำไปสู่การออกแบบที่ต่างกัน และมีเพียงข้อเดียวที่ตรวจสอบได้ด้วยเบราว์เซอร์

ตรวจจากภายในแซนด์บ็อกซ์

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

ipconfig /all
Resolve-DnsName files.corp.example
Test-NetConnection 198.51.100.7 -Port 443
Get-NetRoute -DestinationPrefix 0.0.0.0/0

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

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

ปิดเครือข่ายเมื่อแซนด์บ็อกซ์ไม่จำเป็นต้องใช้

สำหรับการตรวจแบบออฟไลน์ ไฟล์กำหนดค่าที่กำหนดเองสามารถถอดเครือข่ายออกได้ทั้งหมด การตั้งค่านี้เป็นองค์ประกอบเดียวในเอกสารกำหนดค่า

<Configuration>
  <Networking>Disable</Networking>
</Configuration>

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

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

ออกแบบขอบเขตก่อนจะให้สิทธิ์อะไร

หากข้อกำหนดคือการแยกตัวอย่างเข้มงวด ให้เลือก การออกแบบเครือข่ายของเครื่องเสมือนที่บังคับใช้ได้ และใช้นโยบายที่รองรับของผลิตภัณฑ์ VPN สำหรับทราฟฟิกที่ส่งต่อหรือทราฟฟิกของเครื่องเสมือน การเดาพฤติกรรมของไคลเอนต์บนโฮสต์ไม่ใช่การออกแบบ และการตรวจที่สำเร็จครั้งเดียวไม่ใช่การนำไปใช้

อย่าให้โปรไฟล์ VPN ขององค์กรหรือข้อมูลรับรองส่วนตัวแก่แซนด์บ็อกซ์ที่ไม่น่าไว้วางใจเพื่อให้การทดสอบผ่าน นั่นแลกขอบเขตที่คุณพยายามสร้างกับผลลัพธ์สีเขียว และข้อมูลรับรองนั้นอยู่ได้นานกว่าการทดสอบ

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

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