בעקבות אירועי אבטחה וקורונה: כדאי VDI?

אם מחר יצא לי לפגוש חבר שהולך להתחיל את צעדיו בעולם הפרילאנס, בתחומים כמו יעוץ, אינטגרציית פתרונות וכו' – הייתי שמח לתת לו 3 טיפים חשובים בתור התחלה:

  1. לא חשוב מה הפתרון – חברות רוצות לראות שאחרים (לפחות בגודל של אותו לקוח, עדיף יותר גדול) משתמשים בפתרון
  2. שהפתרון לא יהיה Bleeding Edge
  3. הלקוח ירצה לנהל את הפתרון In House עם כמה שפחות תלות מבחוץ.

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

וזו היתה טעות רצינית. לעניות דעתי.

מדינות שונות שיש ברשותן זרועות סייבר שמנסות לפרוץ ולמצוא חולשות או לגנוב מידע – יעשו הכל על מנת שלא להתגלות ברדאר של הלקוח. הם ימפו את הרשת הפנימית והחיצונית של הלקוח, ימצאו חולשות, ימשכו קבצים של סיסמאות כדי להשתמש מבחוץ ב-"Rainbow Table" כדי לפענח סיסמאות, הם ימצאו דרכים לשאוב ולגנוב מידע, והעיקר: הם יבצעו כמעט אפס שינויים במערכות בארגון. אף אחד לא יקבל בארגון אימייל מהארגון הפורץ "פרצנו וגנבנו לכם הכל, חה חה חה". הם ישתמשו במידע הזה יותר מאוחר, בין אם למכור אותו לחברות וארגונים אחרים, ובין אם להשתמש בו לשימושים אחרים שונים.

לאפטופים לעובדים לעבוד מהבית דרך VPN היא דרך מעולה כדי להחליש בצורה משמעותית את כל עניין אבטחת המידע. לאפטופ, בסופו של יום, ישומש גם באינטרנט פתוח (ביתי, בחוץ) ולמומחים לפרוץ Windows לוקח דקות ספורות, נתב ביתי – פחות מכך (בהתחשב בכך שאף ארגון שמוכר את הראוטרים הללו לא מעדכן עדכוני אבטחה באופן אוטומטי, שלא לדבר על כך שאף אחד לא שולח התראות אבטחה על עדכונים חדשים. קיבלתם איזו הודעה כזו לאחרונה מ-בזק/הוט?), ולאחר פריצה ללאפטופ (אותם ארגונים יודעים איך לעקוף כל AV וכל מיני פתרונות אחרים) – כל מה שהם צריכים לעשות זה להטמיע אפליקציה או סקריפטים שרצים ברקע, וכשהמשתמש מתחבר ל-VPN – אפשר להתחיל לחגוג!!

בעולם ה-VDI הדברים שונים. לחלוטין.

הרעיון המרכזי ב-VDI הוא שאתה יכול להתחבר אל הדסקטופ הוירטואלי עם כל סוג של ציוד, כל עוד אותו ציוד מכיל אפליקציה שיודעת "לדבר" בשפת התקשורת להתחברות ל-VDI (הדוגמא הכי נפוצה: RDP), כלומר אותו ציוד שתתחבר איתו, יכול להיות בעל מערכת הפעלה אחרת (לינוקס לדוגמא), מעבד שאינו X86 (כמו ARM), או Form Factor שאינו כולל מסך נייח (סמארטפון, טאבלט). פתרון החיבור מעביר בסופו של דבר כברירת מחדל את הקשות המקלדת, תנועות עכבר ותצוגה – דרך תקשורת מוצפנת. בברירת המחדל, אין גישה לשום ציוד מקומי כמו מדפסת, דיסקים קשיחים, חיבורי USB (שאינם מקלדת ועכבר) וכו' ובדרך כלל תהיה גם הפרדה ברמת הרשת בין גישת ה-RDP לבין התקשורת שהדסקטופ הוירטואלי עצמו משתמש – לצורך גלישה באינטרנט/אינטרה-נט לדוגמא, כך שגם אם מחשב פרוץ מתחבר, אין לו גישה ישירה אל הקבצים והתיקיות בדיסק הקשיח הוירטואלי או דרך להריץ סקריטפים מהמחשב הנייד הנגוע למכונת הדסקטופ הוירטואלית. שכבה נוספת של הגנה שקיימת בפתרונות כמו Horizon של VMware היא שימוש חד פעמי בדסקטופ וירטואלי, כך שאם המשתמש התנתק/ביצע Log out – אותו VM פשוט ימחק ויבנה מחדש, כך שגם אם מישהו הצליח לפרוץ, אותו VM "יחיה" רק בזמן סשן החיבור של המשתמש, ולאחריו – (לפי ה-Policy שנקבע) המכונה תימחק.

כל מה שתיארתי הוא די בסיסי מבחינת אבטחת מידע. אפשר מכאן והלאה לקחת את זה לרמות יותר גבוהות הכוללות בדיקת Integrity של הציוד שיתחבר (לדוגמא באנדרואיד יש SafetyNet, ב-iOS יש מספר דרכים לבדוק אם המכשיר עבור Jailbreak, וב-Windows מיקרוסופט עובדת על פתרון "שרשרת" שעובר מה-BIOS והלאה כדי לבדוק שדברים לא שונו. בלינוקס יש מספר דרכים, כאשר הדרך הפופולרית ביותר היא לחתום עם TPM על ה-Image, לבצע mount כ-read only ועוד מספר דברים על מנת למנוע tampering ב-thin client) – ובכך למנוע כמה שיותר נסיונות פריצה לרשת הפנימית של הארגון.

לסיכום: ארגונים שמריצים מערכות דסקטופ רבות (לפחות אחת פר עובד) – אני ממליץ להן לשקול ברצינות מעבר ל-VDI. כיום דרישות החומרה אינן כה גבוהות (אפשר אפילו לעשות זאת גם ללא רכישת סטורג' All Flash NVME ב-7 ספרות בדולרים) אם משתמשים בשרתים מודרניים, ולגבי מחירי License אפשר תמיד למצוא פתרון עם נציגי המכירות של יצרני פתרונות VDI השונים. אם הנתונים שלכם בחברה חשובים – כדאי לשקול זאת.

גישות SaaS/PaaS והגישה ההיברידית

כמעט בכל חברה יתקיים מצב בו החברה תחפש תוכנה שתבצע שרות X או שתתן שרותי פלטפורמה Y במקום "להמציא את הגלגל" מחדש בכל פעם. אם לדוגמא העסק מעוניין לשלוח איחולי חג שמח לכל הלקוחות, ניתן יכול לשכור שרותי Saas של חברה כמו Mailchimp לדוגמא ובתמורה תקבלו ממשק קל לשימוש וסיכוי מאוד גדול שכל לקוחות העסק יקבלו את המייל. מצד שני אפשר בעזרת מעט סקריפטולוגיה ושימוש באמזון SES לבצע את אותו דבר אך במחיר זול בהרבה (יכול לחסוך לא מעט אם לחברה יש מאות אלפי או מיליוני לקוחות לדוגמא). אפשר כמובן לקחת גם את האופציה החינמית ולהקים שרת מייל או להשתמש בשרת מייל מקומי כדי לשלוח את הררי האימיילים, אבל במקרים כאלו הסיכוי שהמייל יתקבל אצל כל הלקוחות הוא די קלוש – אם לא משקיעים בכל עניין של Whitelist, RBL, דבר שלוקח לא מעט זמן ומשאבים.

יותר ויותר חברות תוכנה מקצצות בהשקעה של כתיבת תוכנות והפצת כ-Stand alone המיועדות לרוץ על שרתים בתשתית מקומית של הלקוח, וזאת ממספר סיבות, הנה 2 העיקריות:

  1. עלויות תמיכה – ככל שתוכנה נמכרת כ-Stand Alone, עלות התמיכה ליצרן התוכנה תהיה גבוהה, מכיוון שיש לא מעט סיכוי שהתוכנה לא תעבוד בסביבות או מכונות שונות, הרשאות שגויות, חוסר ידע טכני של הלקוח ועוד. ככל שהתומכים הטכניים יהיו עסוקים יותר ויותר שעות בפתרון בעיות של לקוח ספציפי זה או אחר, הרווח של יצרן התוכנה ירד. אחרי הכל, אף אחד לא משלם ליצרן התוכנה אם מחלקת התמיכה השקיעה 10 שעות בפתרון בעיה אצל לקוח יחיד לדוגמא.
  2. פיראטיות – בהרבה מאוד חברות הצוות מוריד אפליקציה או פלטפורמות מסויימות למטרת Trial ומיד לאחר מכן הם מחפשים כל מיני כלים ודרכים כדי לפרוץ את ה-Trial. הרווח של יצרן התוכנה ממקרים כאלו – אפס.

מהרגע שיצרן התוכנה מציע את מוצריו כ-PaaS או SaaS, הדברים נהיים יותר קלים עבורו:

  1. אין פיראטיות
  2. עלויות התמיכה מצטמצמות משמעותית הואיל והכל רץ בתשתית וירטואלית של יצרן התוכנה בעננים שונים ומקרי התמיכה נהיים יותר ויותר פשוטים כי ניתן לשחזר את התקלות במחלקת התמיכה של יצרן התוכנה.
  3. תזרים הכנסות חודשי/שנתי רציף מהלקוחות.
  4. קצב הפיתוח מואץ יותר, באגים ופונקציונאליות חדשה נכנסת ל-Life Cycle של השרות במהירות גבוהה יותר ובכך דרישות לדברים חדשים שלקוחות מבקשים – נענים במהירות גבוהה יותר.
  5. אין צורך בתמיכת Legacy הואיל וכולם עובדים על גירסה אחת או שתי גרסאות.

אך יש גם חסרונות:

  1. עלויות תשתית הרבה יותר גבוהות בענן ציבורי. בניגוד למכירת תוכנת Stand Alone שלא מתחברת החוצה, כאן פתרון ה-Saas/PaaS יצטרך חיבור קבוע למשאבים שונים של יצרן התוכנה.
  2. אבטחת המידע צריכה להיות הרבה יותר רצינית בהשוואה למקרים של תשתית סגורה החוצה. מהרגע שמתגלה אצל יצרן כזה דליפת מידע, יש סיכוי לא רע שחלק מהלקוחות יעדיפו לנטוש ולחפש פתרון מתחרה.

אלו, פחות או יותר הסיבות שבגללן חברות תוכנה יעדיפו להציע שרותי PaaS/SaaS.

אחת הנקודות שבמקרים רבים אינני רואה התייחסות מצד אותן חברות – היא למקרים שהלקוח אינו מוכן "לעבור All In", כלומר הלקוח לא מוכן שכל ה-DATA שלו ישב בתשתית של יצרנית תוכנה ולו (ללקוח) לא תהיה שליטה על הנתונים מבחינת אבטחת מידע או בכלל מהבחינה העקרונית שזה ישב בתשתית של חברה אחרת שאין לו מושג ירוק לגביה. זו לדוגמא אחת הסיבות שחברות יעדיפו לוותר על פתרון SaaS/PaaS שמוצע רק על ענן ובמקומו הם יעדיפו פתרון שרץ מההתחלה ועד הסוף על תשתית מקומית (On Prem).

מה שלעניות דעתי אותן יצרניות תוכנה PaaS/SaaS צריכות להציע – הן את האפשרויות הבאות (אחת או יותר), משהו שהוא יותר מעין "Hybrid":

  1. ה-DATA של הלקוח יכול להיות מאוחסן On Prem עם Agent שמתחבר לענן. לשרות תהיה גישה עם הרשאות מאוד מוגבלות
  2. אם ללקוח יש חשבון בענן ציבורי כלשהו, הלקוח יוכל להגדיר אחסון אובייקטים כלשהו (S3 לדוגמא) עם הרשאות מוגבלות שינתנו בעת הפעלה ראשונית של שרות ה-SaaS/PaaS והרשאות אלו יהיו תחומים למשאבים מסויימים בלבד (נניח Bucket כלשהו)
  3. הלקוח יצטרך לבחור כבר בהתחלת שימוש ה-PaaS/SaaS את ה-Passphrase שלו (ובלבד שיהיה מורכב) ועם אותו Passphrase (ואולי יחד עם עוד מספר נתונים) יוצפן ה-DATA של הלקוח כך שגם ליצרן התוכנה לא תהיה גישה לנתונים. (אפשר כמובן במקום Passphrase יהיה אפשר להשתמש במפתחות פרטי/ציבורי יחד עם Passphrase)

לסיכום: מצד אחד יותר ויותר חברות תוכנה עוברות להציע את מרכולתן בתצורות של PaaS/SaaS, אולם במקרים רבים לחברות וארגונים גדולים לא קל לעבור מבחינה פסיכולוגית למצב שכל הנתונים הקנייניים/פרטיים ישבו באיזה DB/אחסון ענני של יצרן תוכנה כלשהי מבלי שללקוח יש מושג מה יצרן התוכנה עושה/יעשה עם הנתונים, שלא לדבר על סיטואציה שלא מעט ארגונים לא רוצים/לא יכולים לבחור בפתרונות כאלו עקב רגולציה או אבטחת מידע. אותן חברות צריכות להציע משהו שהוא "באמצע" – התשתית תרוץ בענן, אבל המידע ישב מקומית בתשתית של הלקוח או שהוא ישב בענן בצורה כזו שללקוח תהיה שליטה מי יכול לצפות/לגשת לנתונים (גם אם מדובר בחסימת הנתונים מפני חברת התוכנה).

Exit mobile version