מה חומת אש ארגונית יכולה לראות בתוך VPN ומה היא לא יכולה
חומת אש יכולה לחסום מנהרה ובכל זאת לא לקרוא את תוכה. בדקו מה הכותרת החיצונית חושפת, אם חלה בדיקת TLS, ואמתו את השרשרת.
אותו מחשב נייד מגיע ל-VPN מהבית ואינו מצליח להתחבר מהמשרד, אז מישהו חייב לקרוא את התעבורה. חסימה וקריאה הן סמכויות נפרדות, ורק השנייה זקוקה לנקודה על המסלול ועוד תעודה שהלקוח סומך עליה. תיבת ביניים שמפילה את לחיצת היד שלכם לא למדה דבר על מה שהייתם שולחים. להחליט מול איזו מהשתיים אתם עומדים זו כל העבודה.
חסימה וקריאה הן סמכויות שונות
סירוב הוא זול ורועש: החיבור נפתח ואיש לא עונה, או שמגיע איפוס מיד. דבר מזה אינו מרמז על בדיקה, כי שום מטען לא חצה את החוט.
קריאה דורשת נקודת קצה שמסיימת את ההגנה, מוכיחה את עצמה בתעודה ופותחת חיבור חדש הלאה. נקודה זו חייבת לשבת על המסלול ולהיות מהימנה בעיני הלקוח. חומת אש שרק מעבירה מנות אינה מחזיקה לא עמדה ולא כתב הרשאה.
מה העוטף מסגיר בחינם
לכל מנת מנהרה יש חוץ, והחוץ חייב להיות ניתן לניתוב. זה אומר שתי כתובות, פרוטוקול, פורט ואורך, ועוד עיתוי ונפח. כל נתב כבר מטפל בשדות האלה, ו-NAT כותב מחדש את הכתובת והפורט כדי לשמור על טבלת המיפוי שלו עקבית. המטען נשאר אטום, ולכן התצפית נעצרת בעובדה שקיימת מנהרה בין שני מארחים.
שם מארח אינו ביניהם. אתרים דולפים דרך דלתות אחרות, והרחבה ביותר היא DNS: אם המחשב עדיין שואל את הפותר המקומי, השמות מופיעים בגלוי.
עיתוי ונפח ראויים לכבוד בלי להגזים. בתים לדקה יכולים להראות שהעברה גדולה מתחילה ב-14:20; הם אינם יכולים להראות איזה קובץ זז. זהו גילוי אמיתי על התנהגות, וקטגוריה שונה מקריאת תוכן.
יירוט TLS דורש שורש שאתם כבר סומכים עליו
מכשיר בדיקה אינו שובר TLS; הוא מסיים אותו. ללקוח עונה תעודה משורש שהארגון מחזיק, וחיבור שני הולך ליעד האמיתי. הלקוח מקבל זאת מפני שהשורש הזה יושב במאגר האמון שלו, ולכן מחשב מנוהל אינו מציג אזהרה. ההצפנה מעולם לא נוצחה; נקודת הקצה הוזזה.
זו גם הסיבה שהסדר משאיר ראיות. המנפיק בשרשרת המוצגת שייך לארגון ולא ל-CA ציבורי, ולקוח יכול לראות זאת בלי כלים מיוחדים. שרשרת שמסתיימת בשורש פנימי היא החתימה של היירוט, לא תקלה.
מדוע ערוץ VPN אינו הפעלת HTTPS
ערוץ נתונים של VPN אינו נותן לבודק אחיזה כזו. IKEv2 ו-WireGuard מריצים לחיצות יד ולוחות מפתחות משלהם, בלי TLS לסיים, ואילו OpenVPN שואל TLS לערוץ הבקרה שלו בצורה שונה לפני שהוא מגן על הנתונים בדרכו. פרוקסי שנבנה ל-HTTPS אינו מזהה את אותה הפעלה כמשהו שהוא יכול לנתח.
מכשיר שאינו יכול לנתח הפעלה עדיין יכול להפיל אותה. לכן חסימת VPN נראית בדרך כלל כמו פסק זמן ולא כמו אזהרת תעודה, ולכן חריגה אינה משנה דבר.
בדיקה מהמחשב שלכם
התחילו בשרשרת שהאתר מציג. פרטי האתר בדפדפן מציגים את המנפיק, ושורת הפקודה מדווחת את אותו דבר בלי הסיכום:
openssl s_client -connect example.com:443 -servername example.comאחר כך הפרידו לחיצת יד שנדחתה מתעבורה פנימית מסוננת בעזרת מונים. רשמו את פורט התעבורה לפני כל כלל הפלה וקראו אותם אחרי הניסיון:
iptables -I OUTPUT 1 -p udp --dport 1194 -j LOG --log-prefix ovpn-out
iptables -vnL OUTPUT --line-numbersאין שורת יומן בשקע החיצוני פירושו שלחיצת היד מעולם לא יצאה, ולכן המסלול מסרב למנהרה. לחיצת יד שהושלמה ורק חלק מהיעדים נכשלים פירושה שהמנהרה עובדת והמדיניות שבתוכה לא. אף אחד מהשניים לא הצריך קריאת בייט של מטען.
הקריאה שבאמת מתרחשת יושבת בקצוות: מנהרה מפוצלת מוסרת HTTPS פנימי לפרוקסי ארגוני, ורכז בבעלות המעסיק חושף הכול ביציאה. מה שלא תמצאו, אל תשביתו אימות תעודות כדי לכפות חיבור, משום שהבדיקה הזו היא הדבר היחיד שמפריד בין בדיקה לתוקף.