אבחון תהליך לוגין Microsoft Teams

המאמר מתמקד בתהליך לוגין של אפליקציית Teams מתוך תחנת קצה ומתבסס על תחקור לוגין רגיל שאינו מבוססיל SSO ואינו מבוסס על ADFS.

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

יחד עם זאת ישנם עדין מספר בעיות באפליקציית  Teams ברמת תחנה כגון: אינטגרציה וטעינה של Add-On מול Outlook, לוגין נכשל תצורת הזדהות ארגונית ובעיות מהסוג הנ"ל.

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

ישנם אפשרויות שונות וכלים לאיתור בעיות וניתן להיעזר עם הקישורים הבאים:

תהליך לוגין של Teams

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

תהליך לוגין של Teams בנוי שתי פעולות עיקריות:

  • תהליך לוגין (בין אם מדובר על לוגין רגיל או מבוסס SSO)
  • תהליך לאחר לוגין (Post Login/Provision)

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

תהליך לוגין ראשוני

בתהליך חיבור ולוגין ראשוני של Microsoft Teams מתוך תחנת קצה עם Cache מקומי יתבצעו הפעולות הבאות (לאחר שם משתמש וסיסמה או במצב שנעשה לוגין לפני כן):

טעינת קובץ קונפיגורציה מקומי מול הכתובת https://teams.microsoft.com/desktopclient/settings HTTP/1.1 ובמהלך טעינת הקובץ תתבצע קריאה לקובץ Desktop-Config/ (במצב של פתיחה מתוך דפדפן ניתן לראות את כל ההגדרות)

גישה ותחילת הזדהות – הגישה הראשונית תהיה מול כתובת https://teams.microsoft.com/_ ומיד לאחר מכן הפניה לכתובת  https://login.microsoftonline.com/ לביצוע טאנלינג לטובת תחילת הזדהות מול https://login.microsoftonline.com/common/oauth2

ערכי הזדהות – בכתובת https://login.microsoftonline.com/common/oauth2 ישנם מספר פרמטרים שדרכם ניתן לבדוק ולוודא איך מתבצעת ההזדהות והאם ישנם בעיות, כאשר המזהים העיקריים מתבססים על Modern Authenticatiob והאם ישנו ספק SSO. המזהים הם:

  • x-client-BSSO
  • x-ms-sso-Ignore-SSO
  • x-ms-PKeyAuth
  • x-ms-RefreshTokenCredential

במצב כזה תהליך הלוגין ימשיך עם סדרה של כתובות ספציפיות הקשורות אל https://login.microsoftonline.com/common/oauth2 ויבצעו את תהליך הלוגין עם בקשות הזדהות, דרישה לטוקן וערכים נוספים.

במידה ואין בעיה בתהליך לוגין והמשתמש יבצע לוגין תקין אנו נקבל מספר תוצאות לגבי הזדהות ודרישות אשר נשעו ברקע, כגון טוקן (Access/Refresh), מזהה טוקן ודרישות נוספות.

בתהליך הזדהות ישנם פעולות רבות מאחורי הקלעים, כגון: גישה אל שרתי Teams בכתובת edge.skype.com ובדיקת מאפייני Web של XSS או תצורת הצפנה המבוססת על TLS 1.2.

בסיום של תהליך לוגין תקין נקבל הודעה נוספת ותקינה של HTTP/1.1 200 Connection Established ומשם נמשיך לחלק השני של התהליך והוא תהליך שלאחר לוגין וביצוע Post Login.

טיפ: הודעת הלוגין HTTP/1.1 200 בסיום התהליך שונה מאשר קודמותיה בגלל שבהודעה האחרונה (ורגע לפני Post Login) ישנו מידע נוסף של תהליך הלוגין וישנו מידע נוסף מבוסס HTML.

תהליך Post-Login

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

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

בתהליך השני מתבצעות פעולות נוספות בגישה אל כתובות API כלליות של Office 365, כתובות API של Teams וכתובות API של Skype. הכתובות מתבססות על אותו Region ולכן בכל סביבה או מדינה הכתובות יהיו שונות, בין היתר ניתן למצוא את הכתובות הבאות:

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

כלים לניתוח ובדיקה

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

Fiddler – לבדיקת תעבורת WEB וחשוב לוודא שבביצוע Decrypt יש לסמן Ignor certificate

לוגים + Trace32 – כלי פשוט מתוך סט הכלים של SCCM ודרכו ניתן לקרוא את הלוגים הבאים:

  • לוג מסוג Web – באמצעות צירוף המקשים (CTRL+ALT+SHFT+1) ניתן לייצא את הלוג לתיקית Downloads מקומית ומשם לקרוא נתונים לגבי כל הפעולות שבוצעו באפליקציה
  • לוג מסוג Desktop – מתוך תיקיית %appdata%\Microsoft\Teams\logs.txt ניתן לדעת איזה פעולות SSO בוצעו (ובנוסף פעולות של אינטגרציה מול Outlook, פעולת Bootstrap וכן הלאה)

הערה: ניתן לעבוד עם כלים נוספים כגון Wirshark בשביל להסניף תקשורת או קוראי לוגים אחרים.

לסיכום

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

מה דעתך?

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