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.