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

הגע קודם למאזין

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

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

הוכח את הצד השני, ואז גזור מפתחות

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

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

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

שלושה פרוטוקולים, שלושה שיחות

בפריסת OpenVPN מבוססת TLS ערוץ הבקרה מנהל משא ומתן על פרמטרי אבטחה בעוד ערוץ הנתונים נושא את תעבורת המנהרה, ולכן אפשרות של ערוץ נתונים ובעיית תעודה נמצאות במקומות שונים. IKEv2 מאמת את שני המשתתפים ואז מקים אסוציאציות אבטחה של IPsec עם תוחלות חיים משל עצמן. WireGuard גוזר מפתחות דרך ההחלפה שלו המבוססת על Noise ומחזיק את מכונת המצבים קטנה במכוון. הידיעה איזה מהשלושה אתה מריץ קובעת איזה יומן שווה לקרוא.

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

מה לחיצת היד לא עושה

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

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

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

ip -brief address show tun0
ip route get 10.60.7.15
resolvectl query intranet.corp.internal

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