תכננו הגדרות IKEv2 שמתאימות ליותר מלקוח אחד
פרופיל שולחני עובד בחן לקוח אחד. סכמו את חוזה הזהות, בחרו חיתוך נתמך, ואז בחנו חידוש ושינה בכל פלטפורמה.
פרופיל עובד על שולחן עבודה אחד הוא מבחן מוצלח של לקוח אחד. זה אינו פריסה חוצת-פלטפורמות, והתייחסות אליו כאל כזו מייצרת את דפוס התמיכה המוכר: Windows מתחבר, הטלפון נכשל בבדיקת הזהות, והמחשב הנייד המנוהל מתחבר מחדש בכל פעם שהוא מתעורר. ההבדלים אמיתיים ובעיקר צפויים, ולכן התוכנית צריכה להיות מטריצה ולא צילום מסך.
קבעו תחילה את חוזה הזהות
תעדו את זהות השרת, את האמון בתעודה ואת שיטת אימות הלקוח לפני שתדונו באלגוריתמים. שלושת אלה קובעים אם לקוח יכול להזדהות בכלל, ואלה החלקים שפלטפורמות מבטאות אחרת.
בדקו כיצד כל פלטפורמה מכנה את המזהה הצפוי וכיצד היא מטפלת בשמות נושא חלופיים. פרופיל שמקבל שם שרת בלקוח אחד עשוי לדחות את אותה תעודה בלקוח אחר, משום ששדה המזהה מתמלא מערך אחר.
| Contract element | What to decide | Where platforms diverge |
|---|---|---|
| Server identity | Name or address the client must see | Identifier field and SAN matching |
| Client authentication | Certificate, EAP method or both | Which EAP variants exist and how prompts appear |
| Trust anchor | Which CA and how it is delivered | Store location and provisioning path |
לאחר מכן בחרו את החיתוך הקריפטוגרפי
השוו את ההצעות שכל לקוח נתמך יכול להציע ובחרו חיתוך מודרני שגם השער מתיר. אל תפעילו רשימה ישנה גדולה מדי כדי שמכשיר ישן אחד יתחבר, משום שהרשימה הזו הופכת לברירת המחדל של השער לכל מי שיבוא אחר כך. כתבו מדוע כל אפשרות ישנה עדיין קיימת. אם איש אינו יכול לנקוב במכשיר שזקוק לה, זו אינה דרישה.
שמרו על הפרדה בין הגדרות IKE ל-CHILD בתוכנית. הצעה שמקובלת להחלפת IKE אינה מקובלת אוטומטית לתעבורה מוגנת, ושתיהן מנוהלות במשא ומתן בנפרד. שער שמקבל הצעה בשכבה אחת עדיין עשוי לסרב לה בשכבה האחרת, והיומן יציג כשל שנראה כאילו השכבה הראשונה הצליחה.
ספקו אישורים בתהליך מאומת, ושמרו סיסמת משתמש, סוד משותף ומפתח פרטי של לקוח בשדות נפרדים. ניסוי וטעייה על קופסאות בעלות שמות דומים הוא הדרך שבה מבחן עובד הופך לבלתי ניתן לשחזור.
בחנו את מחזור החיים, לא את המצב היציב
לכל לקוח, בחנו את האימות הראשוני, את היישום המיועד, את פתרון ה-DNS ואת כיסוי משפחות הכתובות. לאחר מכן תרגלו את החלקים שמופיעים רק מאוחר יותר: חידוש, שינה ושינוי רשת רגיל.
תמיכת MOBIKE והתנהגות אימות מחדש עשויות להיות שונות מהתוצאה היציבה שמדדתם זה עתה. תעדו את האירוע ואת מצב האגודה באותו רגע, ולא רק אם הממשק נראה לבסוף מחובר.
הגדירו מה מותר לתעבורה ישירה לעשות כאשר ה-VPN אינו זמין. זו החלטת מדיניות נפרדת מהשאלה אם הלקוח מתחבר מחדש, ורוב הפריסות עונות על השאלה השנייה תוך התעלמות מהראשונה. כתבו את התשובה בהערות הפריסה לצד שמות הפרופילים. מישהו יזדקק לה בזמן תקלה, ולא יהיה לו זמן לשחזר אותה.
השתמשו בבדיקות זהות שרת כאשר פלטפורמה אחת אינה מסכימה
כאשר פרופיל עובד בפלטפורמה אחת ואחרת דוחה את שמו, השוו את המזהה שהלקוח שלח בפועל למזהים שהתעודה נושאת. ההשוואה הזו פותרת את רוב המקרים האלה מהר יותר משינוי רשימות הצפנה.
שמרו את המטריצה הנבדקת יחד עם מקור התצורה ונוהל העדכון. כאשר התמיכה בלקוח ישן מסתיימת, הסירו את החריג שלו במכוון במקום להשאיר הגדרות תאימות חלשות חבויות בשער לבדיקה הבאה. התיעוד של strongSwan ל-IKEv2 הוא עזר שימושי לאופן שבו מגדירים את ההחלפות.