התקן שדה, TLS ו-VPN: איזה גבול מגן על מה
התקן שדה זקוק לערוץ יישום מאומת, לא רק לגישה לרשת. אתרו היכן TLS מסתיים והחליטו מה קורה כשזה נכשל.
התקן שדה פותח חיבור לשירות, ושאלת התכנון מגיעה כבחירה בין VPN ל-TLS. המסגר הזה שגוי, משום ששניהם עושים עבודות שונות. TLS מאמת את נקודת הקצה של היישום ומגן על השיחה; ואילו VPN שולט בנגישות ומגן על חבילות בין עמיתים. עקבו אחר החיבור מההתקן החוצה ולכל שכבה יש תשובה משל עצמה.
אם אינכם יכולים לומר היכן TLS מסתיים, אינכם יכולים לומר במה היישום באמת בוטח.
מצאו היכן TLS באמת מסתיים
התחילו ביישום של ההתקן ועקבו אחר החיבור עד לתהליך שמשלים את לחיצת היד. אם שרת ביניים מסיים את TLS לפני המחשב המרכזי, הנתיב המוגן מסתיים בשרת הביניים. הקפיצה שנותרה זקוקה להגנה מתועדת משל עצמה.
לקרוא לזה מקצה לקצה על סמך הנחה זה הדרך שבה סקירת תכנון מאשרת פער. שרטטו את נקודת הסיום ואת עוגן האמון באותה תרשים.
TLS נושא בקשות ותשובות בשני הכיוונים, לכן יישום דו-כיווני אינו זקוק מעצם טיבו ל-VPN במקום TLS. גם ההיפך נכון: פריסה עשויה עדיין להזדקק ל-VPN עבור פרוטוקולים אחרים באותו התקן.
החליטו מה ההתקן חייב לאמת
הגדירו אימות זהות שרת ושורשי האמון המיועדים. אם כל התקן חייב להוכיח את זהותו שלו, בחרו מודל אימות לקוח נתמך ורשמו אישור נפרד לכל התקן. אישורים משותפים הופכים התקן גנוב אחד לבעיה של כל הצי.
תכננו הגנת מפתחות, חידוש, ביטול והתאוששות לפני המשלוח. התקן בשדה שלא ניתן לרשום מחדש לאחר חידוש כושל הופך לביקור בשטח, והעלות הזו מעצבבת את התכנון יותר מלחיצת היד.
השתמשו בספרייה נתמכת ובהנחיות עדכניות. הנחיות מודרניות לפריסת TLS אוסרות לנהל משא ומתן על TLS 1.0 ו-1.1, והתייחסות ל-TLSv1 בהערת תכנון ישנה אינה דרישה.
הסתגרו כשלחיצת היד נכשלת
לחיצת יד כושלת או בדיקת זהות כושלת לא צריכות לפול בשקט חזרה לפרוטוקול הטקסט הגלוי המקורי. אותה נפילה היא הפגיעות שעבודת TLS נועדה לסגור. הפכו את הכשל לגלוי למפעיל ההתקן ולשירות, ודרשו את הערוץ המוגן לפעולות רגישות. לאחר מכן תנו להרשאת היישום להחליט מה התקן מאומת רשאי לעשות.
הגדירו את תוחלת החיים של החיבור, את המסגר, את פסקי הזמן ואת התנהגות הניסיון החוזר כחלק מהחוזה. הצפנה אינה הופכת פקודה חוזרת לבטוחה, וניסיון חוזר לאחר פעולה קודמת לא ודאית זקוק לתשובה ברמת היישום.
כתבו את כלל הנפילה. “הוא מתחבר מחדש בלי TLS אם לחיצת היד נכשלת” הוא החלטת תכנון, והיא צריכה להיות מפורשת.
תנו ל-VPN רק את העבודה שהוא יכול לעשות
VPN יכול להגביל נגישות ולהגן על חבילות עד לעמיתו. TLS מגן על יחסי היישום עם נקודת הקצה הנבחרת. נקודות הסיום שלהן יכולות להיות שונות, ואף אחת מהן אינה מאבטחת את הנתונים המאוחסנים של נקודת הקצה או את הגישה הניהולית.
מדדו עלות לחיצת יד, תעבורת הודעות יציבה והתחברות מחדש בהתקן בפועל במקום להניח שמנגנון אחד מהיר יותר. לאחר מכן בדקו את ארבעת המקרים החשובים: החילוף המיועד, זהות שרת שגויה, התקן לא מורשה, והתחברות מחדש לאחר פעולה לא ודאית. רשמו את התוצאה לכל מקרה, כולל השגיאה שההתקן מציג.