Nebula זקוק לשלושה קבצים: CA, תעודת מארח ומפתח מארח
שלושה קבצים עושים שלוש מלאכות: תעודת ה-CA מבססת אמון, תעודת המארח נותנת שם לצומת, והמפתח הפרטי נשאר רק על אותו צומת.
אם תתנו למישהו תיקיית Nebula, הוא בדרך כלל יעתיק הכול, כולל הקובץ שאמור לעולם לא לצאת מתחנת העבודה שלכם. הבלבול מובן, כי שלושת הקבצים בבלוק ה-PKI של מארח נראים דומים ושניים מהם תעודות. כל אחד עונה על שאלה אחרת, ורק שניים מהם שייכים לצומת. מיינו אותם לפי תפקיד לפני שאתם מעתיקים משהו.
שלושה קבצים, שלוש מלאכות שונות
תעודת ה-CA היא עוגן אמון: היא אומרת למארח למי להאמין כשמארח אחר מציג את זהותו. תעודת המארח היא האישור של הצומת עצמו, חתום בידי אותה רשות. מפתח המארח הוא החצי הפרטי המתאים, והוא שייך למכונה אחת בדיוק. צומת עם תעודת ה-CA ועם הזוג שלו יכול להצטרף ל-overlay ולהוכיח מי הוא. צומת עם המפתח של מישהו אחר יכול גם להזדות לאותו אדם, וזה הכשל שהסדר הזה נועד למנוע.
העתקת תיקיית מארח עובדת למכונה שנייה אינה אפוא קיצור דרך. זו זהות כפולה עם תוצאה צפויה.
מפתח החתימה לא נוסע לעולם
מפתח החתימה של ה-CA אינו חלק מאף תצורת מארח. הוא מייצר זהויות חדשות, ומי שמחזיק בו יכול להנפיק תעודה לכל כתובת overlay ולכל קבוצה. עמיתים זקוקים רק לתעודת ה-CA הציבורית כדי לאמת חתימות, ולכן לחצי הפרטי אין שום תפקיד על לקוח. שמרו אותו במכונה שבה מונפקות תעודות, והתייחסו להעתק מקרי כתקרית, לא כנוחות.
אם כמה אנשים צריכים להנפיק תעודות, תנו להם תהליך במקום העתק של המפתח. מפתח חתימה משותף במחשב נייד הוא סמכות שאיש אינו יכול לבקר או לבטל.
מה יש בתוך תעודת מארח
תעודת מארח קושרת למפתח יותר משם קובץ. היא נושאת את כתובת ה-overlay של הצומת, את שמו ואת חברותו בקבוצה, הכול חתום כדי שעמית יוכל להחליט אם לקבל אותה. לכן שינוי שם של מארח משמעו הנפקת תעודה חדשה ולא עריכת שורת תצורה.
nebula-cert print -path host.crt מראה מה הונפק בפועל. קראו אותו לפני שאתם מניחים שהתעודה נושאת את הכתובת שהתכוונתם אליה.
טעינה מחדש לא תמיד מספיקה
חלק מהגדרות ה-PKI נטענות מחדש באות, וחלק לא. תעודה שכתובת ה-overlay שלה השתנתה היא המקרה הקלאסי שדורש הפעלה מחדש של התהליך ולא טעינה מחדש.
ודאו אילו נתיבים התהליך הרץ באמת פתח, לא רק אילו נתיבים קובץ התצורה מציין. אחר כך שנו אישור אחד, בדקו קישוריות ויומנים, ורק אז געו בבא בתור. טעינה מחדש שנראית מוצלחת בזמן שהתעודה הישנה נשארת בזיכרון יוצרת אי-התאמה שנראית כמו בעיית ניתוב. הפעלה מחדש זולה; ניפוי זהות שחצי מה-overlay עדיין רואה בדרך הישנה אינו זול.
הסרת זהות דורשת רשימת חסימה
להחלפת אישור שאבד או נחשף יש שני חצאים. התעודה החדשה מחזירה את הגישה, והזהות הישנה חייבת להפסיק להתקבל. אלו פעולות נפרדות, וביצוע רק הראשונה משאיר את האישור שנפגע תקף.
רשימת החסימה היא קובץ שאתם מפיצים למארחים, לא משהו ש-lighthouse דוחף מעצמו. תכננו איך היא מגיעה לכל צומת, כולל אלה שנמצאים היום לא מקוונים, ותעדו אילו טביעות אצבע חסמתם. סובבו את המפתח במכונה המנפיקה ושמרו את פרטי התעודה החדשה עם רשומת המארח. ביטול שקיים רק במכונה שערכתם אינו ביטול.