תקלת גישה לאחר עדכון CU בשרתי Skype for Business
לאחרונה יצא עדכון יוני CU לשרתי Skype for Business שהביא עימו מספר חידושים, כגון: תצורת קידוד בשיתוף מסכים, יכולות שליחת מסרים במצב Offline ועוד.
במהלך התקופה האחרונה ולאחר עדכון CU3 אצל מספר לקוחות נמצאו מספר בעיות, הבעיות שהתגלו גרמו בין היתר לניתוק מכשירים חכמים מתוך סביבת Skype for Business ולבעיות נוספות של Offline IM.
הבעיה ודרכים לפתרון
לאחר העדכון מכשירים חכמים אינם מצליחים להתחבר לשרתי Front-End מתוך האפליקציות השונות ומסך החיבור נשאר על הסופגניה המסתובבת מספר דקות כאשר בסיומה מקבלים הודעה שהשרת אינו זמין ואין אפשרות להתחבר אל השרת.
במצב כזה יש מספר פעולות Troubleshooting שניתן לעשות, במקרה הזה בחרנו לבדוק את הלוגים והרכיבים הבאים:
- שרת Reverse Proxy – בדיקת לוגים של חוק והגדרת פרסום מכשירים חכמים
- לוגים במכשיר – כידוע ניתן להוציא לוגים של אפליקצית Skype for Business מתוך המכשיר
- לוגים AutoDiscover – לוגים של AUtodiscover מתוך שרת Front-End שאליו מחובר המשתמש
החל מבדיקת שרת Reverse Proxy קיבלנו הודעות רבות על שגיאה 401, כלומר הבקשות מגיעות לשרת Reverse Proxy וממשיכות אל שרת Front-End אך ללא צורה תקינה מאחר שהודעות אלה כוללות הודעות תקינות ורק לאחר מכן הודעות שגיאה של 401.
בבדיקת לוגים של האפליקציה נמצאו הודעות דומות של 401 ובעיות אוטנטיקציה עם הודעות, כגון: Inner Exception:The remote server returned an error: (401)Unauthorized
חשוב להדגיש כי בכל הלוגים ראינו הודעות של WebTicketService חלקיות בגלל שהתהליך חיבור של המכשירים החכמים נעצר ואינו ממשיך בתהליך התקין.
בנוסף נמצא כי במכשיר נעשית בקשה כאשר המכשיר ניגש אל MEX מתוך WebService Ticket ולאחר מכן שולח דרישה של WebTicketServiceWinNegotiate. (בהתאם לתצורת עבודה המובנית).
ברמת השרת ביצענו בדיקה נוספת של לוגים מתוך ממשק IIS ונמצאו הודעות נוספות בתוספת של ההודעות הבאות:
Inner Exception:The HTTP request is unauthorized with client authentication scheme ‘Ntlm’
The authentication header received from the server was ‘Negotiate,NTLM’
Inner Exception:The remote server returned an error: (401) Unauthorized
בבדיקות נוספות שבוצעו מתוך PowerShell כדוגמת Test-CsMcxP2PIM התקבלו הודעות שגיאה של 401 ושל unauthorized.
לאחר בדיקה של לוגים בכל הרכיבים שבהם מכשירים חכמים מבצעים כניסה נבדקו הגדרות כניסה והזדהות של מכשירים חכמים, במהלך הבדיקה נבדקו רכיבים והגדרות, כגון:
- אוטנטיקציה ברמת IIS
- הגדרות External Web Services
- הגדרות WebTickets ברמת IIS
לאחר מכן נבדקו הגדרות CsWebServiceConfiguration ברמת PowerShell ונמצא כי הגדרת UseWindowsAuth מוגדרת עם ערך NTLM, שאינו ברירת מחדל.
מכשירי iOS ומכשירי Android מסוימים בגרסאות החדשות אינם יכולים להתחבר כאשר NTLM מוגדר ברמת WebServiceConfiguration.
לאחר שינוי של ערך NTLM לערך של Negotiate מכשירים החלו להתחבר ולבצע את ההזדהות בצורה תקינה.
הערות
- התקלה הופיעה אצל מספר לקוחות בודדים ובבדיקה של Snapshot נמצא כי אכן ההגדרה הקודמת היתה שונה עם ערך Negotiate
- מכשירים חכמים מסוג iOS אינם יכולים להתחבר כאשר NTLN מוגדר בשרתי Front-End
- במכשירי אנרואיד ניתן להתחבר כאשר ישנה הגדרת NTLM אך במהלך התקלה חווינו את אותם תקלות אצל משתמשים עם גרסאות מתקדמות
- צריך לשים לב כי העדכון דורס הגדרת Offline IM שבוצע קודם לכן בשרתים