מזהה אזור
הערך 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)
כברירת מחדל, מכונות בסביבה הגמישה מקבלות כתובת IP חיצונית זמנית כדי לשלוח בקשות יוצאות למשאבים באינטרנט. כדי למנוע ממכונות להשתמש בכתובות IP חיצוניות זמניות שמוגדרות כברירת מחדל, צריך להגדיר אתinstance_ip_mode: internal בקובץ app.yaml ולנתב את תעבורת הנתונים היוצאת דרך Cloud NAT עם כתובות IP סטטיות שמורות. במאמר שליחת בקשות חיצוניות בלי כתובת IP חיצונית מוסבר איך להגדיר את זה.
סיכונים ושימוש מקובל בתעבורת נתונים משותפת לאינטרנט
כברירת מחדל, תעבורת נתונים יוצאת לאינטרנט הציבורי משתמשת בכתובות IP חיצוניות זמניות ממאגר משותף של Google Cloud . חשוב לזכור את הסיכונים והאחריות הבאים:תנועה קודמת או רועשת במאגר כתובות ה-IP המשותף יכולה לפגוע במוניטין של כתובות IP חיצוניות זמניות. חומות אש חיצוניות וחומות אש של צד שלישי ליישומי אינטרנט (WAF) עלולות להגביל או לחסום בקשות מכתובות ה-IP האלה, מה שגורם לזמן קצוב לתפוגה של החיבור או לשגיאות HTTP 403.
אל תשתמשו בכתובות IP חיצוניות ארעיות שמוגדרות כברירת מחדל לנקודות קצה חיצוניות שרגישות למוניטין, כמו Payment Gateway, מסדי נתונים מתארחים או ממשקי API של שותפים מאחורי WAF. במקום זאת, צריך להגדיר את instance_ip_mode: internal ולהשתמש ב-Cloud NAT עם כתובות IP חיצוניות סטטיות ייעודיות, כמו שמתואר במאמר שליחת בקשות חיצוניות בלי כתובת IP חיצונית.
אל תריצו סריקת רשת, ספירת יציאות, טביעת אצבע של מארח, בדיקת פגיעויות, גירוד נתונים מהאינטרנט או בדיקת עומסים על כתובות IP חיצוניות זמניות שמוגדרות כברירת מחדל. פעילות סריקה לא מבודדת פוגעת במוניטין של כתובת ה-IP, עלולה לשבש את השירות ללקוחות אחרים תוך הפרה של Google Cloud מדיניות השימוש המקובל, ועלולה לגרום ל-Google להגביל או להשעות את עומס העבודה שלכם.
אם אתם מריצים עומסי עבודה של סריקת אבטחה מורשית, טביעת אצבע של מארח או בדיקת עומסים, אתם צריכים לבודד את התנועה היוצאת. להגדיר מכונות עם instance_ip_mode: internal ולנתב בקשות יוצאות דרך 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.