הלקוח שלכם דוחה תעודה שהשרשרת שלה מאומתת בצורה נקייה, והשגיאה אומרת שהשם אינו תואם. ההודעה הזו אינה עוסקת במי חתם על התעודה. היא עוסקת בהרחבת השמות החלופיים לנושא, הנושאת את הזהויות שהתעודה רשאית לייצג, ובשאלה אם הזהות שהגדרתם מופיעה שם בצורה הנכונה. אמון עונה מי חתם עליה, בעוד בדיקת השם עונה לאיזה מארח היא שייכת.

מה הלקוח באמת משווה

הלקוח הופך את התצורה שלכם לזהות ייחוס: שם מארח, כתובת או מזהה ספציפי לפרוטוקול. לאחר מכן הוא מחפש בתעודה את הזהות הזו, תוך יישום כללי ההתאמה של הפרוטוקול שבשימוש. רק רשומות מאותו סוג נחשבות, כך שרשומת DNS אינה יכולה לספק כתובת, וההשוואה מתבצעת בין אם מישהו מסתכל על התעודה ובין אם לא.

כאשר זהות הייחוס חסרה בהרחבה הזו, הבדיקה נכשלת גם אם השם הנפוץ הישן תואם. תעודה יכולה להיות מונפקת כדין לחברה ועדיין להיות שגויה עבור vpn.example.com אם השם מעולם לא נכלל. הכשל הוא אי-התאמה בשם למרות שהתעודה אמיתית.

שמות DNS וכתובות IP הם רשומות נפרדות

פרופיל שמצביע על 203.0.113.10 בעוד התעודה מפרטת רק את vpn.example.com נדחה, כי החבילות מגיעות אך הזהות אינה תואמת. שמות DNS וכתובות מילוליות נשמרים כסוגי רשומה שונים, ואחד לעולם אינו מחליף את האחר. לכן שירות יכול להיות נגיש לפי כתובת ועדיין בלתי שמיש דרך פרופיל שמשתמש בכתובת הזו.

תווים כלליים מצייתים גם הם לכללים משלהם: תו כללי מכסה תווית אחת, לא כל שם תחת דומיין. השוואת DNS אינה תלויה ברישיות, בעוד שסוגי מזהה אחרים כן תלויים, כך שערך שנראה זהה על המסך עלול להיכשל בהשוואה מחמירה. בדקו את כללי ההתאמה של סוג הזהות שבשימוש במקום להשוות מחרוזות בעין. הוספת שם להרחבה היא החלטת הנפקה, ולא משהו שהגדרת לקוח יכולה לספק.

בדקו את התעודה שהחיבור באמת השתמש בה

קראו את החומר שנקודת הקצה החיה מציגה, ולא קובץ שהועתק מדף ניהול. מאזן עומסים או מופע חלופי עלול להציג משהו שונה מהתעודה שהועלתה לפני חודשים, וההבדל הזה בלתי נראה בקונסולה.

openssl s_client -connect vpn.example.com:443 -showcerts </dev/null | openssl x509 -noout -text

בלוק השמות החלופיים לנושא, שרשרת המנפיק ותקופת התוקף שייכים לקריאה אחת, כי אי-התאמת שם ותפוגה מייצרים שגיאות שונות. השוו כל שם בבלוק הזה לזהות שהוגדרה בפרופיל, תו אחר תו, וציינו מאיזה סוג הוא. חזרה על הפקודה מול צורת הכתובת של נקודת הקצה מראה אם התעודה מכסה את שתי הזהויות או רק אחת. תצוגת נושא ידידותית בקונסולת ניהול אינה תוצאת אימות ואינה אומרת דבר על השמות שההרחבה מכילה.

השם הנפוץ אינו מקור האמת המודרני

דפדפנים ורוב ספריות ה-TLS מתעלמים כעת מהשם הנפוץ לצורך התאמת שמות מארח ופונים להרחבה. חלק מלקוחות ה-VPN עדיין משווים קודם את השם הנפוץ או נופלים חזרה אליו כשאין הרחבה, וכך תעודה אחת יכולה לעבור בדפדפן ולהיכשל בלקוח. אותה בדיקת שם יכולה לעבור בפלטפורמה אחת ולהיכשל באחרת בלי שהתעודה תשתנה כלל.

גלו איזה שדה הלקוח שלכם קורא לפני שאתם מחליטים שהתעודה שגויה. שני לקוחות על אותה נקודת קצה יכולים לחלוק, והמחלוקת היא מידע על הלקוח ולא על התעודה.

תקנו את ההנפקה או את הפרופיל, לא את הבדיקה

כשפרופיל נבנה סביב כינוי, או הפנו אותו לשם המארח המתועד או הנפיקו את התעודה מחדש עבור הכינוי ופרסו אותה בחלון מתוכנן. השתקת האזהרה אינה אפשרות שלישית, כי הבדיקה היא השלב היחיד שקושר תעודה חתומה למארח המסוים הזה. הסרתה משמעה שכל תעודה מאותה רשות יכולה להחליף את השרת שרציתם להגיע אליו.

חידוש צריך לשמר את השמות והמטרה המיועדים ולא רק להזיז את תאריך התפוגה קדימה. חידוש שמפיל שם הוא תקלה חדשה שמתוזמנת לאתחול הבא, והיא מגיעה בדרך כלל בלי אזהרה כי התעודה הישנה עדיין הייתה תקפה כשנעשה השינוי.

תעדו את הזהות הצפויה, את השמות שהוצגו ואת השרשרת שחתמה עליהם. התיעוד הזה הופך את החידוש הבא להשוואה במקום לחקירה. הגדרת ההרחבה נמצאת ב-RFC 5280 אם צריך לבדוק הנפקה מסוימת.

מאמרים קשורים