יש לי חבר שאולי ירצה להשאיר את שמו מחוץ לפוסט הזה, אז נגיד ששמו א'.
הוא התאהב במדינה ובבחורה מקומית, ועוקר עכשיו לשם, לעבוד קצת ולהקים עסק. המזרח הרחוק זה ה"אמריקה" של אמצע המאה שעברה, הוא מספר לי. המקום שאליו טסים נהגי מוניות בת ימיים והופכים לבעלי מפעלים ויצואנים מצטיינים. אני עדיין תמה כמה בקלות יתקבל שם אדם זר, שלא דובר את השפה והתרבות המקומיים, אצל ממשלה ששמחה על משקיעים ויזמים חו"לניקיים, אבל לא ממש נותנת לך גישה בלתי מוגבלת לעולם. לפני כחודש הוא בדיוק חזר משם, אחרי שמכל מקום הוא העלה אלי לשרת את עשרות הגיגות של התמונות שהוא צילם. "באמת מרשים שבכלל היתה לך גישה החוצה לרשת" אמרתי לו. "הייתי בטוח שיחסמו לך גישה להמון אתרים ולפורטים כמו SSH" – אתם מבינים, לשרת שלי אני לא מאפשר גישה בפרוטוקולים בלתי מוצפנים כמו FTP…
"איזה! התחבר כמו גדול, קצב העלאה מטורף, גם המהירויות של אימיול בתוך סין נהדרות… רק באמת כל פעם שהתחברתי לשרת שלך על winSCP הוא עצר שוב ושוב לשאול אם לשמור את המפתח של השרת. איך מפסיקים את זה?"
פירוש ללא-בקיאים – חומת האש הסינית עושה מעשה "מאזין באמצע" לשיחות SSH ואני מניח שזה אומר שכל המידע שלך שעובר למעשה שקוף להם. כמובן שרצתי ושיניתי את כל הסיסימיות על השרת ליתר בטחון, למרות שלא ראיתי שום פעילות חשודה עליו בינתיים, אבל קחו את הענין לתשומת לבכן.
לסיכום, מישהו יכול להבין מה האטראקציה הגדולה במעבר לחיות ולעבוד במדינה טוטאליטארית?
אני קצת סקפטי לגבי זה שבהתקפת איש באמצע אפשר לפענח שיחת SSH.
הצפנה שמבוססת על PKI כמו SSH אמורה להיות חסינה לאיש באמצע, זה כל הנקודה שלה.
מה שהוא ראה לא בהכרח מרמז שכל התעבורה שקופה להם.
שווה לשאול את המומחים לSSH בערוץ הirc בפרינוד לגבי זה.
אם הוא מתחבר וWinSCP או putty מזהיר אותו שהשתנה מפתח השרת, אז זה אומר שהוא קלט שעובדים עליו, אבל אם המשתמש הטמבל אומר "אה, בסדר" ולוחץ OK, אז אין יותר מזה מה שיגן עליך מהאזנה באמצע, כי הרגע אישרת את זה.
צודק לחתולין, זה מה שקורה שכותבים תגובה ב3:23.
מממ…. שאלה טכנית: אם הוא משתמש במפתח ולא בסיסמא, האם המאזין באמצע יכול לגנוב גם את המפתח או שהפרוטוקול מונע אפשרות כזו?
צ'או, אודי
המפתח לא נשלח על הקו, אז הוא לפחות בטוח בניגוד לסיסמא, אבל "לחיצת היד" בין השרת ללקוח היא בעצם בין הלקוח למאזין ובינו לבין השרת, אז כל מה שעובר על הקו גלוי לו, אם התעלמת מזה שהמפתח של השרת "השתנה".
כשאתה מתחבר לשרת עם מפתח פרטי/ציבורי, השרת מכיל כבר את המפתח הציבורי שלך מבעוד מועד ושולח לך גוש דאטה אקראי מוצפן במפתח שלך, אתה מקבל אותו, מפענח ושולח אותו חזרה מוצפן במפתח של השרת (שבמקרה שלנו מצפין אותו מחדש במפתח של השרת האמיתי), וכך שניכם יודעים שאתם מי שאתם אומרים שאתם.
כשאתה עונה עם מפתח שאינו שלך השרת פשוט מסרב להתחברות ומבקש סיסמא במקום, או מסרב בכלל (אפשר להגיד לSSH לקבל רק התחברות מפתח ולא סיסמאות), אבל כשאתה מזהה שמפתח השרת השתנה ואתה מאשר את זה, כדאי שתהיה מאוד בטוח שאתה יודע מה אתה עושה. המקרים שבהם זה עלול לקרות הם:
1. האח הגדול חוטף לך את החיבור (אל תאשר, רעיון רע מאוד)
2. מתגלה בדביאן ואובונטו באג מביך וצריך להוריד את מפתח השרת ולהחליפו במפתח חזק (מנהל השרת ידע לספר לך על זה. זה לא אמור לקרות אבל עובדה שזה בדיוק קרה לפני כחודש וחצי, כי מישהו גרם למחולל האקראיות להיות די לא אקראי. רעיון רע מאוד)
3. התרסק השרת ומנהל השרת הגריל מפתח חדש (רעיון רע, אבל זה מה שיש אם אין גיבוי)
4. בעל הבית השתגע (רעיון רע, תחליף סיסאדמין)
או במילים אחרות, מפתח שרת לא אמור להתחלף אלא אם כן מישהו עושה משהו גרוע באמצע הדרך. לעולם אל תלחצו ""OK על התראה בPUTTY שהמפתח השתנה אלא אם כן אתם בטוחים ב215% שזה נכון לעשות.
מממ…
אז ברגע שהתחברתי עם מפתח פרטי (בניגוד לחיבור עם סיסמא), פתרנו את בעית האיש באמצע, או שהוא גם יכול לזייף את שלב ההתחברות ולצפות אחר כך בתקשורת?
אודי
הממ… אולי, אני לא בטוח אם מפתח הסשן עובר בעזרת המפתח הציבורי שלך. אם זה ככה אז יכול להיות. אם זה לא ככה, אז זה צריך להיות.