סיסמת VPN נכונה אינה יכולה להחליף תעודה חסרה
שגיאה 798 היא כשל בחיפוש תעודה, לא סיסמה שגויה. בדקו את מאגר המשתמש, המפתח הפרטי ואת דרישת השרת לתעודת לקוח.
פרטי ההתחברות נכונים, הפרופיל מיובא בצורה נקייה, והחיבור עדיין נכשל לפני שהאימות מסתיים. ב-Windows ההודעה עשויה להיות שגיאה 798, בנוגע לתעודה שלא נמצאה עבור שיטת EAP. ב-OpenVPN יומן הלקוח מציג לחיצת יד TLS שלעולם אינה מספקת את השרת. שניהם מתארים את אותו אובייקט חסר: תעודת לקוח שהלקוח היה אמור להציג.
סיסמה מוכיחה ידיעה של סוד; תעודה מוכיחה החזקה במפתח, והאחת אינה מחליפה את השנייה.
הסיסמה מעולם לא הייתה הבעיה
שגיאה 798 היא כשל בחיפוש תעודה. מהלקוח התבקשה תעודה המתאימה לשיטת האימות המוגדרת, הוא חיפש במאגר שלו ולא מצא דבר שמיש. משמעות הדבר עשויה להיות שהתעודה חסרה, קיימת בלי המפתח הפרטי שלה, פגה, או מאוחסנת במקום שהחיפוש אינו מגיע אליו. ניסיון חוזר עם הסיסמה אינו יכול לשנות אף אחד מהתנאים הללו, ולכן השגיאה חוזרת גם עם פרטי התחברות נכונים.
קראו את ההודעה לפני שתפעלו לפיה. דחיית פרטי התחברות, כשל בחיפוש תעודה וכשל בלחיצת יד TLS הם שלושה ממצאים שונים, ורק אחד מהם נוגע לסיסמה.
מה חייב מאגר הלקוח להכיל
שני אובייקטים מעורבים. יש להתקין את תעודת הלקוח עבור המשתמש שמפעיל את לקוח ה-VPN, יחד עם המפתח הפרטי שלה, ויש לתת אמון בשורש המנפיק. קובץ .cer מכיל רק את התעודה הציבורית, ולכן אינו יכול לאמת דבר בעצמו. במנהל התעודות של Windows, זהות הלקוח שייכת למאגר האישי של המשתמש הנוכחי, והשורש למאגר השורשים המהימנים.
התקנת הזהות במאגר המחשב, או רק במאגר השורשים, אינה מספקת חיפוש המכוון למאגר האישי של המשתמש. בדקו את המאגר, את סימון המפתח הפרטי ואת תאריכי התוקף יחד, ואז הפעילו מחדש את הלקוח כדי שיקרא שוב את המאגר.
שני מוצרים, אותה תעודה חסרה
שרתי OpenVPN דורשים תעודת לקוח כברירת מחדל. הוספת auth-user-pass ללקוח שולחת שם משתמש וסיסמה, ולחיצת היד של TLS עדיין מבקשת תעודה, ולכן סיסמה לבדה אינה יכולה להשלים את החיבור תחת verify-client-cert require. אפשר להגדיר את השרת שלא לדרוש כלום, מה שהופך את הסיסמה לפרט ההתחברות היחיד של הלקוח ומהווה החלשות אמיתית. סקריפט shell מאחורי auth-user-pass-verify יכול לאמת פרטי התחברות, והוא דורש הפעלה של הרצת סקריפטים, מה שהופך אותו לעיצוב מסוכן יותר מאשר backend אימות תקין.
פרופיל המבוסס רק על סיסמה תלוי גם באפשרויות נדחפות, שתלויות בתורן בכך שמנגנון המשיכה מופעל.
אל תתקנו תעודה חסרה על ידי כיבוי בדיקות
הפיתוי הוא להקל את האימות כדי שההודעה תיעלם. זה מסיר את הבקרה שעשתה את עבודתה ומשאיר חיבור שאינו מוכיח עוד את מה שהוא מתיימר. אם השער החליף לאחרונה את השורש שלו, הורידו מחדש את חבילת הלקוח במקום לערוך את הפרופיל, כי החבילה הישנה עשויה עדיין לשאת את השורש הקודם. אם אפשרות האימות בתעודה חסרה בעורך הפרופילים, ייתכן שגרסת Windows המותקנת אינה חושפת את השיטה הזו; עדכנו את המערכת במקום לערוך XML ביד.
רשמו איזה מאגר הכיל את התעודה, איזה משתמש הפעיל את הלקוח והאם המפתח הפרטי היה קיים. שלושת אלה מסבירים כמעט כל מקרה של כשל זה.
הסיסמה הייתה תקינה. פרט ההתחברות שהשיטה באמת נזקקה לו היה במקום אחר.