שני אירועים שונים מכונים מפתח SSH שדלף, והם מחייבים תגובות שונות. אימות במפתח ציבורי שולח מפתח ציבורי וחתימה שנעשתה במפתח הפרטי, ולכן המפתח הפרטי אינו שדה בבקשה. העברת סוכן חושפת משהו אחר, מפני שמארח מרוחק שמגיע לסוכן המועבר שלכם יכול לבקש ממנו לחתום בלי להחזיק במפתח לעולם. התייחסות לשניהם כאירוע אחד מובילה או לסיבוב מפתח חסר תועלת או להאצלה שנשארת פעילה.

התחברות במפתח ציבורי משדרת חתימה, לא את המפתח

חילופי האימות נושאים את המפתח הציבורי של המשתמש וחתימה על נתוני ההפעלה. השרת בודק את החתימה הזו מול המפתח שהוא כבר סומך עליו, ולכן החצי הפרטי יכול להישאר אצל הלקוח דרך רשת לא מהימנה. מפעיל VPN שצופה במנהרה רואה בכל מקרה הפעלת SSH מוצפנת.

זה מתאר את הפרוטוקול, לא את מהימנותו של כל קצה בנתיב. שמרו על אימות זהות המארח בשלמותו, מפני שלקוח שמקבל כל מפתח מארח זנח בקרה אחרת מזו שנדונה כאן. הפעלה שנלכדה ומפתח שנלכד הם ממצאים נפרדים, ורק אחד מהם הוא אובדן אישורים. שמרו את שניהם במשפטים נפרדים בדוח.

ssh-keygen -lf ~/.ssh/id_ed25519.pub
ssh -o StrictHostKeyChecking=yes [email protected]

הפקודה הראשונה מדפיסה את טביעת האצבע הציבורית כדי שתוכלו להשוות אותה למה שהשרת מפרט. השנייה הופכת את בדיקת מפתח המארח למפורשת במקום להסתמך על ברירת מחדל שאיש לא קרא. הריצו את שתיהן לפני שתשנו משהו במפתחות, כדי שקו הבסיס יתועד.

העברת סוכן מאצילה את היכולת לחתום

כשההעברה מופעלת, מופיע שקע במארח המרוחק והסוכן המקומי עונה לבקשות שמגיעות דרכו. כל מי שיכול להשתמש בשקע הזה במהלך ההפעלה יכול להזדהות כמוכם מול מארחים שמקבלים את הזהויות הטעונות. שום מפתח פרטי לא חוצה את הרשת כדי שזה יעבוד.

היכולת היא החשיפה, לא הקובץ. לכן ההעברה שייכת למשימה בשם ולמארח בשם ולא לכל חיבור שמחשב נייד יוצר. מארח קפיצה שמעביר את החיבור בלי סוכן מועבר בדרך כלל מסיר את הצורך לגמרי.

ssh-add -l
ssh -o ForwardAgent=no [email protected]
ssh -J [email protected] [email protected]

הראשונה מפרטת אילו זהויות הסוכן מחזיק כעת, מה ששווה לדעת לפני שאתם מוסרים את השקע שלו למכונה אחרת. השנייה מתחברת בלי האצלה. השלישית מציגה את דפוס מארח הקפיצה שלעיתים קרובות מחליף את ההעברה כליל.

בחרו את התגובה לפי הראיות שיש לכם

זהות חתימה שנחשבת חשופה מחייבת את תהליך ההחלפה והביטול, ואת הסרת הקבלה שלה מהשירותים שסמכו עליה. מחיקת העותק במחשב הנייד משאירה כל עותק אחר ללא פגע. התחילו מהשירותים, ואחר כך נקו את הלקוחות.

בעיית האצלה זמנית צרה יותר. סיימו את ההעברה שלא הייתה נחוצה, ועברו עם בעל האירוע על ההפעלות והזהויות שהיא כיסתה. החלפת מפתח עשויה לבוא לאחר מכן, אבל הראיות מחליטות בכך ולא הדאגה.

היעדר ייצוא שנצפה מוכיח רק שהמנגנון שחששתם ממנו לא הופיע. הוא לא אומר דבר על מה שמארח בצד השני של השקע הזה עוד יכול היה לעשות.

שמרו את הבקרות נפרדות בדוח

הגנו על החומר הפרטי, הגבילו מי יכול לבקש ממנו חתימה, ושמרו על זהות הצד השני מאומתת. אלו שלוש בקרות שמחזקות זו את זו, ואף אחת מהן לא מחליפה אחרת כשאתם מסבירים מה קרה.

מחשב נייד שנפרץ או יישום עם הרשאות עליו הוא מקרה שלישי עם רדיוס פגיעה רחב בהרבה. שינוי נתיב ה-VPN לא פותר אותו והוא לא מחזיר את האמון במפתח שאולי נקרא מהדיסק.

רשמו איזה רכיב היה מהימן, אם ההעברה הייתה פעילה ומה נצפה בפועל. הרשומה הזו היא מה שהופך את ההחלטה הבאה להגנתית במקום ניחוש לגבי משמעותה של דליפה.

מאמרים קשורים