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

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

ส่วนของขั้นตอนการทำงานที่ไม่มีใครตั้งค่า

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

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

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

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

โพรเซสใดสร้างการเชื่อมต่อจริง

วัดฝั่งที่รับแทนการคาดเดา เปิดอุโมงค์ไว้ คลิกลิงก์ที่ไม่เป็นอันตราย และดูซ็อกเก็ตที่โปรแกรมใหม่ถืออยู่

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

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

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

ความครอบคลุมเป็นคุณสมบัติของขั้นตอนการทำงาน

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

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

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

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

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