Tunnelblick data-ciphers לא מזוהה: איזה מנוע רץ?
שגיאת data-ciphers לא מזוהה היא כשל ניתוח מקומי, לא אי-התאמה של צופן. אתרו את המנוע שהחיבור הזה השתמש בו לפני שתערכו את הפרופיל.
Tunnelblick מדווח על אפשרות data-ciphers לא מזוהה, מזכיר את OpenVPN 2.4 באותה נשימה, והחיבור לא מתחיל לעולם. זהו כשל ניתוח מקומי ולא מחלוקת על צופן, מפני שהמנוע דחה את הפרופיל לפני שהתקיים כל משא ומתן עם השער. העצה הרגילה בנוגע למדיניות הצופן של השרת לא יכולה לעזור כאן; המנתח חייב קודם להבין את הקובץ. אתרו את המנוע שהתצורה הזו הפעילה בפועל, והשאר יבוא מעצמו.
קראו את שורת היומן לפני שנוגעים בפרופיל
פתחו את החיבור הכושל בחלון הפרטים של Tunnelblick וקראו את היומן מלמעלה. השורות הראשונות מציינות את גרסת המנוע ואת הפרופיל שנמסר לו, ואחריהן את האפשרות שעצרה את הניתוח. כל מה שאחרי הנקודה הזו הוא רעש, מפני שהתהליך יצא.
רשמו שלוש עובדות מהיומן הזה: גרסת המנוע, שם התצורה וההודעה המדויקת. שלוש אלה הן כל האבחון. הן גם מה שתצטרכו אם יתברר שהתיקון מחייב שינוי של היישום המותקן. צלמו את השורות במקום לנסח אותן מחדש, מפני שקל להקליד שגוי שמות אפשרויות כשחוזרים עליהן מהזיכרון.
ודאו איזה מנוע מריצה התצורה הזו
Tunnelblick הוא יישום שעוטף מנוע OpenVPN, ותצורות שונות יכולות להריץ מנועים שונים. בדקו את הגרסה שנבחרה לתצורה הזו בחלון הפרטים במקום לקרוא את גרסת היישום, ואל תחליפו בפלט של קובץ בינארי openvpn של מסוף שהתצורה אינה משתמשת בו לעולם. מדריך גרסאות OpenVPN של Tunnelblick מתאר כיצד הבחירה הזו פועלת והיכן הבחירה נשמרת.
ההבחנה חשובה מפני שמכונה יכולה להחזיק קובץ בינארי מודרני ב-PATH ומנוע 2.4 מצורף מאחורי החיבור שנכשל. הפרופיל מוערך על ידי השני.
openvpn --version
ls /Applications/Tunnelblick.app/Contents/Resources/openvpn/שתי הפקודות האלה מראות מה מסוף היה מריץ ואילו תיקיות מנוע היישום המותקן נושא. אף אחת מהן אינה הוכחה למה שהתצורה הכושלת השתמשה בו, מפני שהיומן כבר אמר לכם זאת, והנתיבים שונים בין מהדורות של Tunnelblick.
למה השתנה שם ההוראה
OpenVPN הציג את data-ciphers כרשימת המשא ומתן ב-2.5, והחליף את הכתיב הקודם ncp-ciphers שיצא משימוש במהדורה ההיא. למנוע 2.4 אין אפשרות כזו, ולכן הוא עוצר באסימון הראשון שאינו מכיר. גם האפשרות הבודדת cipher אינה כינוי ישן לרשימה; היא מציינת צופן אחד ולא קבוצת משא ומתן.
לכן החלפת טקסט בין גרסאות מייצרת פרופילים שמנותחים ואז מתנהגים באופן בלתי צפוי, ולכן העתקת קטע מפוסט בפורום אינה בדיקת גרסה. שמות האפשרויות זזו יחד עם טיפול בגיבוי וערכי ברירת מחדל, וקובץ שהורכב משינוי שם של הוראה אחת אינו שווה ערך לקובץ שנכתב עבור המנוע.
תקנו את המנוע או את הפרופיל, לא את התסמין
לפריסה נתמכת, התיקון העמיד הוא שילוב נתמך של Tunnelblick ומנוע שמקבל את הפרופיל של המפעיל, בתיאום עם מי שמחזיק בהתקנת היישום. אם התקנה ישנה חייבת להישאר לזמן מה, בקשו פרופיל שנכתב עבור אותו מנוע ועבור הצפנים שהשער באמת מקבל.
מחיקת data-ciphers ו-data-ciphers-fallback אכן מנקה את שגיאת הניתוח המסוימת הזו, וזו בדיוק הסיבה שהיא מפתה. היא גם משנה בשקט אילו צפנים ינוהלו במשא ומתן, בתצורת אבטחה שלא התכוונתם לערוך. שמרו את הפרופיל המקורי והשוו במקום זאת את ההגדרות הנתמכות בכוונה.
נסו שוב וקראו את השלב הבא
לאחר התיקון, נסו שוב את החיבור וקראו את היומן החדש מההתחלה במקום להניח הצלחה. פרופיל שמנותח כעת עדיין יכול לעצור במשא ומתן על הצופן, באימות התעודה, באימות הזהות או בניתוב, ולכל אחד מהכשלים האלה יש ראיה משלו.
אם המשא ומתן נכשל, השוו את הצפנים ששני הצדדים תומכים בהם ואת אלה שכל אחד מהם מורשה להשתמש בהם. אם אימות הזהות נכשל, הפרופיל והמנוע פועלים כעת טוב מספיק כדי להגיע לשער, וזו התקדמות שראויה לתיעוד. עצירת השרשרת הזו ביומן השקט הראשון היא הדרך שבה הגדרת אבטחה מוסרת מהסיבה הלא נכונה.