ניוד פרופיל OpenVPN: מפתחות ניידים מול אפשרויות פלטפורמה
קובץ .ovpn מערבב חומר זהות נייד עם הנחיות שרק לקוח אחד מבין. השוו בין השניים לפני שתאשימו את האישור בכשל.
אותו קובץ .ovpn פותח מנהרה בלקוח אחד ונכשל לעלות באחר, והאישור הוא בדרך כלל החשוד הראשון. לעתים קרובות יותר הקובץ מכיל הנחיה שרק מנוע אחד מיישם. פרופיל הוא חוזה עם לקוח מסוים, לא תסריט נייד.
הפרידו בין מה שנוסע עם הזהות לבין מה ששייך לפלטפורמה. אז הכשל בדרך כלל נותן לעצמו שם.
קובץ אחד, שני חוזים
פרופיל אוסף שלושה סוגי תוכן: חומר זהות כמו אישורי CA ולקוח והמפתח הפרטי, עובדות תעבורה כמו נקודת הקצה המרוחקת והפרוטוקול, והנחיות התנהגות כמו טיפול ב-DNS או אפשרויות התקן. שני הראשונים ניידים במידה רבה בין מנועים שתומכים באותו פרוטוקול. השלישי הוא המקום שבו המימושים מתפצלים. התייחסות לקובץ כולו כיחידה ניידת אחת היא מה שיוצר את הכשלים המבלבלים.
קובץ שעובד ב-GUI בפלטפורמה אחת אינו תקף אוטומטית ללקוח שורת הפקודה בפלטפורמה אחרת. גם כששניהם OpenVPN, המנתחים וקבוצות האפשרויות שונים. לכן ייבוא מוצלח אינו הוכחה לפרופיל נייד.
חומר נייד מול הנחיות פלטפורמה
סעיפי הזהות והתעבורה הם החלק שיש לשמר. ca, cert, key ו-remote מתארים מי מתחבר ולאן, והם אומרים את אותו הדבר לכל לקוח תואם.
הנחיות התנהגות הן החלק שיש להשוות. block-outside-dns, למשל, קיימת כדי לשנות את התנהגות ה-DNS ב-Windows. ייתכן שלקוח Unix לא יזהה אותה כלל.
קראו את רשימת האפשרויות של הלקוח המקבל ולא של השולח. מדריך העיון של OpenVPN 2.6 מתעד את אפשרויות המנוע, ותיבת הייבוא של GUI אינה הרשימה הזו.
קראו את שגיאת המנתח לפני האישור
שגיאה שמציינת אפשרות לא מוכרת היא כשל מנתח, לא כשל אימות. החיבור מעולם לא הגיע ל-TLS, ולכן החלפת אישורים לא יכולה לעזור. קראו את השגיאה הראשונה מהלקוח והגרסה בפועל, ואז הסירו או החליפו רק את ההנחיה שאותו לקוח אינו יכול ליישם. מחיקת סעיפי אישור או נתיב כדי שהקובץ ייטען היא הדרך שבה פרופיל עובד הופך ללא מאובטח.
אם השגיאה מזכירה את לחיצת היד, אישור או צופן, הפרופיל נותח והבעיה במקום אחר.
שמרו את הקובץ המקורי לצד המותאם. כשהקובץ המותאם ייכשל מאוחר יותר, המקורי הוא הבקרה שאומרת לכם אם השינוי או הסביבה זזו.
הרשאות הן גבול שני
הרשאות הן הגבול האחר: יצירת התקן מנהרה, התקנת נתיבים וקריאת מפתח פרטי תלויים כולם בהרשאות מקומיות. קובץ מפתח שקרא רק root הוא פריסה רגילה, לא פגם בפרופיל. התיקון שייך לבעלות או ליכולות, לא לקובץ.
הרצת הלקוח עם sudo יכולה לפתור דחיית הרשאה מקומית, והיא אינה יכולה להוסיף הנחיה שהבינארי אינו מיישם. היא גם משנה איזו צרור מפתחות, אילו נתיבי תצורה ואיזה הקשר של מנהל רשת חלים, ולכן התוצאה אינה אותה בדיקה.
התאימו במכוון
כשספק מפרסם פרופילים נפרדים, קחו את זה שמיועד ללקוח המקבל. התאמת קובץ של פלטפורמה אחרת היא מוצא אחרון. היא דורשת תיעוד של כל אפשרות ששונתה והעתק של המקור.
בדקו זהות, ניתוב ו-DNS כשלוש תוצאות נפרדות. פרופיל שמאמת ומנתב אך שובר את פתרון השמות הוא פרופיל מותאם חלקית, לא פרופיל עובד.