פרופילי IKEv2 VPN באנדרואיד הם לפי משתמש, לא לפי מכשיר
המנהרה מוקצית לכל משתמש ולכל חבילה קוראת, ולכן הרשומה בטלפון עלולה להיות הלא נכונה. בדקו בעלות לפני ההגדרות.
הביטוי VPN מובנה באנדרואיד מכסה שני דברים לא קשורים: מימוש פרוטוקול שהפלטפורמה מריצה בשמכם, וצורת ההגדרות שהיצרן בחר לחשוף. אלה אינם אותו אובייקט, ואף אחד מהם לא מבטיח שהמנהרה שייכת למשתמש שהאפליקציות שלו זקוקות לה. ההקצאה מתרחשת במשתמש מסוים עם חבילה קוראת מסוימת, וכל מה שאחר כך יורש את ההקשר הזה. קראו את שרשרת הבעלות לפני מסך ההגדרות.
מה הפלטפורמה בונה עבורכם
מאז אנדרואיד 11 הפלטפורמה חושפת הקצאת VPN דרך VpnManager. אפליקציה מאושרת מתארת פרופיל IKEv2, והפלטפורמה עצמה מבצעת את חילופי IPsec ו-IKE, כך שהאפליקציה לא נוגעת במנות כלל. זהו ההבדל המהותי מאפליקציית VPN משלכם, שמממשת VpnService ובונה את המנהרה בתהליך שלה.
val profile = Ikev2VpnProfile.Builder(serverAddress, identity)
.setAuthUsernamePassword(user, secret, rootCa)
.build()
getSystemService(VpnManager::class.java).provisionVpnProfile(profile)הקריאה שלמעלה היא סקיצה של הצורה, לא בלוק להעתקה: לבונה יש כמה גרסאות אימות, הן נבדלות לפי רמת API, והפרופיל נושא גם את חומר האמון של תעודת השרת. לשאלת הבעלות, העיקר צר יותר מהתחביר.
שתי תכונות נובעות מהתכנון הזה. הפרופיל הוא נתונים, ולכן מנהל יכול להקצות אותו במקום להקליד ביד. והמנהרה היא רשת של הפלטפורמה, ולכן היא נראית לאפליקציות כרשת עם תעבורת VPN ולא כסוקט של אפליקציה אחרת.
הבעלות היא המשתמש, ואז החבילה
ריבוי משתמשים באנדרואיד הוא הפרדה אמיתית, לא תווית. פרופיל עבודה הוא משתמש נפרד עם החבילות המותקנות שלו, נתוני האפליקציות שלו, מאגר המפתחות שלו ועוגני האמון שלו. אותו מוצר המותקן בשני המקומות הוא שני מופעים עם מזהי משתמש שונים, גם כשהסמלים והשמות זהים.
ההקצאה נרשמת מול החבילה הקוראת באותו משתמש. לכן אפליקציית הקצאה שרצה בפרופיל האישי יוצרת מנהרה אישית, ואפליקציות העבודה בפרופיל העבודה לא רואות ממנה דבר. גם ההפך נכון, ולכן מנהרה של פרופיל עבודה אינה נראית לאפליקציות אישיות בלי מדיניות מפורשת שאומרת אחרת.
בקר מדיניות מכשיר יכול להקצות בשם פרופיל מנוהל, וזה מסביר את הרשומה שאיש במשרד לא זוכר שיצר. אם אתם מבקרים טלפון, זהו הבעלים הסביר של פרופיל אפור, ולא לכם למחוק אותו כניסוי.
שלושה שערים לפני שמנה זזה
השער הראשון הוא סמכות: הניהול חייב להתיר VPN בכלל, ופריסות אחדות מגבילות גם את הסוג ולא רק את הקיום. השני הוא זהות: תעודת הלקוח או פרטי ההתחברות חייבים להיות זמינים במשתמש שבעל הפרופיל, כי תעודה שיובאה למאגר האישי אינה נראית לפרופיל העבודה.
השלישי הוא הסכמה ומדיניות. משתמש בדרך כלל מאשר את החיבור בשימוש הראשון, ומנהל יכול בנוסף לנעוץ אותו כפעיל תמיד, ולחלופין עם נעילה כך שהתעבורה לא תצא מחוץ למנהרה. ההגדרות האלה קובעות מה קורה כשהמנהרה נופלת, וזה החלק שאנשים שמים לב אליו.
ההיקף הוא המקום שבו שלושתם נפגשים. הפרופיל קובע את השער ואת הזהות, בעוד שכבת המדיניות קובעת אילו אפליקציות רשאיות להשתמש במנהרה ואם התעבורה נכפית דרכה. לכן שני טלפונים עם כתובות שער זהות יכולים להתנהג אחרת לגמרי.
מדוע חיבור אישי אינו מכסה אפליקציות עבודה
תעבורה מאפליקציית עבודה נוצרת במשתמש העבודה, ומדיניות הרשת החלה היא זו שבאותו משתמש. מנהרה שהוקמה בפרופיל האישי אינה נושאת אותה, כמה שהמחוון ייראה תקין. העובדה האחת הזו מסבירה את רוב הדיווחים שבהם משתמש נשבע שה-VPN מחובר ואפליקציה מסוימת עדיין לא מגיעה לשירות פנימי.
פתרון שמות הולך באותו גבול. סיומות DNS פרטיות ועוגני אמון הם לפי משתמש, ולכן שם מארח פנימי שנפתר בפרופיל האישי עלול להיכשל בפרופיל העבודה גם עם מנהרה שנראית שקולה, כי מדיניות הפותר ומאגר ה-CA הם אובייקטים שונים.
אמתו ברישום אמיתי, לא בטלפון מעבדה
במכשיר, זהו תחילה את בעל הרשומה: איזה משתמש, איזו חבילה, והאם הפרופיל בא ממקצה הפלטפורמה או מאפליקציה עם שירות VPN משלה. אחר כך אשרו שהזהות שהפרופיל מצפה לה אכן נמצאת במאגר המפתחות של אותו משתמש.
בדקו את מחזור החיים, לא רק את החיבור. התחברו, פתחו את מאגר פרטי ההתחברות, תנו לפרופיל העבודה לנוח להערב, החזירו אותו ובדקו שהמנהרה חוזרת בלי נגיעה ידנית. פרופיל עבודה שנכבה אחרי שעות העבודה לוקח את המנהרה איתו, וזו התנהגות צפויה ולא תקלה, כל עוד מצב אי-הזמינות הצפוי כתוב.
לבסוף, בדקו את אפליקציית העבודה עצמה מול נקודת קצה פנימית מוכרת והשוו לתוצאה של הפרופיל האישי. מותר להם להיות שונים; מה שאסור שיהיה שונה הוא מודל הבעלות. אם המנהרה שייכת למשתמש הלא נכון, שום הוצאה מחדש של תעודות לא תתקן זאת.
אל תכפו את העניין בהפעלת פעילויות הגדרות נסתרות כדי לחשוף תפריט, ואל תעתיקו מפתחות פרטיים בין פרופילים כדי שחיבור ייראה. תיעוד VpnManager מפרט מה קורא רשאי להקצות; אם המסלול המאושר אינו כולל את המקרה שלכם, זו החלטה של המנהל ולא בעיית הגדרות.