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

חמישה שדות, והתווית אינה אחד מהם

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

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

FieldWhat a usable answer looks like
ReleaseA version with a support window, not a family name
Protocol versionTLS 1.3 or IKEv2 with the ESP suite named
Protection suiteAn authenticated-encryption algorithm, not a cipher list
AuthenticationPeer identity plus user or device identity, separately
Access scopeThe services reachable after admission

מה באמת משנה הצפנה מאומתת

TLS 1.3 מחייב הצפנה מאומתת, מה שמסיר מהפרוטוקול את מבנה MAC-then-encrypt הישן יותר במקום להשאיר אותו כאופציה. ל-IPsec ESP יש חבילות הצפנה מאומתת זמן רב באותה מידה, כאשר AES-GCM מוגדר ב-RFC משלו. בשתי המשפחות ההבטחה מגיעה מהחבילה שנקבעה במשא ומתן ולא משם המשפחה, ולכן רשימת השדות מתחילה בגרסה. מבקר שאינו יכול לנקוב בשם החבילה אין לו מה להעריך.

לכן ההשוואה ההיסטורית מטעה. פריסה שנעוצה בגרסת TLS ישנה עם חבילת CBC ואחת שמריצה TLS 1.3 עם חבילת AEAD אינן אותה עמדת אבטחה, אף ששתיהן VPN מסוג TLS. אותו פיצול קיים בצד IPsec בין חבילת ESP מודרנית לשילוב ישן.

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

openssl s_client -connect vpn.lab.example:443 -tls1_3 -brief
ip xfrm state
swanctl --list-sas

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

זהות העמית היא שאלה נפרדת

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

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

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

הגבול שהמוצר חושף

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

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

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

החליטו את תוצאת הכשל ואת מחזור החיים

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

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

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

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