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

שתי שיחות במעטפה אחת

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

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

מה באמת מגיע ראשון

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

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

שלוש דרכים ישרות לשנות את הצורה

מסיים TLS כמו stunnel מקבל TLS בפורט בכל קצה ומוסר את הזרימה המפוענחת ל-OpenVPN מקומית, ולכן הרשת רואה TLS לאותו פורט. פרוטוקול שהוא TLS מהבייט הראשון מתנהג אחרת: החילוף התואם AnyConnect ש-ocserv מיישם דומה לגישה מרחוק ארגונית שרשתות רבות כבר מצפות לה. ל-SSTP, שמגיע עם Windows, יש אותה תכונה במוצר אחר.

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

מה שאף אחד מהם לא משנה

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

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

אבחנו קודם, ואז בחרו

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

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

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

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

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