למה העתקת תצורת שרת OpenVPN לסניף נכשלת
לקוח סניף זקוק לזהות משלו, לפרופיל בתפקיד לקוח ולנתיב שהרכז קושר לעמית הזה. העתקת קובץ השרת מעתיקה את התפקיד הלא נכון.
העתקת תצורת השרת העובדת, החלפת כמה כתובות וקריאה לזה פרופיל סניף בדרך כלל מפיקה חיבור. זו התוצאה הגרועה ביותר, כי הסניף פועל אז בתפקיד הלא נכון, חושף חומר שלא אמור לעזוב את הרכז, ומשאיר שיוך נתיב שאיש אינו זוכר שיצר. החיבור מסתיר שלוש בעיות בבת אחת, והמנהרה עולה לפני שמישהו בודק אותן.
התייחסות לסניף כאל עמית עם זהות ותפקיד רשת משלו היא מה שהופך את הפרופיל לנכון. התיקון אינו העתק טוב יותר, ושאר העמוד עוסק במה שלקוח אמור באמת להחזיק.
שני תפקידים שנראים כמו קובץ אחד
במצב TLS לשני הצדדים יש תפקידים משלימים. צד אחד מאזין, מחזיק את תעודת השרת והמפתח ומחליט אילו לקוחות רשאים להתחבר. הצד השני יוזם, מאמת את המאזין ומציג זהות משלו.
קובץ שרת מכיל הנחיות שאין להן משמעות אצל לקוח: כתובת קישור ופורט להאזנה, מאגר כתובות לחלוקה ולעיתים רשימת דחיפה להגדרות שהלקוחות אמורים לקבל. העתקתן לסניף מפיקה התקן שמנסה להיות מאזין ולקוח בו זמנית.
המפתח הפרטי הוא החלק החשוב ביותר. לקוח אסור שיישא את המפתח הפרטי של השרת, והוא גם אינו זקוק למפתח החתימה של ה-CA. תעודת CA היא חומר אמון ציבורי; מפתח החתימה שייך למקום שבו מונפקות תעודות.
מה חייב פרופיל סניף להכיל
פרופיל סניף זקוק לנקודת הקצה המרוחקת ולתחבורה, לזהות השרת המהימנה, לתעודה ולמפתח של הסניף עצמו, ולנתיבים ולהגדרות ה-DNS שהסניף באמת דורש. שום דבר אחר אינו חובה.
החזק את זהות הסניף נפרדת לכל אתר. שני סניפים שחולקים תעודה אחת פירושם שביטול של אחד משבית את האחר, ויומני הרכז אינם יכולים להבדיל ביניהם. זהות לכל אתר היא מה שמאפשר גם את נתיב הביקורת וגם את סיפור הביטול לעבוד.
היזהרו מתהליכי עבודה של התקנים. חבילת Client Export של pfSense מפיקה פרופילים עבור הקשרי Remote Access מתאימים, ורשימת השרתים שלה כוללת רק שרתים שהוגדרו במצב Remote Access. שרת אתר-לאתר ממצב אחר אינו מופיע, והיעדרות זו היא מידע, לא הזמנה להעתיק את סודות השרת.
אם ההתקן אינו מייצא את הפרופיל הדרוש, השתמשו בתהליך הלקוח אתר-לאתר המתועד שלו או בנו את הפרופיל מהדוגמה הנתמכת של הגרסה המותקנת. ייצאו גיבוי שרת לסניף רק אם התוכנית היא לשחזר שרת, וזה אינו המקרה. גיבוי נושא גם חומר פרטי של הרכז, ולכן העברתו לסניף היא החלטת טיפול במפתחות, לא העברת קובץ. החזיקו אותו ברכז וצרו את זהות הלקוח במקום שבו מונפקות תעודות.
השיוך בין העמית לרשת נפרד
לקוח סניף שמתחבר בהצלחה עדיין אינו יכול להעביר תעבורה עבור ה-LAN שלו עד שהרכז יודע כי העמית הזה מחזיק בקידומת הזו. השיוך הזה חי ברכז, קשור לזהות הלקוח, והוא נפרד מהנתיב של הסניף עצמו אל הרשתות המרוחקות. בלעדיו, המארחים של הסניף נראים נגישים בסטטיסטיקה של המנהרה ואינם נגישים בפועל. יומן הרכז הוא המקום שבו מאשרים אם השיוך הוחל.
הוספת נתיב במערכת ההפעלה של הרכז אינה אותו דבר כמו לומר ל-OpenVPN איזה לקוח מחזיק בקידומת. ללא השיוך לכל לקוח, החבילה מגיעה לממשק המנהרה ונזרקת משום שאין עמית שתובע את היעד.
בצד הסניף, הצורך המקביל הוא נתיב אל הרשתות שעליו להגיע אליהן, בתוספת נתב LAN שיודע להחזיר תעבורה לסניף. בעלות בצד השרת ונתיבי יעד בצד הלקוח הם אובייקטים נפרדים, ומנהרה עובדת מוכיחה רק את הקפיצה הראשונה. רשמו את שניהם בהערות המסירה של הסניף, כי המהנדס הבא ימצא רק אחד מהם.
להוכיח שהסניף הוא העמית שאתם חושבים
אמתו זהות לפני שאתם מאמתים תעבורה. יומן הרכז אמור להראות את השם הנפוץ של תעודת הסניף, והכתובת שהלקוח קיבל אמורה להתאים למאגר או להקצאה הקבועה שהתכוונתם. אם היומן מראה שם אחר, הפרופיל נושא זהות של מישהו אחר.
לאחר מכן אמתו את השיוך על ידי שליחת בקשה אחת ממארח בסניף למשאב בצד הרכז ואישרו שהיא מצליחה עם כתובת המקור הצפויה. בדקו יעד שהסניף אסור לו להגיע אליו ואשרו שהוא נכשל, כי נתיב מתירני שבמקרה עובד אינו זהה למדיניות נכונה.
לבסוף, בטלו את זהות הסניף ואשרו שהחיבור נכשל בעוד שהתעודה של הרכז עצמו ואתרים אחרים ממשיכים לעבוד. אם הביטול שובר את הרכז, תפקידים וזהויות שותפו במקום כלשהו, וזו הממצא ששווה להחזיר לתכנון.
סניף גמור הוא כזה עם זהות מתועדת, פרופיל ללקוח בלבד, שיוך עמית-לרשת ברכז ונתיב חזור נבדק. הפיכת טקסט בקובץ שרת לא נותנת לכם אף אחד מאלה.