כך תתגוננו מפני מתקפת הסייבר נגד אפליקציות Cloud-Native

עידו ופנר, סמנכ"ל טכנולוגיות וארכיטקט ראשי בחברת Kyndryl ממליץ כיצד להגן על אפליקציות Cloud-Native

עידו ופנר | תמונה: נימרוד קפילוטו

בעקבות העלייה במתקפות סייבר נגד ארגונים בשנים האחרונות, עולה השאלה כיצד מאבטחים אפליקציות Cloud-Native. עידו ופנר, סמנכ"ל טכנולוגיות וארכיטקט ראשי בחברת Kyndryl, מציע מספר צעדים. 

השתמשו בשירותי הענן לניהול סודות

אחד השירותים נפוצים לניהול סודות (Secrets) הוא שירות KMS. המונח "סודות" או באנגלית (Secrets) מתכוון לסיסמאות, מפתחות הצפנה, API-keys  או כל אמצעי זיהוי אחר שיעזור לנו להגן על הגישה לאפליקציות שלנו, שירותים שנמצאים בענן וגם משאבים נוספים במערך ה-IT.

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

לרוב בתהליכי ה-CI/CD יהיו לא מעט סיסמאות לגישה בין שירותי ענן ולכן חובה להשתמש בשירות שיעזור לנו לנהל את התהליך. 

עבודה עם פרוטוקול HTTPS  
בעולם ה-Microservices, התקשורת בין שירותי הענן והשירותים שאנחנו מפתחים מתקשרים ב Rest API ועושים שימוש בפרוטוקול HTTP ברמת הTransport Layer. 

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

הפתרון הזה תקף לצד שרת ולא לצד ה Client. אם תרצו לאבטח גם את הClient Side, תצטרכו להקים שירות PKI. 

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

שימוש בפרוטוקול 2.0 OAuth

לצורך הזדהות - (Authentication) במקום להשתמש בסיסמה, השירות שתגדירו יוכל להנפיק לכם Token.

אם אתם עובדים עם Devices (רכיבים) ב-IoT ל-Smart Home או Video Streaming, תוכלו לשלב גם OAuth 2.0 כדי שאותו רכיב יוכל לקבל הרשאות גישה, בעזרת מתן הרשאות דרך השירותים של Cognito ו-Lambda. 

ודאו שה-DB שלכם מוצפן 
השתמשו בשירותי הצפנה של שירותי הענן. לדוגמא אם אתם משתמשים ב-RDS, הוא משתמש ב-KMS כדי להצפין את ה-DB. יש לכם אפשרות להצפין נתונים במנוחה (DB Encryption at rest) כולל הגיבויים, ה-Snapshots והרפלקציות. רוב ספקי הענן משתמשים באלגוריתם הצפנה מסוג AES 256.

סרקו את ה Container Images
תוכלו להשתמש בשירותי Cloud-Native דוגמאת ECR, כדי לבדוק חשיפות לסיכונים וסריקה מלאה של ה-Container Images. 

השתמשו ב- Security Updates
נכון שזה נשמע טריוויאלי, אך תתפלאו כמה ארגונים לא מבצעים עדכונים על בסיס שבועי/חודשי ואז הסיכון עולה בהתאם. בנוסף, דאגו לשדרג את גרסאות מערכת ההפעלה בין אם זה Windows או Linux עוד לפני שאתם מבצעים מגרציה לענן. 

שדרגו את ה Java ,.NET, PHP 
יש לעדכן את ה-framework עוד לפני שאתם עושים Lift & Shift או כל תהליך מגרציה אחר לענן. תבדקו שהגרסה שלכם מעודכנת, כדי למנוע חשיפות לסיכונים מיותרים. 

סריקה אפליקטיבית 
איתור חשיפות סיכונים (Vulnerability Assessment) תוכלו לבצע באמצעות Cloud Security Assessment . יש ב-Marketplace מספר אפשרויות. התייחסו ברצינות לדוח שקיבלתם וטפלו בחשיפות.

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

ניתן להשתמש ב-CloudWatch כדי לנטר את התשתית. לקוחות שעובדים עם EKS, יוכלו להשתמש בפתרונות Opensource כמו Prometheus ו-Grafana.

אם הפתרון הזה לא יספיק, בפן האפליקטיבי, תוכלו להשתמש ב-Application Performance Monitoring.

שימוש בעקרון Defense-In-Depth
עקרון זה עוזר לחלק את אבטחת המידע לשכבות (Layers) ולוודא שהצלחנו להגן על כל שכבה. אם "האקר" הצליח למצוא פריצה באפליקציה שלנו, השכבה הנוספת תעזור למנוע גישה למקומות נוספים.

img
פרשנות | כוח צבאי משמעותי של נאט״ו יכול להקטין הסתברות למלחמה גרעינית באירופה
דעה | אופציה צבאית ישראלית תוכל לרסן את איראן 
קבוצת SQLink רוכשת את ZIGIT הישראלית
קבוצת SQLink רוכשת את ZIGIT הישראלית