מזהה אזור
הערך REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, REGION_ID.r נכלל בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
אבטחה היא התכונה העיקרית של Google Cloud, אבל עדיין יש פעולות שצריך לבצע כדי להגן על האפליקציה ב-App Engine ולזהות נקודות חולשה.
כדי לוודא שהאפליקציה ב-App Engine מאובטחת, אתם יכולים להשתמש בתכונות הבאות: במאמר Google Cloud אבטחה תוכלו לקרוא מידע נוסף על מודל האבטחה של Google ועל הפעולות שאתם יכולים לבצע כדי לאבטח את הפרויקטים שלכם ב- Google Cloud .
בקשות HTTPS
כדי לגשת לאפליקציית App Engine באופן מאובטח, צריך להשתמש בבקשות HTTPS. בהתאם להגדרות של האפליקציה, יש לכם את האפשרויות הבאות:
appspot.comדומיינים- משתמשים בקידומת של כתובת ה-URL
httpsכדי לשלוח בקשת HTTPS לשירותdefaultבפרויקט Google Cloud , לדוגמה:
https://PROJECT_ID.REGION_ID.r.appspot.com
כדי לטרגט משאבים ספציפיים באפליקציית App Engine, משתמשים בתחביר
-dot-כדי להפריד בין המשאבים שרוצים לטרגט, לדוגמה:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.comכדי להמיר כתובת URL מסוג HTTP לכתובת URL מסוג HTTPS, מחליפים את הנקודות בין כל משאב ב-
-dot-, לדוגמה:
http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com
למידע נוסף על כתובות URL מסוג HTTPS ומשאבי טירגוט, קראו את המאמר איך בקשות מנותבות.
- משתמשים בקידומת של כתובת ה-URL
- דומיינים מותאמים אישית
כדי לשלוח בקשות HTTPS עם הדומיין המותאם אישית, אתם יכולים להשתמש באישורי ה-SSL המנוהלים שמוקצים על ידי App Engine. מידע נוסף מופיע במאמר אבטחת דומיינים מותאמים אישית באמצעות SSL.
בקרת גישה
בכל פרויקט ב- Google Cloud , מגדירים בקרת גישה כדי לקבוע מי יכול לגשת לשירותים שבפרויקט, כולל App Engine. אתם יכולים להקצות תפקידים שונים לחשבונות שונים כדי לוודא שלכל חשבון יש רק את ההרשאות שנדרשות לו כדי לתמוך באפליקציה. לפרטים נוספים, ראו הגדרת בקרת גישה.
חומת האש של App Engine
חומת האש של App Engine מאפשרת לכם לשלוט בגישה לאפליקציית App Engine באמצעות קבוצת כללים שיכולים לאשר או לדחות בקשות מטווחי כתובות ה-IP שצוינו. לא תחויבו על תנועה או רוחב פס שנחסמו על ידי חומת האש. יוצרים חומת אש כדי:
- אישור תנועה רק מתוך רשת ספציפית
- כדי לוודא שרק טווח מסוים של כתובות IP מרשתות ספציפיות יכול לגשת לאפליקציה, אפשר ליצור כללים שמאפשרים רק את טווח כתובות ה-IP מתוך הרשת הפרטית של החברה במהלך שלב הבדיקה של האפליקציה. אחרי זה אתם יכולים ליצור ולשנות את כללי חומת האש כדי לשלוט בהיקף הגישה לאורך תהליך ההשקה, ולאפשר רק לארגונים מסוימים, בתוך החברה או מחוצה לה, לגשת לאפליקציה עד שהיא תהיה זמינה לכולם.
- איך מאשרים רק תנועה משירות ספציפי
- צריך לוודא שכל התנועה לאפליקציית App Engine עוברת קודם דרך שרת proxy של שירות ספציפי. לדוגמה, אם אתם משתמשים בחומת אש ליישומי אינטרנט (WAF) של צד שלישי כדי להעביר בקשות שמופנות לאפליקציה שלכם דרך שרת proxy, אתם יכולים ליצור כללים של חומת אש כדי לדחות את כל הבקשות, מלבד אלה שמועברות מה-WAF.
- חסימת כתובות IP פוגעניות ב-
- Google Cloud יש הרבה מנגנונים למניעת התקפות, אבל אתם יכולים להשתמש בחומת האש של App Engine כדי לחסום תנועה לאפליקציה מכתובות IP שמציגות כוונה זדונית, או להגן על האפליקציה מפני התקפות מניעת שירות וצורות דומות של ניצול לרעה. אתם יכולים להוסיף כתובות IP או רשתות משנה לרשימת ישויות שנחסמו, כדי שבקשות שנותבו מהכתובות ומרשתות המשנה האלה יידחו לפני שהן יגיעו לאפליקציית App Engine שלכם.
למידע נוסף על יצירת כללים והגדרת חומת האש, קראו את המאמר שליטה בגישה לאפליקציות באמצעות חומות אש.
אמצעי בקרה על תעבורת נתונים נכנסת (ingress)
אתם יכולים להשתמש בבקרות תעבורת נתונים נכנסת (ingress) כדי להגביל את תעבורת הנתונים הנכנסת לאפליקציית App Engine. כברירת מחדל, אפליקציית App Engine מקבלת תעבורת נתונים מכל מקורות הרשת. כדי לשנות את הגדרות ברירת המחדל, ולערוך ולראות את ההגדרות הזמינות, קראו את המאמר ציון הגדרות תעבורת הנתונים הנכנסת.
אמצעי בקרה על תעבורת נתונים יוצאת (egress)
אמצעי הבקרה על תעבורת הנתונים היוצאת קובעים איזו תעבורת נתונים יוצאת משירות App Engine מנותבת דרך רשת הענן הפרטי הווירטואלי (VPC) כשמשתמשים בתעבורת נתונים יוצאת ישירה של VPC (תצוגה מקדימה) או במחבר של חיבור לרשת VPC ללא שרתים. כברירת מחדל, רק בקשות לכתובות IP פרטיות מנותבות דרך רשת ה-VPC, ובקשות ליעדים ציבוריים מנותבות ישירות לאינטרנט. בעזרת הגדרות בקרת התעבורה היוצאת, אתם יכולים לנתב את כל התעבורה היוצאת (all-traffic) משירות App Engine דרך רשת ה-VPC. כדי לקבוע את הגדרות תעבורת הנתונים היוצאת של האפליקציה, קראו את המאמר הגדרות של תעבורת נתונים יוצאת.
סיכונים ושימוש מקובל בתעבורת נתונים משותפת לאינטרנט
כברירת מחדל, תעבורת נתונים יוצאת לאינטרנט הציבורי משתמשת במאגר אזורי של כתובות IP דינמיות שמשותפות עם עומסי עבודה אחרים ללא שרת. חשוב לזכור את הסיכונים והאחריות הבאים:- תנועה רועשת או פוגענית מעומס עבודה אחר באזור יכולה לפגוע במוניטין של מאגר כתובות ה-IP המשותף. חומות אש חיצוניות וחומות אש של צד שלישי ליישומי אינטרנט (WAF) עלולות להגביל או לחסום בקשות מכתובות ה-IP המשותפות האלה, ולגרום לזמן קצוב לתפוגה של החיבור או לשגיאות
HTTP 403. - אל תשתמשו במאגר ברירת המחדל של כתובות ה-IP המשותפות לנקודות קצה (endpoint) חיצוניות שרגישות למוניטין, כמו Payment Gateway, מסדי נתונים מתארחים או ממשקי API של שותפים מאחורי חומות אש של אפליקציות אינטרנט (WAF). במקום זאת, צריך לנתב את כל תעבורת הנתונים היוצאת (
all-traffic) דרך רשת ה-VPC ולהשתמש ב-Cloud NAT עם כתובות IP סטטיות ייעודיות לתעבורת נתונים יוצאת. - אל תפעילו סריקת רשת, ספירת יציאות, טביעת אצבע של מארח, בדיקת פגיעויות, גירוד נתונים מהאינטרנט או בדיקת עומסים בנתיב ברירת המחדל המשותף של תעבורת הנתונים לאינטרנט. הפעילות הזו פוגעת במוניטין של כתובת ה-IP המשותפת, עלולה לשבש את השירות ללקוחות אחרים תוך הפרה של Google Cloud מדיניות השימוש המקובל, ועלולה לגרום ל-Google להגביל או להשעות את עומס העבודה שלכם.
אם אתם מריצים עומסי עבודה של סריקת אבטחה מורשית, טביעת אצבע של מארח או בדיקת עומסים, אתם צריכים לבודד את התנועה היוצאת. מנתבים את כל הבקשות היוצאות (
all-traffic) דרך רשת ה-VPC ו-Cloud NAT באמצעות כתובות ה-IP הסטטיות היוצאות שלכם.
סורק אבטחה
Google Cloud Web Security Scanner מגלה נקודות חולשה על ידי סריקה של אפליקציית App Engine, מעקב אחרי כל הקישורים בטווח של כתובות ה-URL ההתחלתיות וניסיון להפעיל כמה שיותר קלט של משתמשים וגורמים מטפלים באירועים.
כדי להשתמש בסורק האבטחה, אתם צריכים להיות הבעלים של הפרויקט ב-Google Cloud . למידע נוסף על הקצאת תפקידים, קראו את המאמר הגדרת בקרת גישה.
אתם יכולים להריץ סריקות אבטחה ממסוף Google Cloud כדי לזהות נקודות חולשה באבטחה באפליקציית App Engine. לפרטים על הפעלת Security Scanner, קראו את המאמר שימוש ב-Web Security Scanner.
VPC Service Controls
לא נתמך בסביבת ברירת המחדל ב-App Engine.