ה-VPN מחובר אבל IMAP לא מסתנכרן? בדקו את שלוש השכבות האלה
הגעה לשרת הדואר, השלמת לחיצת היד של TLS, אימות ובחירת תיבת דואר הם אירועים נפרדים. מצאו את השכבה שנכשלה.
התחברו ל-VPN של המשרד, פתחו את לקוח הדואר וצפו בתיבת הדואר הנכנס מסרבת להתרענן בזמן שדואר האינטרנט נטען כרגיל. האבחנה המקובלת היא שה-VPN מעביר תעבורה אבל חוסם דואר, או שסיסמת החשבון השתנתה. שתי ההשערות מדלגות על המבנה של מה שלקוח IMAP עושה. הגעה למארח, השלמת TLS, אימות ובחירת תיבת דואר הם ארבעה אירועים שונים, וה-VPN מחזיק רק בראשון.
המיתוס: חיבור אחד פירושו התחברות אחת
האמונה היא שברגע שהמנהרה עולה ושרת הדואר עונה, תיבת הדואר למעשה פתוחה. זה לא נכון. ה-VPN מספק נתיב לשירות; הוא לא מחבר אתכם לחשבון ולא בוחר תיקייה. לקוח יכול לעמוד בשלב הרביעי מבין השלבים האלה עם מנהרה מתפקדת לחלוטין וסיסמה תקפה.
בדיוק בפער הזה חיים רוב הדיווחים על «IMAP שבור דרך VPN».
שלושה מצבי IMAP, ואיפה לקוחות נתקעים
IMAP מגדיר מצב לא מאומת, מצב מאומת ומצב נבחר, ופקודות תקפות רק במצב שמתיר אותן. חיבור יכול גם להתחיל כבר מאומת כאשר השרת מציע אימות מוקדם, ולכן היעדר בקשה לסיסמה לא מוכיח דבר. בחירת תיבת דואר מעבירה את ההפעלה ממצב מאומת למצב נבחר, ורק אז יש לפקודות שפועלות על הודעות יעד.
לקוח שמאמת בהצלחה ואז נכשל בבחירת התיקייה המוגדרת ייראה כמו כשל סנכרון בזמן שהשרת מתנהג כראוי. תיקיות ששינו שמן, ספק שממפה «תיבת דואר נכנס» אחרת, או הרשאות גישה חסרות — כולם מגיעים לכאן. התגובה NO המתויגת של השרת היא הראיה, והיא אינה אותה תגובה כמו סיסמה שנדחתה.
TLS מגיע לפני שיחת IMAP
עם TLS מרומז בפורט 993, לחיצת היד של TLS מסתיימת לפני שנשלחת פקודת IMAP כלשהי, ולכן בעיית תעודה מייצרת שגיאה שמזכירה אמון ולא דואר. שם המארח של הדואר חייב להיות מאומת מול התעודה כפי שנעשה עם שם מארח של אתר; מנהרה שמשמרת תעבורה לא הופכת תעודה לא תקפה לתקפה.
טקסט השגיאה מפריד בין המקרים. פסק זמן בחיבור פירושו ש-SYN מעולם לא הושלם. שגיאת TLS פירושה שחיבור ה-TCP עבד ולחיצת היד לא. תגובת IMAP NO או BAD פירושה ששניהם הצליחו וששכבת הפרוטוקול דחתה משהו. רשמו איזו מהן ראיתם לפני שתשנו הגדרה כלשהי.
דואר מאוחסן אינו ראיה לשום דבר
לקוח דואר מציג הודעות שהורדו בעבר בין אם הוא יכול להגיע לשרת היום ובין אם לא, ולכן תיבת דואר נכנס שמוצגת אומרת לכם רק שהאחסון המקומי עובד. כל בדיקה אמיתית חייבת לכפות פעולה בשרת: רעננו תיקייה, הורידו הודעה שמעולם לא הורדה, או שלחו פקודה שהלקוח היה מוציא רק לאחר בחירת תיבת הדואר.
השתמשו בבדיקה לא הרסנית. רענון תיקייה אחת וקריאת יומן השגיאות של החשבון עדיפים על מחיקת החשבון והוספתו מחדש, שמוכיחה בעיקר שמסך ההגדרות עדיין עובד.
שליחה ודואר אינטרנט הם פרוטוקולים שונים
שליחת דואר היא הגשה, לא IMAP. היא משתמשת בשירות נפרד ובדרך כלל בפורט נפרד עם מצב TLS משלו ואימות משלו, ולכן תיבת דואר יוצאת שעובדת אינה מוכיחה שתיבת הדואר של IMAP נבחרה, ותיבת דואר יוצאת שבורה אינה מפלילה את IMAP.
דואר האינטרנט שוב שונה. הוא יכול להצליח דרך אותו VPN כי מדובר בהפעלת HTTPS מול חזית אינטרנט, מה שלא אומר דבר על מארח ה-IMAP, הפורט או מצב ה-TLS של לקוח שולחן העבודה.
למסירה, רשמו ארבעה תוצאות בנפרד: נתיב ה-VPN, תוצאת נקודת הקצה של הדואר ו-TLS, תוצאת אימות החשבון ותוצאת בחירת תיבת הדואר. השאירו פרטי התחברות ותוכן הודעות מחוץ לרשומה. הרשומה הזו אומרת לאדם הבא אם התיקון שייך לרשת, לתעודה, לחשבון או לתצורת התיקיות, בלי להחליש אף אחת משתי שכבות ההגנה.