ארכיטקטורה, יישום וכאלה Windows Virtual Desktop

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

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

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

המאמר הנוכחי מתמקד בארכיטקטורה, ביישום ועוד הרבה דברים מעניינים הקשורים אל Windows Virtual Desktop.

איפה מתחיל אצלי VDI? כמו במקרים רבים הייתי צריך לבצע פעולות אבטחה שונות על WVD כמו בדיקות אבטחה, בדיקות התקפיות וסימולציות, הקשחות, לחבר אל Azure Sentinel ועוד. משם התעמקתי וראיתי שמעבר לאבטחת מידע וסייבר יש טכנולוגיה ממש מעניינת, והשאר היסטוריה 😊.

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

גרטנר מעריכה שעד שנת 2023, 30% מכלל משתמשי VDI ייעשו ע"י שולחנות עבודה בענן מבוססות DaaS, והסקר של VDILIKEAPRO רק ממחיש שעבודה מרחוק תמשיך להיות כובד המשקל בארגונים רבים והמגמה רק תתחזק בשנים הקרובות.

המחקר של VDI Like a Pro הוא יוזמה עולמית עבור כל קהילת EUC וממחיש עצמאי כיצד נראית הקטגוריה של DaaS. התרשים הבא מתאר את החלוקה של שולחנות עבודה מרחוק והשחקנים הקיימים כיום 👇

WVD

הדרך אל Windows Virtual Desktop

איפה התחילה הדרך של Windows Virtual Desktop? בואו נלך בטיימליין כמה שנים טובות לאחור, ממש עד לימי NT 4.0, דרך הכניסה של VDI למיינסטרים ועד להכרזה של WVD. האבולוציה של WVD מעניינת כי התשית שהבתססה על RDMi עברו תהליך והוסבו לרכיבי PaaS שמאפשרים יכולות מולטי בתוך Windows 10 לצד מודל רישוי מעולה.

טיימליין עם תאריכים מעניינים זמינים להורדה של From Terminal Server to Windows Virtual Desktop a 20 Year Journey 💥

 Windows Virtual Desktop

 Windows Virtual Desktop

ארכיקטורה ורכיבים

הארכיקטורה של Windows Virtual Desktop בנויה מאינספור רכיבים ומאפיינים, החל מרכיבי תקשורת, זהויות, רכיבי Compute, רכיבי אבטחה ועוד. איזה רכיבים ומהם השכבות שנממאים בשימוש כאשר עובדים עם WVD וכאשר מתחברים?

WVD Architecture

Azure Front Door הוא שירות מסוג Application Delivery Network שעובד בשכבה 7. השירות משתמש בפרוטוקול Anycast עם Split TCP ורשת Azure גלובאלית בכדי להבטיח קישוריות וזמינות. ישנם שיטות עבודה עם Azure Front Door שונות, למשל, ניתוב בקשות מול Backend מתועדף.

Windows Virtual Desktop משתמש ביכולות של Azure Front Door עם Global Load Balancing בכדי לאפשר איזון עומסים, ובכדי להבטיח התחברות בטוחה עם מינימום סיכוני אבטחה.

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

Gateway מחבר משתמשים מרוחקים לאפליקציות שולחן עבודה וירטואלי של Windows ושולחנות עבודה מכל מכשיר המחובר לאינטרנט שיכול להריץ לקוח Windows Virtual Desktop.

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

TLS 1.2 נעשה בכל הקישוריות מול Windows Virtual Desktop (מתוך מכונות קצה אל מול Session Host), והקישוריות נעשית על גבי אותו ciphers של Azure Front Door. גם במצב של תעבורה מסוג reverse connect גם המכונת קצה וגם השירות מתחברים לרכיב Gateway של Windows Virtual Desktop.

Windows Virtual Desktop network connectivity

תעודות דיגיטליות הם חלק בתהליך ולאחר הקישוריות הראשונית נעשית ולידציה של תעודות דיגיטליות בין מכונת הקצה אל מול Gateway של Windows Virtual Desktop, ולאחר בדיקה של חוזרת (ממש Netsted TLS) בין שני הצדדים נעשה קישוריות מוצפנת במלואה ואימות ברמת הקישוריות.

Diagnostics מבצע אגרגציה של אירועים ומתעד פעולות אדמינים ומשתמשים לפעולות WVD שונות וכן בפריסת שולחן העבודה הווירטואלי של Windows כהצלחה או כישלון.

הרחבות מאפשרות לנהל את Windows Virtual Desktop באמצעות Windows PowerShell או באמצעות ממשקי ה- API של REST, כולל תמיכה בכלים של צד שלישי.

התעבורה נעשית על גבי טכנולוגיה שנקראת Reverse Connect שאינה מצריכה שהמכונות בענן יצריכו פורטים נכנסים ואפילו לא יצטרכו פורט TCP/3389, בומקום זאת אותו Agent יפתח פורט חיצוני (Outbound) מתוך Session Pool על גבי פורט 443/TCP. במצב כזה נעשה Reverse Proxy על תעבורת RDP והתעבורה עוברת בנוסף אנקפסולציה על גבי WebSocket וללא Native UDP.

Host Pool הוא אוסף של מספר מכונות שנמצאים בטננט, וכל Pool מכיל סט אפליקציות שניתנים לצריכה ע"י משתמשים (ממש בדומה לתחנה פיזית).

App Groups היא קבוצה של יישומים המותקנים ומוגדרים על Session Host בתוך Host Pool והיא יכולה להיות אחת משתי אפשרויות: RemoteApp או Desktop.

איך ליישם (תצורה בסיסית)

היישום של Windows Virtual Desktop נחלק לשניים: יישום Non-ARM ויישום ARM. ביישום מבוסס ARM התשתית ברמת הענן קיימת וכן הרכיבים של Windows Virtual Desktop, כלומר אין צורך להריץ PowerShell והגדרות מקוסטמות בכדי ליצור את הרכיבים, האפליקציה, להגדיר הרשאות סף וכן הלאה.במצב ARM אנו צריכים להגדיר סוכי מכונות, אפליקציות, הנגשה, אבטחה וכו'.

התרשים הבא נותן מספר אינדיקציות על הבדלים בין סביבת ARM לבין סביבת Non-ARM 👇

non-ARM and ARM experience in Windows Virtual Desktop

האחריות שלנו בענן היא לא גדולה ואם אנו לוקחים בחשבון את האחריות על סמך מודל Shared Responsibility  ונעשה השוואה בין סביבה מקומית שך BDI, לבין סביבת RDS בענן לבין WVD נוכל לראות כי התשתית מכילה את כל רכיבי הליבה של RDS כולל תופסת של רכיבים שנועדו לתת שרידות, זמינות ואפשרויות אבטחה נוספות.

WVD Security Responsibilities

דרישות

הדרישות של סביבת Windows Virtual Desktop הם:

חשבון Subscription עם אפשרות להריץ Windows Virtual Desktop (אין כרגע אפשרות ליצור WVD מתוך רכיבי ללא עלות)

תשתית Azure AD היברידית או עננית בכדי לבצע אוטנטיקציה ברמת משתמש וברמת HTML5 מול תשתית WVD

תקשורת מבוססת VNET מוגדרת ומולץ תשתית מוגדרת עם Hub & Spoke

אחסון על גבי Storage בכדי לשמור פרופילים מבוססים FSLogix

ישנם דרישות נוספות ומומלצות כמו דרכי גישה מבוסס Bastion, יכולות אבטחה, חיבור מול Endpoint Manager וכן הלאה.

הקמה

לאחר שהכנו את כל הדרישות אנו יכולים להמשיך להקמה והגדרה הבסיסית של תשתית Windows Virtual Desktop שתבסס על תצורה של Windows 10 Multi-session.

בשלב ראשון נבחר באפשרות של Create a Host Pool.

Deploy Windows Virtual Desktop

לאחר מכן נבצע את ההגדרות הבאות:

  • בחירת Subscription
  • בחירת Resource Group
  • הגדרת שם לטובת Host Pool
  • בחירת מיקום

לאחר מכן בחירה והגדרה של:

  • בחירת Host Pool עם הגדרת Pooled לטובת שולחנות עבודה מאוגדים עם מספר משתמשים על גבי אותה מכונה
  • הגדרת Max session Limit יפ מספר משתמשים שיש להם קישוריות וחיבור Concurrent מול אותה מכונה
  • הגדרת Load Balancing Algorithm עם הגדרת Breadth-first לאיזון עומסים על גבי כל המאחרים אשר זמינים באותו Host Pool

Deploy Windows Virtual Desktop

לאחר מכן נבצע הגדרות של Virtual Machine

  • בחירת Resource Group בהתאם לאותו Resource Group שחברנו בתחילה
  • הגדרת Virtual Machine Location מקיום מבוסס Region של התשתית וכאן ניתן לבחור מיקום שונה בכדי לאפשר פיזור גיאוגרפי של Metadata
  • הגדרת Virtual Machine Size לפי מספר המשתמשים שיהיו על כל מכונה
  • הגדרת Number of VMs שאנו צריכים בהתאם למספר המשתמשים ואיזון עומסים

יתר ההגדרות הם הגדרות בסיסיות ומוכרות של Azure ברמת תקשורת, סוג הדיסק וכו'.

Deploy Windows Virtual Desktop

חשוב להגדיר את Public Inbound Ports במצב בכדי לאפשר הנגשה מאובטחת דרך תצורה רשת מבוסס Bastion או רשת היברידית וכו'.

Deploy Windows Virtual Desktop

בסיום נגדיר Workspace ומשם נסיים את הגדרת התשתית.

Deploy Windows Virtual Desktop

בסיום נעבור על כלל ההגדרות וניצור את התשתית.

Deploy Windows Virtual Desktop

זמן ממוצע ליצירת תשתית היא בממוצע 10 דקות.

1 Response

  1. 16/05/2021

    […] קבוצת BlackBelt (קבוצת ווטס בנושאי אבטחה) […]

מה דעתך?

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

%d בלוגרים אהבו את זה: