ברודקום רכשה את VMWare – ההמשך

בתחילת השנה פרסמתי פוסט על כך שחברת Broadcom רכשה את חברת VMWare בסכום של 69 מיליארד דולר, ובאותו פוסט/קליפ חיוותי את דעתי, וחשבתי שסיימתי עם הנושא… עד שקיבלתי טלפון מחברה מנמ"ר שביקש ממני לבדוק יותר לעומק ולחוות דעה יותר מפורטת. החלטתי שאם אני בין כה עושה זאת, אני גם אפרסם זאת כאן.

להלן תקציר:

למי שלא מכיר את חברת ברודקום, החברה רוכשת חברות שונות, ולאחר הרכישה היא מוכרת חלקים שונים של החברה הנרכשת, מקצצת בהשקעות בצורה משמעותית בחברה הנרכשת, כך שבמקרים רבים, החברה הנרכשת אינה יותר מ"שלד" ממה שהיתה בעבר חברה גדולה. דוגמאות לא חסר: CA, symantec ויש עוד כמה. גם רכישת VMWare אינה הרכישה האחרונה, החברה רכשה מאז את ConnectAll.

בחודשים האחרונים התקיימו מספר ישיבות עם הנהלת ברודקום, VMware, שותפים ואחרים, בהם התגלו הדברים הבאים:

  • החברה מחסלת את תוכנית השותפים המקורית של VMware וברדקום מעתה היא המחליטה מי יהיו השותפים והתנאים החדשים.
  • החברה משנה לחלוטין את פורטפוליו המוצרים של VMWare ומעתה יהיו שני מוצרי "אב", ורוב המוצרים האחרים של החברה לא יהיו זמינים יותר לרכישה עצמאית, אלא כ"תוספים" לאותם "מוצרי אב" – ארחיב בנושא בהמשך הפוסט
  • ברודקום החליטה ש-VMWare תצא מכל מה שקשור לוירטואליזציית קצה (VDI), ניהול מערכות קצה, וכל מה שקשור ל-End User Computing והיא מציעה את החטיבה למכירה עד סוף השנה הקלנדרית הנוכחית בסכום של 5 מיליארד דולר.

עתה נתרכז בעניין אותם "מוצרי אב": החברה תציע בעצם שני משפחות חדשות, הראשונה תיקרא VCF (ר"ת VMware Cloud Foundation) וחבילה זו תציע את כל מה שיש ל-VMWare להציע בתחום וירטואליזציה מנוהלת, מקומית או בענן (או בצורה משולבת) , כולל חלקים רבים שהוצעו כפתרנות נפרדים ומעתה יוצעו כ-Add-ons (תוסף) למי שרוכש את VCF. להלן תרשים דוגמא למה יוצע לרוכשים (לחצו להגדלה)

קרדיט: William Lam

מוצר האב השני הוא VVF (ר"צ VMware vSphere Foundation) – שזו כמובן חבילת ה-vSphere שמיועדת לקצה הגבוה וללקוחות הגדולים. כמו ב-VCF, גם כאן, מוצרים שהיו בעבר עצמאיים וניתנים לרכישה נפרדת, ימכרו מעתה רק כ-Addons. להלן תרשים החבילה (לחצו להגדלה):

קרדיט: William Lam

כפי שניתן לראות מהתרשימים, ישנם מספר חבילות מוצרים שהחברה כורכת, בין אם הלקוח רוצה או לא. כך לדוגמא, מעתה חבילת ARIA כלולה ב-VVF. יש לך מערכת אחרת לניתוח קבצי LOG  לדוגמא? או שתיפטר מהמערכת או שתשלם עבור חלק שלא תשתמש. מצד שני, ישנם חלקים שמעתה זמינים רק אם רוכשים את VCF – כמו VMWare firewall או ATP.

אחרי שברודקום/VMWare פרסמו את הדברים (הם פרסמו מאז מספר "עדכונים" – פוסט זה כולל אותם), ולאחר שהם הבינו כי המתחרים כבר פונים ללקוחות החברה, הם הוציאו "הבהרה" נוספת שישנן עוד 2 "חבילות אב".

החבילה הקטנה הנוספת היא חבילת VMware vSphere Standard (VVS) – להלן התרשים (לחצו להגדלה):

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

ההצעה האחרונה שיש לברודקום/VMWare להציע נקראת VMware vSphere Essentials Plus Kit (VVEP) והיא די זהה ל-VVS. להלן התרשים (ההגבלה ל-3 שרתים היא במקור – לחצו להגדלה):

אלו הם ההצעות הזמינות ללקוחות, כאשר מעתה הכל זמין כמנוי (Subscription) בלבד. לאלו המעוניינים במידע לגבי ה-Validated solution על VCF, אפשר לראות פרטים כאן.

בקליפ שפרסמתי בפוסט הקודם, ציינתי כי חברות גדולות לא יתרגשו מעליית המחיר הצפויה (והיא בהחלט צפויה – מפוסטים שונים ברשת רואים עליה שנעה בין 100 ל-300 אחוז, אבל תמיד כדאי לשאול את הנציגות שמולה אתם עובדים), אך הבעיה המהותית קשורה לעיקר: שום חברה לא מוכנה "לבלוע" עליית מחיר כה גבוהה כשמדובר בדיוק באותו מוצר שהיה זמין במחיר נמוך משמעותית בעבר (כבר ציינתי כי רוב מוצרי VMWare הפסיקו להיות זמינים לרכישה עצמאית ו/או רשיון Perpetual? הנה פוסט של VMware עצמה על כך לגבי רשיונות, כל המוצרים ושרותי SAAS) ולכן רבים מתחילים להתעניין בפתרונות מתחרים (ספקי הענן כבר מציעים הצעות מפתות, Nutanix גם מציעים)

מה ניתן לעשות? על מה מומלץ להסתכל ולבחון? על כך – בפוסט הבא שיפורסם בסופ"ש זה.

לקצר דרכים – ולסבול מאוחר יותר

כיועצת עצמאית, יוצא לי במקרים רבים לתת יעוץ לגבי תשתיות קיימות בענן או On Prem או במעבר מתשתיות מקומיות לעננים ציבוריים. לשמחתי אני יכולה לאמר ממה שראיתי – זה שחברות רבות נוהגות בתבונה ולא מעבירות בצורה מיידית את כל התשתיות שלהן מ-On Prem לענן אלא בצורה מדורגת, וגם אז – רק מה שצריך.

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

מאן דהוא רוכש לו לאפטופ חדש ונוצץ ומחליט להתקין עליו אובונטו בגירסה כלשהי. ההתקנה עוברת בשלום (בדרך כלל), המשתמש נכנס עם שם המשתמש שלו ואז הוא מבחין שאין כל חיבור לאינטרנט או ל-WIFI. הוא מחפש כיצד להגדיר את ה-WIFI ואז הוא מוצא כי המערכת כלל לא מכירה בציוד ה-WIFI בלאפטופ. נסו עכשיו להסביר למשתמש החדש כיצד לקמפל קרנל מודול, להגדיר חוק UDEV כדי שהציוד יוכר, או אולי לשדרג את ההפצה לגירסה האחרונה (בהצלחה עם זה – אם אין לו כלל חיבור RJ45 בלאפטופ או שקנוניקל, כמיטב המסורת, שברו תאימות בשדרוגים).

מדוע אני מספרת את הדברים? מכיוון שאני רואה שוב ושוב כיצד אנשי IT מחפשים כל מיני "קיצורי דרך" עם סקריפטים – בשביל להתקין פלטפורמות ותוכנות שונות, מבלי לנסות, לטרוח וללמוד את הדברים. אינני טוענת כי סקריפטים כאלו הן דבר "רע" כלל וכלל. במקרים רבים סקריפטים כאלו מסייעים מאוד בהקמה הראשונית של המערכת, כאשר צריכים להקים Proof of concept או כדי ללמוד איך לנהל ולהשתמש בפלטפורמה, אך מעבר לכך, שימוש "עיוור" בסקריפטים מבלי להבין אותם ומבלי להבין את ההשלכות, יכול לגרום לנזקים משמעותיים מאוד בהמשך הדרך.

אחד הנזקים, לדוגמא, קשור לשדרוג. אם מישהו הקים מערכת Kubernetes והוא ינסה לשדרג אותה – סביר להניח שהוא יתקל במספר שגיאות, שאם הוא לא מבין בתחזוקה והקמת הפלטפורמה, יכולים פשוט להשבית לו את המערכת, וכנ"ל לגבי הרצה של כל מיני קונטיינרים חיצוניים תוך שימוש בקבצי YAML שאיש מהחברה לא עבר עליהם: צריך לזכור שקוברנטיס לא שואל יותר מדי שאלות לפני הטמעה של קבצים כאלו (kubectl apply -f something.yaml).

ולכן, ההמלצה שלי לכל איש IT – כשזה מגיע ללינוקס, כשזה מגיע לקוברנטיס או כל פלטפורמה אחרת – אם צריך להקים מערכת פרודקשן/טסטים/פיתוח, לא מומלץ להשתמש בסקריפטים האוטומטיים או קיצורי דרך אחרים להקים את הדברים (שוב, למעט POC) – אלא להשקיע וללמוד איך עובדת הקמת הפלטפורמה, התלויות והתשתיות הנצרכות. נכון, זה לוקח יותר זמן ואין תמיד חשק ללמוד כל פיפס, אך לימוד הזה זו השקעה שמחזירה את עצמה כשיש תקלה, או מאוחר יותר אם מחפשים מקום עבודה אחר – ובראיון (ובקורות החיים) ניתן לציין שאתם מכירים הכרות די עמוקה את פלטפורמה X או Y. זיכרו: הדבר האחרון שאתם רוצים זה מערכת שהקמתם במהירות, כולם בנו ובונים עליה ולפתע היא קורסת ואין איש שמכיר אותה. כולם יצפו ממך לפתור זאת ובמהירות.

חג שמח.

פרילאנסרים, מצלמה ושיחות וידאו

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

אחת הבעיות המהותיות בפגישות וירטואליות, היא שאין ממש את אותן פגישות לא-רשמיות, במטבח של החברה ("שיחות קולר") או שיחות אחרות לפני או אחרי ישיבה וירטואלית. פגישות אלו, בלא מעט מקרים, יכולות דווקא ליצור Lead לאותו עצמאי – לעבודות פוטנציאליות חדשות.

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

לפניכם תמונה. זוהי תמונה שלי באפליקציית זום. למי שלא מכיר – נעים מאוד 🙂

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

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

אז איך עושים זאת? מכיוון שמצלמת Webcam לא ממש מאפשרת הוספה של לוגו ושורות טקסט (וגם לא אפליקציות כמו זום או סקייפ וכו') – אנחנו נקים בעצם מצלמה וירטואלית, שאותה נשדר דרך הסקייפ או הזום או אפליקציית וידאו אחרות. אנחנו נשתמש בתוכנת OBS Studio החינמית. להלן ההוראות:

  1. הורידו והתקינו את אפליקציית OBS Studio מהקישור הבא (שימו לב: גירסת לינוקס אינה תומכת במצלמה הוירטואלית, נכון לגירסה 26.1, כך שזה יעבוד רק על Windows או מק).
  2. הפעילו את התוכנה והתרכזו בצד שמאל, בקוביה שכתוב עליה Sources
  3. לחצו על מקש ה- + בחרו Video Capture Device, תנו לזה שם, לחצו OK, ובחרו את המצלמה שלכם (חשוב שהיא לא תהיה בשימוש באפליקציות שיחות אחרות באותו זמן)
  4. באותו חלון של בחירה, יהיו אופציות שונות להגדרת המצלמה. אם אתם לא מבינים בתחום או לא מכירים – אל תשנו. לחצו OK
  5. אם הבחירה שלכם עבדה, אתם תראו את עצמכם בתוך חלון מוקף במסגרת אדומה. המסגרת מציינת אובייקט אקטיבי ב-OBS.
  6. אם אנחנו רוצים להוסיף לוגו, נלחץ שוב על ה- + ונבחר Image. חשוב: ה-Image אמור להיות בפורמט PNG אם רוצים רקע שקוף ללוגו (כמו אצלי בתמונה לעיל). תנו שם, לחצו על Browse ובחרו את הקובץ PNG עם הלוגו. לחצו OK לאישור. שוב אנחנו נראה ריבוע אדום מסביב לתמונה – השתמשו בריבועונים הקטנים מסביב לריבוע האדום הגדול כדי להקטין את התמונה ולמקם אותה היכן שתרצו.
  7. אם נרצה להוסיף טקסט (כמו שם, לדוגמא), נלך שוב לקוביית ה-Sources, נלחץ על + ונבחר Text +GDI – שוב, תנו לזה שם ולחצו OK. כעת יפתח חלון ובתוכו תהיה קוביה שחורה עם הכיתוב משמאל "Text" – הכניסו כאן את הפרטים שאתם רוצים (אפשר במספר שורות). שימו לב שהחלון שנפתח – נגלל, ויש אופציות שניתן לשחק איתן כמו פונט, צבע, ישור לימין, שמאל וכו'. הכניסו את הטקסט שאתם רוצים (אם אתם רוצים להכניס טקסט במספר גדלים, תצטרכו ליצור מספר אובייקטים של טקסט). אחרי שלחצתם OK, שנו את גודל ומיקום הטקסט על החלון.
  8. אפשר להוסיף אלפי דוגמאות נוספות וליצור דברים מדהימים (למי שלא ממש מרוצה מהאפקטים הוירטואליים של זום, ב-OBS יש תמיכה מלאה ב-Chroma Key, להלן קישור להוראות).

מרוצים ממה שאתם רואים? מעולה.

מצד ימין יש מספר כפתורים מוארכים (כמו Start Streaming וכו'). לחצו על הכפתור שנקרא "Start Virtual Camera")

זהו, אתם יכולים לבצע מינימליזציה של חלון ה-OBS (ב-Windows אפשר ללחוץ על אייקון ב-OBS בשורת האייקונים מימין/שמאל).

פתחו את אפליקציית הזום או סקייפ, לחצו על גלגל השיניים מצד ימין למעלה, לחצו על Video, ובחרו OBS Virtual Camera. אתם אמורים לראות מה שרואים ב-OBS. תוכלו לבחור אופציות אחרות כמו Mirror, תאורה וכו'.

ברכותיי, התצוגה המשופרת של עצמכם פעילה, תהנו מהחשיפה 🙂

מספר נקודות טכניות:

  • משתמשי מק – לא בטוח שהמצלמה הוירטואלית תעבוד (במיוחד עם Big Sur). כפי הנראה שתצטרכו להעיף חתימות, כפי שמוסבר כאן.
  • למי שרוצה – אפשר לבצע Up scaling של הוידאו. המצלמה הוירטואלית תשדר לפי הרזולוציה שמוגדרת ב-OBS. לשינוי – יש ללחוץ על Settings, על Video ולהגדר את ה-Output לרזולוציה שרוצים. שימו לב – סביר להניח שזה יאמץ את המחשב שלך במעט.

הדברים החשובים בהטמעת פתרון קוד פתוח בארגון

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

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

להלן מספר נקודות:

  • תכיפות שינויי קוד: חברות כמו רד-האט מפתחות את מוצריהן בצורה פתוחה וזמינה לכולם ב-github, ומכיוון שהפיתוח נעשה בצורה פתוחה וציבורית, מבוצעים שינויי קוד רבים, במקרים רבים – שינויים יומיים, וברוב המקרים, גם אם מוכרזת גירסה של הפתרון/ספריה/פלטפורמה – הגירסה אינה כוללת עדכוני אבטחה, בדיקות יציבות ותיקונים אחרים שקיימים בגרסאות המסחריות. מעבר לכך – אם המוצר קורס או גיליתם באגים – תהיה לכם בעיה לקבל סיוע, והכל יהיה תלוי בליבם הטוב של מתנדבים או עובדים (וגם על זה לא מומלץ לבנות, הואיל וחברות כמו סוזה, רד-האט, קנוניקל ואחרים – מקבלים הוראה לתעדף תיקוני באגים לאלו שרכשו גרסאות מסחריות או לאלו שמשלמים על חוזי שרות ליצרן התוכנה).
  • גרסאות תכופות – פתרונות כמו OpenStack, Kubernetes, Ceph, Gluster ופתרונות רבים אחרים משוחררים בתדירות די תכופה ע"י הקבוצות המפתחות אותם עבור יצרניות הפצת לינוקס. הן לוקחות את הקוד, מבצעות שינויים ותיקונים, מוסיפות עדכוני אבטחה (שיחזרו לקוד ה-Upstream יותר מאוחר), כותבות תיעוד ספציפי ועוד ועוד – ואז משחררות אותו במסגרת Life Cycle רשמי עם תמיכה רשמית ועוד, ומוציאות זאת כמוצר מסחרי, ובמילים אחרות – אותם מוצרים שיוצאים כגרסאות תכופות אינם מיועדים לפרודקשן.
  • האם יש לך צוות לינוקס בחברה? אם יש לך צוות In House שמבין היטב בלינוקס ויכול "לשחות" בתוך קוד של אחרים במקרה של תקלה במוצר/ספריה/פלטפורמה – במקרים כאלו קל יותר להטמיע פתרונות בקוד פתוח שעדיין לא יציבים כפרודקשן, ולכן כדאי להסתכל על הנקודה הבאה…
  • אבטחה – פתרונות קוד פתוח שלא מגיעים מיצרן כלשהו, בחלק גדול מהמקרים לא כוללים עדכוני אבטחה, ולכן אם החלטתם בכל זאת להטמיע את הפתרון בחברה, מומלץ כי אחת לחודש הצוות הפנימי בארגון יבדוק את הפתרון המותקן מול הפתרון שנמצא ב-github לדוגמא, ובמיוחד יבדוק אם ישנם תיקוני/עדכוני אבטחה שפורסמו בנפרד (כ-PR או במקומות אחרים) או גרסאות minor בהשוואה למה שמותקן פנימית – ויבצע עדכון ידני. ארגונים שאין ברשותם אנשי לינוקס, מומלץ מאוד יהיה לעבוד עם הגירסה המסחרית ולקבל את העדכונים מהיצרן.

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

תכירו: משפחת ה-Ryzen 5000

חברת AMD הכריזה לפני כשבועיים על מעבדי ה-Ryzen דור רביעי לדסקטופ (מבחינת מספרי הדגמים, הם החליטו לקפוץ מ-3000 ל-5000 לאחר שהם הצליחו ליצור סלט שלם בדגמי ה-4000). בפוסט זה אתייחס הן לדגמי הדסקטופ והן למעבדי ה-EPYC לשרתים שיצאו כבר בקרוב.

מעבדי Desktop לשרתים

מבחינת מעבדי הדסקטופ, ב-AMD ממשיכים להוציא את אותם מספרי דגמים שהוציאו בגירסה הקודמת, בקצה הגבוה נמצא 5950X עם 16 ליבות, 5900X עם 12 ליבות, 5800X עם 8 ליבות ו-5600X עם 6 ליבות, בדיוק כמו שהיה עם ה-3950X, 3900X, 3800X, 3600X, רק שהפעם אין בשלב זה דגמים ללא X כמו שהיו בדגמי ה-3000 (אלו יצאו בשנה הבאה). המחירים – עלו במעט, בממוצע כ-50$ בהשוואה למעבדים מסידרה 3000.

מבחינת ביצועים (שזה כמובן הדבר הכי חשוב למשתמשים) – AMD הציגה עליה משמעותית בביצועים של עד 19% – במיוחד בעבודות Single Threaded, ולראשונה במבחנים סינטתיים – AMD עוקפת את כל המעבדים שאינטל מוכרת בגיזרת הדסקטופ (שוב, בעבודות Single Threaded, ב-Multi Threaded המעבדים של AMD עוקפים ממזמן את המעבדים של אינטל). במבחן כמו Cinebench, מעבד כמו ה-5950X מגיע ל-640 ב-Single Threaded ומעבד 5900X מציג באותו מבחן את המספר 631. לשם השוואה, מעבד ה-10900K מגיע ל-539 באותו מבחן ומעבד כמו ה-Tiger Lake החדש לדסקטופ (דגם: Core i7-1185G7) מגיע ל-598 (אך זהו אינו מעבד לדסקטופ, זהו מעבד למחשב נייד).

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

ישנם לא מעט אנשים שכבר יש ברשותם מעבדי Ryzen והם מעוניינים לשדרג – הנה מספר נקודות לגבי הנושא:

  • אם יש לכם לוח אם מבוסס Chipset כמו X570 או B550 – תוכלו כבר בחודש הבא לרכוש את המעבד, לשדרג את ה-BIOS, להחליף את המעבד ולהמשיך לעבוד כרגיל.
  • אם יש לכם לוח אם מבוסס Chipset כמו X470 או B450 – לרוב הדגמים יצא שדרוג BIOS במהלך חודש ינואר אשר יוסיף תאימות למעבדים החדשים (אך יסיר תאימות ממעבדים ישנים כמו Ryzen מסידרה 1000 ו-2000, פשוט אין מקום בשבב הפלאש לכל העדכונים).
  • רשמית – המעבדים יצאו לשוק ב-5/11. הסיכוי שלכם לרכוש ולקבל מעבד כזה בארץ בתאריך הנ"ל – די טוב (נודע לי לאחרונה כי כבר יש מלאי בארץ, אך המכירה אסורה עד ה-5/11).
  • לאלו שאין ברשותם מעבד Ryzen וחושבים לרכוש (במסגרת בניה עצמית של מחשב) לוח אם ואז את המעבד, אני ממליץ להמתין: בהשקה הרשמית יכריזו יצרני לוח האם על לוחות אם חדשים עם תכנונים משופרים.

חשוב לזכור: כמו שזה נראה כרגע, כנראה שסידרת ה-Ryzen מסידרה 5000 הם "תחנה אחרונה", וכשיצאו מעבדי ה-Ryzen 6000 יהיה צורך בלוח אם חדש וכנראה זכרונות חדשים (DDR5), ולכן אם חושבים להשקיע סכום מהותי ברכישת לוח אם חדש ובמעבד, כדאי לקחת בחשבון שכנראה לא ניתן יהיה לשדרג את המערכת למעבדי Ryzen עתידיים.

מעבדי EPYC לשרתים

באופן רשמי, ב-AMD עדיין לא מדברים/מספרים על מעבדי ה-EPYC מסידרה 7003 (שם קוד: Milan), והדברים יפורסמו באופן רשמי במהלך השבועות הקרובים (אני מאמין שבמהלך נובמבר), אבל עד אז – הנה כמה נקודות מעניינות:

  • שיפור ביצועים משמעותי בהשוואה ל-EPYC דור קודם (7002): כמו ב-Ryzen, גם כאן יש תכנון חדש לזכרון המטמון ברמות 1 ו-2, כך שבפועל ה-Latency נחתך בצורה משמעותית, מה שמתורגם לביצועים גבוהים, כאשר ברוב המקרים מדובר על שיפור דו ספרתי.
  • מבחינת וירטואליזציה – מעבד EPYC דור 7002 (הדור הנוכחי) נתנו מספר יתרונות מבחינת אבטחת וירטואליזציה בהשוואה למה שאינטל נותנים (אינטל תתן פתרון מועתק במשפחת מעבדי ה-Xeon הבאים בשנה הבאה, ע.ע. TME) ולאחרונה התבשרנו כי vSpehre 7 עדכון 1 יתן תמיכה בפונקציות החדשות להצפנת מכונות וירטואליות, דבר שיתקבל בהחלט בברכה במקומות שאבטחה היא במקום הראשון. במעבדי EPYC דור 7003 אנחנו צפויים לקבל עוד מספר שיפורים חדשים באבטחת וירטואליזציה (אם כי מבחינת תמיכה, זה אולי יהיה ב-vSphere 7U2 או בגירסה 8, אך אם משתמשים בוירטואליזציה מבוססת KVM – התמיכה תגיע בחודשים הקרובים)
  • אחת הנקודות שעולות שוב ושוב בפורומים שונים של משתמשי EPYC היא תאימות לאפליקציות שאינטל מבצעת בהם אופטימיזציה, כמו הוספת תמיכה ב-AVX 512. ובכן, בדגמי ה-EPYC החדשים יש תמיכה ל-AVX 512 ולעוד מספר טכנולוגיות ידועות.
  • תאימות לאחור – גם הפעם, יהיה אפשר להשתמש במעבד EPYC מסידרה 7003 על שרתים ישנים יותר (3 דורות אחורה). חשוב לציין כי את התמיכה לכך יש צורך לקבל מיצרן השרתים (בד"כ זה יהיה במסגרת KIT הכולל מעבד חדש או במסגרת עדכונים שהיצרן מוציא לשרתים). כל היצרנים יתמכו בשדרוג ממעבדי EPYC דור 7002 לדור 7003, אולם רק חלק מהם יתנו תמיכה לשדרוג מ-EPYC דור 7001.
  • שיפור ביצועים משמעותי בכל הקשור ללינוקס: ב-AMD הוסיפו פקודות חדשות, והוסיפו שיפורים למהדר כמו GCC (זה נקרא Znver3), כך שאם רוצים שיפורים מעבר לשיפורים שמקבלים כברירת מחדל, אפשר לקמפל עם הפרמטרים החדשים ולקבל ביצועים עוד יותר גבוהים

חשוב לציין: גם כאן, כמו עם מעבדי Ryzen, המעבדים שיצאו יהיו כנראה בחזקת "תחנה אחרונה". ב-AMD עובדים במרץ על EPYC דור 7004 (שם קוד: Genoa) שיתן תמיכה ב-PCIe 5, זכרון DDR5, תמיכה ב-CXL, וטכנולוגיות רבות אחרות, כולל שינוי כל ה"שיחה" בין ה-CPU לכרטיסי GPU (בהצלחה ל-NVIDIA עם NVLINK), ומעבדים אלו לא יהיו תואמים אחורה.

לסיכום: AMD פתחה את הרבעון האחרון של 2020 בהכרזה על מעבדי Ryzen, בהמשך החודש על כרטיסי ה-GPU לדסקטופ, ולאחר מכן יגיעו ההכרזות על מעבדי EPYC לשרתים, כרטיסי GPU לצרכי ML/DL. התחרות בתחומי ה-GPU – בשיאה (NVIDIA כבר הכריזה על הכרטיסים שלה, AMD יכריזו בחודש הקרוב, ואינטל במחצית הראשונה של השנה הבאה) והתחרות בתחום המעבדים תתחיל החודש הבא ואילו אינטל תתן מענה הן בתחילת שנה הבאה (ICE Lake, מעבדים שאני לא ממליץ לרכוש, הואיל ואלו מעבדים שיהיו רלוונטיים אולי במשך חצי שנה) והן במחצית השניה של 2021 שבה היא תציג את מעבדי ה-Sapphire Rapids שיהיו מבוססים ארכיטקטורה חדשה (ביי ביי, Skylake), ויהיו שונים מהותית ממה שאינטל מוכרת כיום, ועם שיפורים מדהימים ורעיונות.. יצירתיים.

תכירו: ESXi למעבדי ARM

בכל מה שקשור לוירטואליזציה, עד היום שלטו ללא עוררין מעבדי ה-X86 ובסקטור ה-Enterprise שולטת ללא עוררין חברת VMware, עם פלטפורמת ה-vSphere. אינטל ו-AMD משקיעות מאמצים רבים בפיתוח ושיפור התמיכה בוירטואליזציה במעבדים (ה-"שוס" האחרון: הצפנת מכונות וירטואליות, דבר שקיים זמן רב במעבדי EPYC ויהיה זמין במעבדים בדור הבא בשנה הבאה במעבדים של אינטל).

לאחרונה, יותר ויותר חברות נחשפות לוירטואליזציה בעננים ציבוריים על מעבדים שאינם X86 אלא מעבדי ARM. הסיבה לכך כמובן קשורה לכסף: Instance מבוסס מעבדי ARM זול בהרבה מכל Instance שמבוסס על X86 ואפשר להריץ על אותן מכונות את כל מה שלא דורש CPU חזק, כמו שרתי Web, קונטיינרים פשוטים ועוד, ועל הדרך להוזיל את המחיר בצורה משמעותית.

בעולם השרתים ב-On Prem, כפי שציינתי, מעבדי X86 שולטים, ובשוליים אפשר למצוא גם מעבדי Power של IBM (שתומכים בוירטואליזציה הרבה לפני שאינטל בכלל חשבו על VT-X לדוגמא) ולאחרונה יש יותר ויותר התעניינות גם במעבדי ARM מבחינת הרצת מכונות וירטואליות, קונטיינרים וכו', והפעם מדובר לא רק בגלל המחיר – מספר מעבדים מבוססי ARM לשרתים שיצאו בשנה הבאה הבאה ידעו לתת פייט רציני מבחינת ביצועים גם מול מעבדי Xeon המובילים של אינטל.

ב-VMware היו מודעים לנושא ובשנים האחרונות ישנו צוות שכל מטרתו היה לגייר את קוד ה-ESXi וכל השכבות והחלקים של הפלטפורמה – למעבדי ARM השונים הפופולריים בשוק, וכעת סוף סוף החברה חושפת את המוצר לציבור ומאפשרת הורדה למספר מערכות עם מעבדי ARM שונים:

  • מערכת Raspberry Pi 4 (תצטרכו 8 ג'יגה זכרון, על גירסת ה-4 ג'יגהבייט בקושי תצליח להריץ משהו ותשכחו מ-Raspberry Pi 3 וגרסאות קודמות)
  • מספר מערכות הכוללות מעבדים Ampere eMAG (אין קשר ל-NVidia)
  • Solidrun Honeycomb LX2
  • לוחות המבוססים על LS1046A של NXP (מי שחושב לרכוש ולא מכיר את הלוחות האלו – מומלץ לפני כן לפנות ליבואן של NXP, המערכות שלהם די מורכבות ולא מומלץ לרכוש ישירות מהאתר)

לאלו שכבר רוצים להוריד את ה-ISO – הוא זמין להורדה כאן, רק לפני שרצים להוריד ולהשתמש, אתם מוזמנים לקרוא את ההערות הבאות:

  • הגירסה שזמינה היא נסיונית ומוגבלת בזמן. הגירסה תפעל ל-180 יום ולאחר מכן תצטרכו להקים אותה מחדש.
  • יש קובץ ISO להורדה, אבל בניגוד לגירסת ה-X86, ההתקנה עצמה יותר מורכבת ומי שלא מכיר לינוקס יצטרך להיאזר בסבלנות ולעקוב אחר ההוראות (המעולות) שהם סיפקו. ככלל, ידע בלינוקס מאוד יעזור עם הגירסה הזו (אגב, בגירסה הזו VMWare עושים "אחורה פנה" וחוזרים להיות מבוססי לינוקס)
  • מכיוון שיש עשרות (אם לא מאות) לוחות/SBC מבוססי ARM, רבים יתהו האם ESXi גירסת ARM תרוץ על לוחות אלו. התשובה לכך קשורה בתשובה לגבי הלוח/SBC אם הוא תואם SystemReady SR ופלטפורמת ה-ARM היא V8 ומעלה. אם כן, יש סיכוי שה-ESXi ירוץ. מעבדי ALTRA או Jetson של NVIDIA – לא נתמכים כרגע.
  • מבחינת מערכות הפעלה שניתן להריץ כ-Guest: כרגע אפשר להריץ אובונטו 20, פדורה ועוד כמה הפצות לינוקס. כרגע גרסאות Windows ל-ARM אינן נתמכות.
  • מבחינת Storage – אפשר להשתמש ב-SSD מקומי או לחבר iSCSI. אין תמיכה כרגע ב-NFS.
  • אם אתם מתקינים הפצה בלתי נתמכת וצריך לבחור מהו כרטיס הרשת, זה vmnic128 (לקח לי קצת זמן למצוא את זה)
  • אפשר לנהל את ה-ESXi מ-vCenter כמו כל שרת רגיל – כל עוד אתם משתמשים ב-VCSA 7.0D ומעלה.
  • אם אתם רוצים להריץ כמה וכמה קונטיינרים ומכונות VM – אני ממליץ לרכוש לוח אם או תחנה מבוססת eMAG של Ampere + מעבד, זכרונות וכרטיס רשת שמופיע בתיעוד (לא מלאנוקס וכו')
  • אל תנסו להתקין VMWare Tools דרך ה-vSphere. השתמשו ב-Open VM Tools (קיים לכל ההפצות)
  • יש יכולות של Live Migration, רק שכדאי לשים לב לפני כן להגדרות כרטיס רשת וכו', אחרת אתם עלולים לתקוע את המחשב.
  • אל תחברו ותנתקו ציוד USB מהמחשב, זה יכול לגרום לקריסה.
  • אם אתם רוצים להקים Cluster של ESXi מבוסס Raspberry Pi, אז מומלץ להשתמש ב-HAT ו-PoE במקום ערימת ספקי כח. במסמך של VMWare ל-Pi יש המלצות ספציפיות.
  • אל תנסו להקים VDI על זה 🙂

לסיכום: ESXi על מעבדי ARM יכול להיות פתרון מעולה אם רוצים לנסות מכונות VM שלא מצריכות כח מחשוב מאסיבי, וזה יכול להיות גם פתרון מעולה להרצת קונטיינרים לטסטים/Dev וכו', רק חשוב לזכור שזוהי גירסה ציבורית ראשונה ונסיונית, וחשוב לעקוב אחר ההוראות הניתנות בתיעוד ה-PDF ש-VMware פרסמו.

קונטיינרים ו-Windows – מאמר עדכון (2020)

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

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

וזה חתיכת כאב ראש..

באותו זמן מיקרוסופט החלה להציע דרכים להכין ולהריץ קונטיינרים, אבל רק ב-Windows Server 2019 (ובגרסאות Windows 10 היותר מתקדמות) הם הציעו באופן רשמי דרכים להריץ קונטיינרים ל-Windows (הכוונה שהקונטיינר מכיל IMAGE עם קבצים בינאריים ל-Windows). בהתחלה עם Hyper-V בצורה מבודדת (דרך מצויינת לבזבז זכרון) ואחר כך כ-Process מבודד.

העניין הוא שחברות רוצות לא רק קונטיינרים, אלא את כל ה"מסביב", אורקסטרציה, תמיכת Plugins שונים, HA ועוד ועוד – כל מה ש-Kuberentes נותן. את זה לא היה באותו זמן, ו-K8S החל להיתמך באופן רשמי ויחסית יציב – בגירסה 1.14 (אם כי יש תיקוני באגים בכל הקשור לתמיכת Windows ולכן כדאי להסתכל על גירסה 1.17 האחרונה).

בחודשים האחרונים החלו יצרני "הפצות" K8S כמו PKS של VMWare להציע גירסת בטא לתמיכת Windows Containers וגירסת Openshift הבאה תציע זאת גם. אם אתם מתכוננים להיפגש עם נציג של VMWare לגבי PKS, הוא בוודאי יציג לכם מצגת עם שקופית שמזכירה לכם ש-Windows 2008/2008R2 מסיים לקבל תמיכה רשמית השנה ולכן כדאי לנצל את העניין לעבור לקונטיינרים (אכן התמיכה מסתיימת אבל יש שמירה לאחור די רצינית בכל הקשור לתאימות בינארית, כך שאפשר להריץ את אותן אפליקציות ב-Windows 2012/2016/2019, המקסימום – תצטרכו לקמפל מול ספריות סטנדרטיות, כך שהטענה שגירסת OS הסתיימה ולכן עכשיו עכשיו חשוב לעבור לקונטיינרים – לא ממש "מחזיקה מים").

אז מה המצב כיום?

טכנית, אין בעיה להריץ K8S תחת Windows, אך כרגע Windows נתמך כ-Workers Node באופן רשמי ולכן עדיין תצטרכו מכונת לינוקס שתשמש כ-Master. אם אתם רוצים להריץ K8S מהקוד הקיים הפתוח, אתם צריכים לעבור תהליך התקנה די ארוך ומורכב שאפשר לקרוא עליו כאן (יש עוד 2 חלקים בצד שמאל, אל תדלגו עליהם). אם אתם חושבים להשתמש ב-Rancher, גירסה 2.3 תומכת ב-Windows Containers, לגבי השאר – ציינתי לעיל.

אם אתם מתכננים לממש ולהריץ קונטיינרים ל-WIndows בעננים ציבוריים, אז כל הספקים המספקים שרות הרצת קונטיינרים מנוהל כבר תומכים בכך.

הדברים החשובים לזכור ולבדוק (אם אתם מריצים K8S ב-On prem):

  • לא לשדרג את ה-Windows אוטומטית. אם מיקרוסופט מוציאה מחר Service Pack או עדכון שמעלה את גירסת ה-Windows (דוגמא: 1709 ל-1903) יכול לשבור דברים בקלות, ויכול להיות מצב שלא תוכלו להריץ קונטיינרים.
  • תמיכת Plugins – ל-K8S יש מאות Plugins שונים בתחומים שונים. ב-Windows רק חלק קטן נתמך ורץ (הם מופיעים בקישור שנתתי בפיסקת תהליך ההתקנה לעיל). כך לדוגמא, חלק מיצרני הסטורג'ים שחררו Plugins ל-K8S בכל הקשור ל-Volumes, צרו איתם קשר לראות אם הם שחררו את ה-Plugins שלהם ל-Windows. כמו כן, תמיכת CSI (כלומר: Containers Storage Interface) היא עדיין ברמת אלפא/בטא.
  • יכול להיות שה-IPS/IDS שלכם לא יאהבו את K8S ל-Windows, הואיל ובחלק מהמקרים נעשים שינויים לפאקטות. כמו כן התמיכה ב-NAT היא קצת בעייתית (תסתכלו בחלק של ה-Networking באותו קישור) – קחו את זה בחשבון לטיפול.
  • קונטיינרים ברמת privileged (אלו בדרך כלל קונטיינרים שמשפיעים על כל ה-K8S) לא יכולים כרגע לרוץ תחת Windows.
  • ניהול זכרון: בלינוקס יש תהליך (שנוא אבל הכרחי) שנקרא OOMKiller שהורג תהליכים בעת מצבים שמסתיים הזכרון. ב-Windows זה אחרת, וברגע שמסתיים הזכרון, המערכת משתמשת ב-pagefile כך שאין משהו שיהרוג תהליכים אם הזכרון מסתיים ולכן יכול להיות מצב שה-Node "יזחל" רק בגלל שאין זכרון. התיעוד מציע מספר אפשרויות, אבל כדאי לעקוב היטב במערכת הניטור לגבי זכרון במכונות Windows המריצות PKS.
  • אם אתם משתמשים ב-Flannel פלאגין לרשת K8S, כדאי לזכור שאין אפשרות לתקשורת בין Node ל-POD.
  • אבטחה – בכל מה שקשור ל-Secrets – דברים נכתבים כ-clear text ב-Node Volume. יש שתי המלצות בתיעוד – או ACL או Bitlocker, שתי פתרונות שלדעתי די עקומים אבל זה מה שיש. בנוסף – האבטחה ל-POD שהפצות K8S שונות מאפשרות תחת לינוקס (SELinux, AppArmor וכו') – לא נתמכות ב-Windows בכלל ויכול להיות שבעתיד יפותח משהו.

כל הנקודות לעיל נלקחו מהמסמך בקישור לעיל והם רלוונטיים לגירסה האחרונה (שברוב המקרים לא כלולה בהפצות K8S השונות), ולכן אני עדיין טוען: התמיכה ב-Windows היא עדיין Work In progress, זה יכול להספיק להריץ דברים פנימית שאינם פתוחים/חשופים לאינטרנט, בסביבות Testing, Staging ואפילו PROD מצומצם, אבל מומלץ לעבור עם מחלקת אבטחת מידע על כל המגבלות במסמך המקורי ולהחליט אלו קונטיינרים ל-Windows להקים ולהריץ ב-K8S, מה ממירים להרצה על לינוקס (כדאי לזכור: בתוך POD אי אפשר להריץ קונטיינרים גם מ-Windows וגם מלינוקס), ועל מה כרגע מדלגים.

לסיכום: K8S ל-Windows, למרות יצרני הפצות K8S שונות, הוא עדיין Work In Progress. יש את כל החלקים הבסיסיים, אבל חסרים לא מעט דברים חיצוניים ויש לא מעט אורות אדומים בכל מה שקשור לאבטחת מידע, ניהול זכרון, Plugins וכו' וכו'. אין שום בעיה ואפילו מומלץ – להקים מערכת K8S ולצוות אליה מכונות Windows לשרת Linux שישמש כ-Master ולהתחיל תהליכי המרה, טסטים והרצות שונות, אבל כשזה מגיע לפרודקשן, ממליץ "לעשות חושבים", גם אם מדובר בהרצת קונטיינרים לפרודקשן במערכות קונטיינרים מנוהלות ע"י ספקי ענן ציבורי.

אבטחת מידע: קצת על Cloud Hopper

בעשור האחרון בעולם חל גידול מאסיבי בשימוש בעננים. יש כמובן את שלושת האמיגוס (אמזון,גוגל,מיקרוסופט) אבל ישנן חברות רבות, כולל יצרני שרתים, ספקי Hosting שונים ברחבי העולם שהציעו שרותים שונים, החל מ-Hybrid Cloud, תשתית "רק בענן" או שימוש בשרותים שונים כ-SAAS. האמת היא שברוב החברות בארץ ובעולם, יש לפחות שימוש בשרות SAAS אחד או יותר (זוכרים שפעם שרת המייל היה יושב בארגון, לדוגמא?)

הוול-סטריט ג'ורנל פירסם לאחרונה מאמר גדול וארוך על "פרויקט" בשם Cloud Hopper ומנויי WSJ יכולים לקרוא אותו כאן. מכיוון שרוב הגולשים כאן אינם מנויים על WSJ, הנה לינק למאמר סיכום של Fox Business על הנושא, ואני רוצה להרחיב בנידון בפוסט זה..

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

אחד הדברים המייחדים את הסינים בכל הקשור לריגול, גניבות, פריצות וכו' – זה הסדר שהם עובדים. אין "קפריזות". יש צוותים (שמוזכרים בקצרה בפוסט של Fox Business) וכל צוות אחראי על משהו אחר: צוות שאחראי על בדיקת הפריצות, על שמות משתמשים וסיסמאות שלא שונו, צוות שאחראי על מיפוי חוזר ונשנה של תשתיות החברות הנפרצות, צוות (גדול) שאחראי על התמודדויות מול אנטי-וירוסים, IPS/IDS, צוות שאחראי על כתיבת סקריפטים וכלים שונים כמו C&C, צוות שבודק פריצות חדשות שלא ידועות ציבורית, צוות שאחראי על קבלת Payload, רישומי דומיינים – ויש בוודאי עוד כמה צוותים.

הסינים לא באים לפרוץ ולגנוב. הם יריצו כלים שונים כדי למצוא פריצה, ולאחר שמצאו – הם יעבירו את הממצאים לצוות אחר. הם רוצים לפרוץ ולא מצליחים? הם לא יתקיפו ב-DDoS, הם יפנו את המטרה לצוות אחרת שיפתח ב-ריגול למצוא דרך מי הם כן יכולים לפרוץ: קבלני משנה שנותנים לאותה חברה שרותים, חברות שנותנות שרותים לאותה מטרה, חברות שנותנות שרותי Cloud לאותה מטרה וכו'. התהליך שלהם אולי איטי אבל יסודי.

פרויקט Cloud Hopper הוא פרויקט של הפורצים שמימן המשרד לבטחון הפנים הסיני. הקבוצה העיקרית שהיתה אחראית על הפרויקט נקראת APT10 וזו קבוצה סופר מתוחכמת שלא רק מכירה למי הם פורצים, הם בדרך כלל מכירים גם את רמת הידע של חברות שמנסות להגן על הלקוחות נגד פריצות וה-APT10 לא ממש ביישנים: הם יודעים מי מנסה "לצוד" אותם והם משאירים strings בכלים המותקנים על המכונות הפרוצות עם כל מיני הקנטות, כולל רמזים ללמוד איך עובד אנטי וירוס והמעקפים בכך שהם הפנו את ה-C&C לדומיין: gostudyantivirus.com ועוד (הטריק הזה אקסלוסיבי לא רק לסינים כמובן, גם החבר'ה ב-8200 ואחרים משתמשים בו)

קבוצת APT10 במסגרת Cloud Hopper החליטה למצוא לה אי שם ב-2014 מטרה חדשה: ספקי Cloud (או CSP כפי שזה מוכר יותר בשוק), לחדור אל תשתיות ה-CSP, להשיג הרשאות לתשתיות הוירטואליות של הלקוחות ופשוט להיכנס, לגנוב מידע, ולקפוץ (Hopping) מלקוח ללקוח באותה תשתית, כאשר לא מדובר בגניבה חד פעמית אלא מתמשכת.

ומי היו ה-CSP? אולי שמעתם את השמות, הכי מפורסמים הם HPE ו-IBM והיו עוד כמה עשרות CSP יותר קטנים. מי הלקוחות שנפרצו? גם כאן, אולי שמעתם עליהם: חברת Ericsson (כן, חברת התקשורת), פיליפס, חברת TATA ההודית, פוג'יטסו, ועוד רבים אחרים. המצב ב-HPE היה כל כך גרוע, שהפורצים פשוט "דרסו" כל נסיון חסימה מצד מנהלי אבטחת המידע של HPE והם נכנסו שוב ושוב לתשתית. אגב, ללקוחות ה-CSP לא הודיעו מאומה מחשש לתביעות (ואולי מחשש שהלקוח ינסה תוך שעות ספורות לעבור מיידית לספק אחר).

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

על ה-Cloud Hopper תוכלו לקרוא באתרים שונים, אבל אם יש משהו אחד שלא תמצאו שם – זה פריצה לשלושת האמיגוס. אין ספק שתוכלו למצוא מאמרים על פריצות לכל מיני מאגרים שהיו שמורים בתוך S3 Buckets שטיפשים לא הגדירו להם אבטחה מספקת, לתשתיות וירטואליות של לקוחות שהגדרות האבטחה בהן היו בדיחה – אבל לא תמצאו מאמרים על פריצות לתשתיות הפיזיות של AWS, GCP או Azure או לחלקים המאפשרים כניסה לתשתיות וירטואליות של לקוחות, מכיוון שאותה שלישיה בונה את הדברים בצורה שונה לחלוטין, משקיעה הרבה יותר מכל CSP שהחליט שזה אחלה רעיון לקרוא לעצמו "ענן", כולל השקעה בצוותים שאשכרה מנסים לפרוץ בכל דרך מבחוץ פנימה נון סטופ ומיישמים מיידית את הלקחים, במקום לסמוך על כל מיני חומות אש, IPS/IDS ו-MFA (להלן החדשות: רוב שיטות ה-MFA כבר נפרצו עוד לפני שנתיים!).

אז מה חברות יכולות ללמוד מאותו פרויקט פריצה מאסיבי? כמה דברים, לעניות דעתי:

  • Firewall, IPS/IDS, Antivirus, Malware protection, עדכוני אבטחה – כל הדברים הללו נחמדים, אבל פורצים מקצועיים יודעים לעקוף את אותם כלים. אף אחד לא ינסה להיכנס ל-Firewall שלך ולשנות פורטים כי אין צורך בכך, וכל כלי שפורצים כותבים עובר בדיקה מול כל אנטיוירוס מסחרי אם הכלי מתגלה או לא (ואם כן אז משנים את הקוד), ולגבי IPS/IDS – ארמוז בעדינות שיש מספר דרכים לנצל חולשות שלו בתוך ה-LAN, ומדובר על רוב המוצרים המסחריים המצויים בשוק. לא קשה כל כך לזייף ב-Stream פיסות Headers.
  • כמו שמחליפים גירסת לינוקס או Windows, כדאי אחת לתקופה להחליף חלקים גדולים ממערך האבטחה – כלים, מתודות וכו'. תתחילו בשני דברים פשוטים: Zero Trust (זה מה שהשלישיה משתמשים), ו-U2F.
  • אתם מרימים תשתית וירטואלית בענן מקומי? (גם אם זה DR) – אל תתנו לאף אחד גישה ועדיף שזה יהיה על ברזלים ותשתית נפרדת שלכם, ואם צריך קו יעודי לכך שלא מחובר לתשתית של הספק בתוך ה-DC. לחשוב ש-VLAN מגן על משהו – זו בדיחה במקרה הטוב, לא מסובך לפורץ מקצועי להיכנס למתג. רק קחו בחשבון שספקים מקומיים ינתקו לכם את התקשורת אם אתם מותקפים ב-DDoS.
  • אם אתם מקימים תשתית וירטואלית אצל אחד משלישיית האמיגוס, תשתמשו בכלי אבטחה שלהם ולא בכלים צד ג'. הכלים של אותם ספקי ענן ציבורי הרבה יותר רציניים, מעודכנים תדיר (לא רק כשמגלים חור אבטחה וסוגרים אותו כמה ימים אחרי זה כמו אצל רוב הכלים המסחריים!), יכולים לבצע Scaling רציני ומנוסים שוב ושוב על ידי מאות אלפי לקוחות. להגדיר Security Groups ולחשוב שאתם מאובטחים – אתם ממש לא.
  • "התקמצנות" במפתחות פרטים/ציבוריים. רוצים לבצע Passwordless SSH? תשאירו את זה בצורה סופר מצומצמת לצרכי אוטומציה. בשאר המקרים – תקנו Yubikey ותשתמשו בו או מפתח Titan מ-גוגל. אפשר גם 2FA אבל תיזהרו לא ליפול לטריקים כאלו. זיכרו: העצלנות היא הגורם מספר אחד לפריצות קלות.
  • בעננים ציבוריים במיוחד – אף ספק ענן ציבורי לא נותן לך אבטחה כברירת מחדל ולכן תצטרך להשתמש בשרותים שלהם לצרכים אלו, ב-AWS יש רשימה שלמה, תעברו עליה, תבחרו ותגדירו את מה שאתם צריכים (הנה גם ל-Azure, אל תאכלו לי את הראש)
  • אני ממליץ לחשוב מחדש (לכיוון ויתור) על שירותי ניהול מרוחקים. אתם יכולים להגן על התשתית שלכם כמה שתרצו אבל אם עובד משרותי הניהול הוא סופר אהבל ופורצים למחשב הנייד/נייח שלו – ההגנות שלכם לא שוות כלום ומכיוון שיש לו הרשאות admin ברוב המקרים (כי הם מנהלים את התשתית) – יהיו לפורץ את אותן ההרשאות.
  • בדיקות Pen testing זה נחמד, אבל זה עובד מול שורת פריצות ופרמטרים ידועים מראש בתוך הכלי. רוצים להיות יותר בטוחים שאתם מוגנים? תשכרו מישהו שאשכרה ינסה לפרוץ בצורות קצת יותר .. מקוריות.

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

עננים ציבוריים מקומיים מול עננים ציבוריים אמיתיים

בזמן האחרון כשאני עובר על כל מיני מסמכים מגופים גדולים, אני רואה תופעה שחוזרת שוב ושוב ושבגינה החלטתי לכתוב את הפוסט הזה. התופעה? התייחסות לעננים ציבוריים כשווה בין מה ש-AWS/אז'ור/גוגל מציעים – לבין מה שספקים בארץ מציעים, ולצערי השוואה זאת יכולה להזיק לכיס ולתקציבים בגופים השונים.

למי שלא מודע לכך, מצב ה"עננים הציבוריים" המקומיים בארץ די תקוע בעשור האחרון. כל הספקים הגדולים בארץ המציעים שרותי Colo, Hosting, מציעים גם שרותי "ענן". כשמפשיטים את השרותים, רואים שבעצם מדובר במשהו פשוט: רוכשים מספר שרתים (כל חברה עם כמות שונה), מתקינים על זה VMWare, רוכשים סטורג', סוויצ'ים, מחברים את הכל ויאללה – אנחנו ספק ענן ציבורי!

נדמיין עתה מצב תיאורתי שבו החלטתי להתחרות בכולם. אני משיג VC נחמדים ומשכנע אותם להשקיע בעסק שלי סכום נחמד של 8 ספרות (בדולרים). אני רוכש כמה עשרות ארונות, מפזר אותם בין ספקי האינטרנט השונים בארץ, "מפוצץ" את כולם בשרתים חדשים ואני מקים בדרך SDN ו-Software defined storage מפלצתי. על כל התשתית הזו אני מקים מערכת שתתן ללקוחות דרך ממשק WEB ודרך API את השרותים הבאים:

וירטואליזציה, קונטיינרים (עצמאית, ללא צורך בהקמת מכונות וירטואליות), Serverless, הקמת "ברזלים" יעודיים ללקוח, שרותי Object Storage ו-Block Storage, שרותי NFS/CIFS יעודיים לרשת שלך בלבד, שרות רשת פרטית משלך (כמו VPC), שרותי Load Balancer, שרותי DNS, שרותי identity, שרותי Imaging למכונות VM שלך, שרותי אורקסטרציה, שרותי Messaging, שרותי התראות, שמירת משאבים וחלוקתם על ידי הלקוח, אורקסטרציית קונטיינרים, ביג דאטה, שירותי גיבוי, שחזור ו-DR, תאימות ל-EC2 (כפרוקסי), מטריקות, ניטור מלא של הכל, שרותי Event (כמו Cloud trail), שרותי Governance ושרות יחודי של Benchmarks, וכמובן – שרותי Billing ו-Chargeback – וכל זה זמין ביום הראשון. תירשם, תכניס פרטי כרטיס אשראי וצא לדרך.

אתם מוזמנים לחפש ספק, כל ספק בארץ, שיכול להציע לכם את השרותים הללו באופן מיידי. הם ישמחו להציע לכם את זה – כפרויקט, שמישהו ירים, תשלמו על הקמה והגדרות וכו' וכו'. פה אני מדבר על משהו שיהיה זמין דרך ה-WEB ודרך API. אני משער שהחברים ב-8200 צוחקים כי הם מבינים על איזו מערכת אני מתבסס (Openstack).

ספקי ענן מקומיים, בניגוד לספקי ענן ציבוריים גדולים – יכולים להציע כמות מוגבלת מאוד של שרותים, ובנוסף – לא יהיה לכם מושג מה תקבלו מבחינת ביצועים (לא מאמינים? קחו את החוזה מול הספק שלכם, חפשו את המילים CPU Pinning או התחייבות לגבי ביצועי Compute, סטורג' וכו'. אני מאמין שלא תמצאו את זה מוזכר במסמכים). טכנית, אם ניקח לדוגמא שרת עם 16 ליבות, אין שום מגבלה שיכולה למנוע הרצה של מכונה וירטואלית עם 32 ליבות. אתה כלקוח יכול לבדוק אם זה מה שאתה מקבל אם תריץ אפליקציית Benchmark כלשהי שוב ושוב במשך כמה ימים ותוציא את הפלט לקובץ ואז תוכל להשוות .. ולהתעצבן.

אצל ספקי ענן ציבוריים אין את המשחקים הללו. סע"צ קובע מה יהיו משאבים של VCPU (כלומר CPU וירטואלי) ואותם תקבל כל הזמן, בדיוק את אותם משאבים שירוצו באותה מהירות. אותו דבר לגבי סטורג' – אתה בוחר סוג עם התחייבות למסגרת IOPS (כלומר שנעה בין X ל-Y אך לא מעבר לכך) או ל-IOPS קבוע (דיסקים מגנטיים לדוגמא). בארץ, כלקוח, לא תמצא התחייבות כזו.

אך הנקודה הכי חשובה שכדאי לקחת בחשבון לגבי שלושת הסעצ"ים (ספקי ענן ציבוריים) הגדולים – היא שכשאתה מעביר VM אחד לאחד מ-On Prem לסע"צ, הם מרוויחים הכי הרבה. כשאתה מגדיר על התשתית המקומית שלך VM עם 8 ליבות, זה לא ממש משנה אם תגדיר עוד כמה כאלו, כי מערכת הוירטואליזציה תדע למי להפנות משאבים. אצל הסע"צ אתה מקבל 8 ליבות וירטואליות ואתה משלם מחיר גבוה על כך.

לסיכום, אני ממליץ לחשוב על 2 דברים חשובים:

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

כמה מילים על קונטיינרים "מבחוץ"

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

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

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

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

הפצות לינוקס כמו רד-האט, CentOS, SuSE, אורקל לינוקס, דביאן, אובונטו וכו' – נבנית בכל פעם מאפס על ידי הידור קוד של חבילות שונות עד שנבנית הפצה בסיסית לחלוטין. להפצה הזו המערכת תעשה Boot, ומשם היא תמשיך להדר את הקוד של כל החבילות שונות (ב-רד-האט, או כל הפצה מבוססת RPM יש חבילות מיוחדות שנקראות SRPM שמכילות קוד מקור + טלאים וסקריפטים כדי לקמפל אותה). ההפצה כוללת חבילות שונות מבחוץ שעברו בתוך יצרן ההפצה בדיקת קוד וברוב המקרים גם שינויים על מנת לרוץ על אותה הפצת לינוקס ספציפית.

כשזה מגיע לעדכונים, יש הרבה אתרים שונים שהם אתרי "מראה" לאתר יצרן ההפצה – המכילים את העדכונים. כל חבילות העדכונים חתומים בחתימה חזקה על ידי יצרן ההפצה (או יצרן ה-Repository) ואתרי המראה אינם כוללים את החלק הפרטי של המפתח, וגם אם מישהו פורץ לאתר מראה או לאתר יצרן ההפצה וינסה להחליף חבילות בחבילות נגועות, כל מי שינסה להתקין את החבילות הנגועות פשוט לא יצליח הואיל והמערכת תעצור את ההתקנה ותתן שגיאה שהמפתח הציבורי המוזכר בחבילה אינו תואם למפתח של ה-REPO. במקרים ויצרן ההפצה חושד שהמפתח נגנב, הוא מייצר מפתח חדש, חותם מחדש על החבילות שקיימות באתר ומפיץ אותו ומודיע ללקוחותיו על כך (הכנסת המפתח החדש היא קלה ובדרך כלל מדובר בפקודה אחת).

בחברות גדולות (כמו בנקים וכו') בדרך כלל לא פותחים את חומת האש להורדת חבילות מיצרן ההפצה באופן ישיר ומשתמשים בתוכנת-אמצע (Middleware) כמו Red Hat Satellite כדי להתקין את ההפצות ועדכונים על שרתים ומחשבים נוספים. ברוב המקומות האחרים שאינם עובדים ישירות מול רד-האט או עובדים עם הפצות אחרות, יש כלי אחר חינמי ובקוד פתוח כמו SpaceWalk שמאפשר להפיץ פנימית בשרתי החברה (ובחשבון הפרטי בענן הציבורי של החברה) עדכוני תוכנה בצורה מאובטחת ומוצפנת (אפשר לשלב בתוך הכלי גם את ה-CA של החברה).

נחזור לקונטיינרים: אחד היתרונות בבניית קונטיינר, הוא שהפורמט לבניית קונטיינר (Dockerfile) קל להבנה וקל לשימוש כדי ליצור קונטיינרים, ואנחנו יכולים להשתמש ב-Dockerfile בדיוק כדי להגן על עצמנו מקונטיינרים זדוניים – במקרים רבים.

איך? די פשוט. כמעט בכל קונטיינר שמופיע ב-Repository ציבורי (כמו Docker Hub) אנחנו נמצא קישור ל-Github שמכיל את קוד ה-Dockerfile. נוריד את קבצי ה-Dockerfile ואחרים מה-git (פקודת git checkout) ואז פשוט נבנה את הקונטיינר מחדש. היתרון הגדול בבניית הקונטיינר מחדש הוא בכך שחבילות רבות מקבלות עדכוני אבטחה וקונטיינרים הזמינים ב-repo ציבורי לא תמיד מעודכנים, וכך נוכל לבנות אותם עם הגרסאות המעודכנות עם תיקוני אבטחה ומה שיותר חשוב – החבילות מגיעות ממקום ידוע (אם משתמשים ב-spacewalk – אז הם מגיעים משרת פנימי בחברה שהוריד את החבילות ממקור בטוח), ואפשר כמובן לאחסן את אותם קונטיינרים ב-Registry פרטי פנימי (הנה הוראות איך להקים אחד באובונטו).

במקרים מסויימים ה-Dockerfile כולל פקודת COPY וקבצי המקור אינם נמצאים ב-repo באותו git. התייחסו במשנה זהירות לקונטיינרים מסוג זה, ובמקרים כאלו אם אתם ממש צריכים את הקונטיינר הספציפי, אולי כדאי להריץ עליו סריקה עם אחד הכלים שהזכרתי לעיל.

לסיכום: בלא מעט מקרים מאוד מפתה לחסוך עבודה רבה בהתקנה של אפליקציה/פלטפורמה – ורבים נוטים פשוט לבצע docker pull ולמשוך קונטיינר שכבר כולל את ההתקנות וההגדרות. זה טוב, אבל חשוב לזכור שיש קונטיינרים "תמימים" עם קוד זדוני שיכולים לגרום נזק או "לשתות" משאבים לצרכי כריית מטבעות או גניבת מידע, ולכן אני ממליץ לבנות אותם מחדש ובמקרה הצורך להשתמש בכלי סריקה טוב.