הנדסה אזרחית & הנדסה מבנית
מחשוב ללא שרת ואבטחת API: הפרקטיקה הטובה ביותר להגנה על נקודות הקצה שלך
Table of Contents
מחשוב ללא שרת שינה באופן יסודי את האופן שבו צוותי הפיתוח בונים ופרוס יישומים, תוך פשטות את שכבת התשתית כך שהמהנדסים יכולים להתמקד בלוגיקה עסקית ובמהירות לשוק.עם זאת, שינוי פרדיגמה זה גם מציג משטח התקפה חדש, עם APIs הפועלים כממשק העיקרי בין לקוחות ופונקציות ענן כמו AWS Lambda, Azure Functions, או Google Cloud Functions.Scuring נקודות אלה כבר לא אחרי דרישות אבטחה מוכחות עבור פונקציות אבטחה יעילות של שרת אבטחה, כדי הגנה על יעילות של יישומים מאובטחים, או פונקציות אבטחה יעילות של API.
הבנת מודל אבטחה Serverless
בתשתיות מסורתיות, אבטחה נשענת על כלי שרת ברשת: חומות אש, VPNs, שרתים קשיחים. Serverless inverts that Model. אין שרת מתמשך להקשה; במקום זאת, כל פונקציה בייעוד היא אמפירית, ספק הענן מנהל את הסביבה המתיחה.מודל האחריות המשותף אומר שאתה לאבטח את הקוד שלך, הנתונים והזהות - בעוד ספק הזהות מאובטח ה- API הבסיסי הוא יישום, חייב להיות בעל יכולת גבוהה יותר, כל גישה זדונית, כמו גם כן, כל אחת, כמו גם כן, כמו גם כן, כמו גם כן, כל אחת, כמו גם כן, כל אחת, יש צורך, כלומר, כל גישה אישית, כמו גם כן, כמו גם כן, כמו גם את האימות, כל אחת, כמו גם את היכולת להיות בעל יכולת טיפולית, כמו גם כן, כל אחת, כל אחת, כל אחת מהתיאוריות, יש צורך, כמו גם כן, כל אחת, יש צורך, כלומר, כמו גם כן, כל אחת מהתיאוריות, כלומר, כל אחת, כל אחת מהתיאוריות, היא, היא, היא, כל אחת מהתיאוריות, כמו גם כן, כמו גם כן, יש צורך, כמו גם כן, היא, כדי להבטיח את התכונות של תכונות אלה, גישה זדונית, כמו גם כן
איומים מהירים ל-API ללא שרת
לפני צלילה לתוך הגנה, זה קריטי לזהות את וקטורים ההתקפה הנפוצים ביותר מיקוד נקודות קצה ללא שרת:
- (ב) ,0) התקפות ההזרקה של ההרחבה: SQL, NoSQL, OS Command, or LDAP באמצעות קלט לא סניפי עבר לפונקציות.
- [01:0] ,[עריכת קוד מקור]
- (FLT:0) חשיפה למידע בלתי פוסקת לחשיפה ל-APIs חוזרים לעומס מלא כאשר רק נתונים חלקיים נדרשים, דליפות שדות רגישים.
- (ב) [15] ,[[1924]]]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]]
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
כל אחד מהאיומים האלה יכול להיות מופחת עם עיצוב מכוון וכלי משולב לתוך צינור הפריסה שלך.
הפרקטיקה הטובה ביותר להגנה על נקודות הקצה שלך
1 יישום חזק Authentication and Authorization
כל בקשה לתפקוד ללא שרת צריכה להיות אותנטית ומוסמךת.שימוש בפרוטוקולים סטנדרטיים בתעשייה כגון FLT:0)Oth 2.0cioFLT 1 עם FLT:2 Open ConnectigFLT 3 או הנפיקו את ה-FLT:4JSON Web Tokens (JWT)FLT:5 אימות לתפקוד בתוך כל פונקציה (או באמצעות API Gatewayizer) כדי להבטיח את סודות השימוש הפנימי של מנהל.
מעבר לאימות בסיסי עם בקרת גישה מבוססת-יתר (RBAC) 1FOVALT או אפילו FLT:2attribute-based Access control (ABAC)BuildFLT:3 לדוגמה, הפונקציה AWS Lambda עיבוד מסמכי משתמש צריך לבדוק את JWT תביעות לאמת את תפקיד המתקשר ואת הבעלות לפני החזרת נתונים כמו AWS Cogni, מסגרת שרתי תיבות של שרת, אשר יש לשלב ישירות עם בסיס שרתי שרתי שרתי אש.
תקשורת בטוחה
כל תעבורת ה- API חייבת להיות מוצפנת במעבר:0HTTPS (TLS 1.2 או 1.3)IRFLT:1 באופן בלעדי.הגדרת שער ה- API שלך או מאזן העומס כדי לדחות בקשות HTTP.עבור אבטחה נוספת, ליישם את ה-FLT:2certificate pinninging:2certificate pinningFLT 3 על יישומי לקוחות ולהבטיח את פונקציות השרת שלך רק לתקשר עם שירותים מעל TLSco נמנעים מתוקף של אבטחה.
אם הפונקציות שלך מתקשרות זו עם זה (למשל, באמצעות אוטובוסים או תורים אירועים), מצפין את התנועה גם.רוב ספקי הענן מאפשרים הצפנה כברירת מחדל עבור הודעות שירות בין-שירות, אך ודא כי תצורות המוצר שלך לנעול את זה.
3.התייעלות מגבילה ו Throttling
הגבלת קצב הגנה על ה- API שלך מפני משתמשים מתעללים ותהליכים נמלטים מקריים. ברמת ה- API Gateway, מגדירה מגבלות להעלאת הריבית ובקשות מצב יציב (למשל, 100 בקשות לדקה למשתמש) להשתמש בדלי או אלגוריתמים חלון כדי לאפשר ספייקות מזדמנים בזמן עדיין ניתוק התקפות מתמשך.
(המגבלות השונות המבוססות על מעמד אימותים.המשתמשים אנונימיים עשויים לקבל 10 בקשות / דקות של חצץ, בעוד משתמשים אותנטיים מקבלים גבול גבוה יותר.חשבו באמצעות שימוש ב-FLT:0API מפתחי שימוש עם תוכניות שימוש ב-AWS Gateway או FLT:2rate Limiting RulesFLT 3:FLT, בנוסף, ליישם את הגבולות של 4conratedF:5 על מנת למנוע את תפקודים ברמת השרת שלך מ-S.
זכור להיכנס ולהזהיר על אירועים קשים כדי שתוכל להבחין בין ספייק תנועה לגיטימיים לבין ניסיונות זדוניים.
4. אימות וסןיטיזציה של כל האינקוויטים
לעולם אל תסמוך על נתונים המגיעים מהלקוח או משירות upstream. השתמש בספריית אימות סכמה (למשל, Joi, Pydantic, או JSON Schema) בתחילת כל פונקציה. Reject כל קלט שאינו תואם את הצורה הצפויה.עבור SQL או NoSQL שאילתות, תמיד השתמש בהצהרות פרמטר או RM המפלט באופן אוטומטי קלט לבן מותר לדמויות מחרוזת, ו-FNW (FN) לא להעריך את הקוד (pN) כקודמתקבלהקוד של המשתמש (pN).
בנוסף, לאכוף אימות תוכן מסוג התוכן.אם נקודת הקצה שלך צופה JSON, לדחות בקשות עם (FLT:2) או סוגים שאינם נתמך MIME. עבור העלאת קבצים, לאמת את גודל הקובץ MIME, קובץ, וסריקה עבור קוד זדוני באמצעות שירותים ייעודיים כגון משמרות של AWS או סורקי וירוסים של צד שלישי.
אמצעי אבטחה נוספים
דרישות אינטרנט (WAFs)
§ § לפני שער ה- API שלך כדי לסנן באופן אוטומטי תבניות התקפה נפוצות כגון הזרקת SQL, תסריט חוצה-אתר (XSS), ואיומים במוניטין IP. ספקי ענן מציעים WAF מנוהלים (AWS WAF, Azure WAF, Cloud Armor) המשלבים עם מאזן העומס והשירותים של CDN. , הגדרות חוק מותאם אישית עבור נקודות הקצה הספציפיות של היישום שלך, כגון חסימת בקשות עם פרמטרים חשודים או משונים חשודים JWT.
פיקוח מקיף ושילוב
Visibility אינו ניתן להשגה עבור אבטחה. ⁇ מפורט עבור כל בקשות API ותפקוד ייעוד. השתמש שירותים כמו AWS CloudTrail, Azure Monitor, או Google Log Cloudging כדי ללכוד מי ניגש למה, מתי, ומהיכן. Centralize לוגים בכלי SIEM (למשל, Splunk, ELK, Datadog) ו להגדיר התראות עבור:
- תגובה חוזרת על 401/403 (כוח ברוטה)
- ספייקטים פתאומיים בביצוע זמן או שיעורי שגיאה
- גישה ממגוון גיאוגרפיות או טווחי IP יוצאי דופן
- ייעוד פונקציונלי ששומר על שער ה- API (כתובת URL עקיף)
יומני Correlate על פני שכבות - gateway, פונקציה וחנות נתונים - כדי לעקוב אחר שרשרת ההתקפה המלאה.
תלות וניהול פטך
(הפונקציות ללא שרת מסתמכות על ספריות צד שלישי: תלות פגיעה אחת יכולה להתפשר על כל היישום שלך.שימוש ב-FLT:0 רכה ניתוח הרכב (SCA) IRFLT:1 כלים (למשל, Snyk, Trivy,תלוי) בצנרת CI/CD שלך לסרוק עבור פרצות ידועות.
באופן קבוע סקירה ועדכון תפקוד הפעלות ותמונות בסיס (עבור שרת מבוסס מכולה) להגדיר עדכונים תלויים אוטומטיים עם בדיקות כדי להימנע משינויים פורצים.עבור פונקציות מורשת עם תלות לא רצויה, לבודד אותם וליישם בקרה נוספת כפייתות כמו WAF או אימות קלט קפדני.
אבטחת רשת ושיקום
בעוד פונקציות ללא שרת פועלות בסביבה ענן רב-עוצמה, באפשרותך להוסיף בקרות ברמת הרשת. Place פונקציות שמעבדות נתונים רגישים (למשל, פרטי תשלום, רשומות בריאות) בתוך AFLT:0VPCIRFLT:1 ללא גישה לאינטרנט ציבורי.
השתמש ב-FLT:0 [IP WhitelistigingFLT:1] עבור נקודות קצה מנהליות או כלי פנימי. הגדרות קבוצות אבטחה רשת ACLs כדי להגביל את התנועה הנכנסת רק לנמלים הדרושים ו- IPs מקור. עבור פונקציות הדורשות גישה לאינטרנט (למשל, קריאה של צד שלישי), מסלול דרך שער NAT בתוך תת-נט מבוקר.
יישום אבטחה ב- CI /CD Pipeline
אבטחה חייבת להיות אוטומטית ומשולבת מוקדם בפיתוח.לכיר שער אבטחה:0 בטיחות: 1.101 בצינור CI /CD שלך אשר לאכוף את הפעולות הבאות לפני הפריסה:
- בדיקות אבטחה יישומיות סטטיות (SAST) על קוד הפונקציה כדי לזהות דפוסים לא מאובטחים.
- הסתמכות סריקה עם כישלון על פרצות קריטיות.
- (ה-IaC) סריקת תשתית (למשל, FLT:4, 5) עבור תפקידים IAM לא מוגדר, חוסר הצפנה או חשיפה ציבורית.
- בדיקות יחידה ואינטגרציה המאמתות אימות, אישור ולוגיקה אימות קלט.
שימוש בסביבות נבואה (התחילות תצוגה מקדימה) כדי להפעיל בדיקות אבטחה כנגד נקודות קצה ללא שרת בפועל לפני מיזוג לייצור.חשב באמצעות כלי בדיקת אבטחה API כגון FLT:0PostmancioFLT:1 או ;2OWASP ZAPFLT 3 כדי לדמות התקפות.
מסקנה
מחשוב Serverless מציע מהירות והיקף מדהימים, אבל זה דורש חשיבה ביטחונית פרואקטיבית.על ידי טיפול ב- APIs כמו ה- perimeter החדש, יישום אימות חזק ואישור, אכיפת הצפנה, תנועה זדונית, אימות קפדני של קלטות, ושכבות ב- WAFs, ניטור, ובקרת רשת, אתה יכול להגן על נקודות הקצה שלך נגד רוב ההתקפות המודרניות.