הזדהות SMS Based על גבי Azure AD
זהויות הם חלק מהותי בהגנה על נכסי הארגון והינו רובד מרכזי כחלק מתוך יישום Zero Trust (סיגנל שלישי ביישום Zero Trust), ולכן מיקסום היכולות סביב זהויות צריך להתעדכן בכל עת.
בכדי להוריד את המורכבות ובכדי להוריד את הסיכונים של משתמשי קצה בכניסה למערכות ארגוניות ישנם אפשרויות מגוונות שניתנות למימוש על גבי Azure AD, ואחת מתוך אותן אפשרויות היא אימות מבוסס SMS או ליתר דיוק SMS-based sign-in המאפשר למשתמשי קצה לבצע אימות מבלי לדעת כלל את שם המשתמש או הסיסמה, וכל שנדרש הוא מספר טלפון נייד.
במצב של הזדהות מבוססת SMS, המשתמש מבצע רישום ראשוני עם מספר הטלפון, ולאחר מכן משתמש הקצה צריך לבצע בעת הלוגין הזדהות באמצעות מספר הטלפון וקוד האימות שנשלח אל אותו מספר נייד (קוד זמני).
במצב כזה שיטת האימות מפשטת את הגישה למערכות ואפליקציות ומורידה סיכונים.
האם אפשר לבצע הזדהות באמצעות מספר הטלפון הנייד במקום המשתמש הארגוני ולגשת אל המערכות הארגוניות? כן אפשרי.
מהו SMS-based sign-in
בפלטפורמת הזהויות של Azure AD ישנן שיטות שונות לבצע הזדהות חזקה, החל מהזדהות אשר מבוססת על אימות רב פעמי (MFA) ועד להזדהות מבוססת FIDO2 שמאמצת את האפשרויות השונות של Password LESS, למשל הזדהות עם התקן חיצוני על גבי זיהוי ביומטרי.
השיטות לביצוע הזדהות חזקה בפלטפורמה של Azure AD מאפשרת מימוש על גבי FIDO2, על גבי Authenticator Password LESS ועל גבי Text Message.
טיפ: ישנו הבדל בתצורת הזדהות של MFA עם Text Message לבין תצורת הזדהות מלאה של Text Message (או SMS-based sign-in)
שיטת הזדהות מבוססת SMS-based sign-in מתבססת על מספר הטלפון הנייד של המשתמש והבקשה של המשתמש בזמן הזדהות נעשית מול מזהה enableSmsSignIn (הנתיב המלא הוא authentication/phoneMethods/{id}/enableSmsSignIn).
בזמן הבקשה התשתית של Azure AD מבצעת בדיקה האם המזהה (מספר הטלפון הנייד) הוא יחודי, ובנוסף מבצעת בדיקה של שיוך מספר הטלפון הנייד אל ערך UPN של המשתמש והאם ההוגדר במצב Primary AUthentication. במידה והתנאים האלה מאומתים אז תהליך ההזדהות ממשיך והמשתמש יקבל קוד זמני לטובת ביצוע הזדהות.
בזמן ביצוע תהליך הלוגין ובאותו רגע שמזינים את מספר הנייד מתבצעים ברקע בדיקות שונות, אלה שהוזכרו ובדיקות נוספות לטובת אימות המספר מול המשתמש הרלוונטי, ואחד המאפיינים המרכזיים שמבצע בדיקה הוא GetCredentialType.
ברגע שישנה בקשה נכנס לפעולה (מאחורי הקלעים) המאפיין GetCredentialType שמבצע בין היתר את הבדיקות הבאות: קוד מדינה של המספר, האם המספר שייך למשתמש באותו טננט, האם למשתמש ישנם מזהי הזדהות נוספים, האם מדובר על טננט שהינו חלק מתוך פדרציה, האם ישנו ספר זהויות נוסף באותו טננט.
בדוגמה שלפנינו ניתן לראות מצב שבו מזינים מספר שגוי שאינו מופיע בטננט ואת הודעת השגיאה שבעקבותיו וכן המידע שאנו מקבלים ברמת המשתמש וכן ברמת הבקשה.
במידה והמשתמש מזין מספר טלפון נייד שהוא נכון התהליך יהיה מעט שונה, אך יבצע את אותן בדיקות ויוסיף לתהליך מאפייני בדיקה נוספים בתוך הבקשה, ולאחר מכן יציג בתוך הבקשה GetOneTimeCode.
לאחר שהמשתמש מזין את מספר הקוד הזמני במכשיר הנייד תהליך אימות מסתיים ומכאן מתחיל תהליך הלוגין בהתאם לאוטוריזציה של אותו משתמש.
ניתן לשים לאותו Request Payload עם המאםיין של Channel מסוג SMS בהתאם להגדרת הזדהות של אותו משתמש.
במידה ונבדוק את פורטל Azure AD ואת הלוגים Sign-in logs נוכל לראות את הזדהות המשתמש עם הפרטים המוכרים וכן הפרטים הנוספים בטאב Authentication Details.
איך מגדירים SMS SIgn-in
הגדרת SMS Based Sign-in אינה מורכבת ומדובר על פעולה פשוטה שמתבססת על הגדרת מזהה של מספר טלפון נייד ועל הפעלה של אפשרות Text Message מתוך Authentication Method מתוך Security בפורטל Azure AD.
דרישות להגדרת SMS Based Sign-in
הדרישות להגדרת SMS Based Sign-in תלויות ברישוי Azure AD שיכול להיות חלק מתוך חבילת רישוי גדולה או מרכזית וכן מזהה ראשי בלבד.
- רישוי Azure AD Premium P1 ומעלה (או חלק מתוך רישוי E5)
- רישוי מוצמד לכל משתמש אשר מוגדר
- אינו יכול להיות חלק מתוך מזהים נוספים (מתואר בהמלצות בהמשך המאמר)
הגדרת SMS Based Sign-in
בכדי להגדיר SMS Based Sign-in יש לבצע את הפעולות הבאות:
הפעלת שיטת הזהות מסוג Text Message למשתמש מסוים או לכלל המשתמשים באותו טננט
ולאחר מכן, הגדרת הערך של מספר הטלפון הנייד לאותו משתמש.
טיפ: ניתן להגדיר את הערך גם מתוך PowerShell
בסיום הפעלה נמתין 15 דקות ונוכל לבצע בדיקות.
במידה ונבצע בדיקה בפורטל Azure AD נוכל לראות את הפעולות שבוצעו לטובת הגדרת שיטת הזדהות וכן הגדרה ברמת משתמשי קצה, למשל נוכל לראות את המזהים שהוגדרו למשתמש מסוים עם הערכים הבאים Phone.ID + PhoneType + PhoneNumber.
דגשים לגבי SMS Based Sign-in
כמו בכל הפעלה של רכיב הזדהות מומלץ לדעת מהם הדגשים והאם ישנו קונפליקט או מגבלה מסוימת
- הזדהות SMS Based Sign-in נקראת גם SMS-based authentication
- הזדהות SMS Based Sign-in עובדת עם בקשה וצורת הזדהות שונה מאשר אימות MFA המשלב SMS
- אין אפשרות להגדיר MFA יחד עם SMS Based Sign-in
- SMS Based Sign-in חייב להיות מזהה ראשי ברמת המשתמש (חייב להיות Primary Authentication)
- אינו מומלץ למצבים של אימות מבוסס B2B
- תשתיות המשלבות פדרציה אינם יכולים לממש SMS Based Sign-in
- אין אפשרות לשלב עם IDP צד שלישי
- ישנה אפשרות לשלב MFA וכן SMS Based Sign-in למשתמשים שונים בענן
- אינו נתמך עם תשתית Windows Hellow for Business
- ניתן לשלב SMS Based Sign-in עם תנאים מבוססים Azure AD Conditional Access
לסיכום, השיטה החדשה להזדהות המבוססת על SMS Based Sign-in מביאה איתה יתרון וערך במצבים מסוימים בהם מעויינים להפעיל הזדהות ללא שם משתמש וסיסמה, ובמקרים מסוימים יכולה לסייע בהגנה על הענן ללא הצורך בסיסמאות חלשות.