שורות הצפנה מיושנות בפרופילי VPN ישנים: קראו לפני שמעתיקים
הנחיות שורדות שינויי גרסה עם משמעויות שונות, או ללא משמעות כלל. בדקו איזה לקוח כתב את הפרופיל ומה המנהרה באמת ניהלה משא ומתן.
הפרופיל הזה נכתב ב-2016, והוא עדיין מיובא ועדיין מתחבר. בדיוק בגלל זה אף אחד לא מסתכל עליו. הלקוח שקרא פעם את ההנחיות האלה נעלם מזמן, והגרסה הנוכחית עשויה לפרש כמה מהן אחרת.
עובדת הישרדות של קובץ אינה אומרת שהתצורה עדכנית. הפרדת שני הרעיונות האלה היא רוב העבודה.
גלו איזה לקוח כתב את הפרופיל
התחילו במוציא לאור ובגרסה. משמעותה של הנחיה נקבעת על ידי המימוש שקורא אותה. שורה שבחרה פעם אלגוריתם עשויה להפוך לרשימת גיבוי, לאזהרה או לשגיאה קשה. איזו מהדורה מפרשת אותה קובעת את התוצאה.
OpenVPN היא הדוגמה הברורה ביותר. גרסה 2.5 הציגה את data-ciphers ושינתה כיצד ההנחיה הוותיקה יותר cipher משתתפת במשא ומתן. פרופיל שנשא רק את cipher AES-128-CBC מציע כעת הצעה צרה בהרבה ממה שהתכוון מחברו.
קראו את הערות המהדורה לגבי ההגדרה שמזהירה או נכשלת כעת. אזהרה ביומן היא עובדה על הגרסה הנוכחית, והיא גוברת על הזיכרון של כל אחד לגבי הסיבה להוספת השורה.
ראו מה באמת נוהל במשא ומתן
ייבוא מוצלח מוכיח פענוח, לא מדיניות. התוצאה שעליה נוהל משא ומתן מופיעה ביומן הלקוח לאחר שהחיבור עולה. היא עשויה להיות שונה משני קצות קובץ התצורה.
# OpenVPN: what did this session agree on?
sudo journalctl -u openvpn-client@office --since '5 min ago' | grep -i 'cipher\|Data Channel'
# which directives does the profile actually carry?
grep -n -E 'cipher|auth|tls-|dh ' office.ovpnייבוא שהתקבל ומשליך בשקט הנחיה משאיר פרופיל שנקרא בדרך אחת ומתנהג בדרך אחרת. הפער הזה הוא הסיבה שמסמך שמסומן כמחוזק מנהל משא ומתן על משהו חלש ממה שהטקסט שלו עצמו טוען. היומן הוא המקום היחיד שבו ההבדל נראה. קראו אותו לפני שתבטחו בקובץ.
שדרגו את הסידור, לא את השורה
קחו את הפרופיל שמתחזק המפעיל במקום להרכיב שמות אלגוריתמים עד שהייבוא יפסיק להתלונן. הוספת שורות בניסוי הופכת את כיוון התיקון. היא מתאימה את הלקוח לשרת לא מוכר במקום לקבוע מה השרת תומך בו.
ייתכן שגם השרת זקוק לשדרוג המתואם. לקוח נוכחי אינו יכול ליצור תמיכה בהצעה שהצד השני לעולם לא מציע. שום אפשרות בצד הלקוח אינה מחליפה שער שלא עודכן.
מה שאסור לוותר עליו הוא האימות. הסרת בדיקות תעודות, השבתת בדיקת שם המארח או כיבוי עדכונים כדי להשאיר פרופיל ישן בחיים הופכת בעיית תאימות לבעיית אמון. זה קורה בדרך כלל עריכת שינוי קטן אחת בכל פעם.
אשרו את התוצאה ותעדו את החריגה
לאחר השינוי, בדקו שוב את החבילה שעליה נוהל משא ומתן ובדקו את המשאב שלמענו קיימת המנהרה. פרופיל שמנהל משא ומתן על מה שהתכוונתם ועדיין לא מגיע לשירות סובל מבעיית ניתוב או זהות. אין לו בעיה קריפטוגרפית.
שמרו את התצורה הקודמת הידועה כטובה במקום מוגן. השוואה אפשרית רק כל עוד הקובץ הישן קיים.
תעדו כל חריגת תאימות עם בעלים ותאריך סקירה. הסדר זמני שאין לו בעלים הופך למדיניות קבועה. האדם הבא שיקרא את הקובץ יניח שהוא נבחר בכוונה.