הנחיות אבטחה כלליות לסביבות עבודה שונות של פיתוח

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

אבטחה לסביבות טרום-ייצור

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

  • הגבלת הגישה לסביבות טרום ייצור. באפליקציות לנייד, יש להשתמש ב- App Distribution (או משהו דומה) להפצה אפליקציה לקבוצה ספציפית של אנשים. קשה יותר להגביל אפליקציות אינטרנט. כדאי להגדיר פונקציית חסימה לסביבות המוכנות מראש שמגבילות את הגישה למשתמשים עם אימייל כתובות שספציפיות לדומיין שלך. לחלופין, אם אתם משתמשים ב-Firebase Hosting, תוכלו להגדיר את תהליכי העבודה שלכם בשלב טרום הייצור כך שישתמשו בכתובות URL זמניות לתצוגה מקדימה.

  • כשלא צריך לשמור על סביבה כזו, והיא נמצאת בשימוש רק על ידי משתמש אחד אדם (או במקרה של בדיקות, על ידי מכונה אחת) ישתמש Firebase Local Emulator Suite האמולטורים האלה בטוחים יותר מהר יותר כי הן יכולות לעבוד רק על Localhost במקום להשתמש בענן במשאבי אנוש.

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

אבטחה לסביבות ייצור

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

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

  • כדאי לכתוב Firebase Security Rules בצורה יעילה. Realtime Database, Cloud Firestore וגם Cloud Storage כולם מסתמכים על Rules שהוגדר על ידי המפתח כדי לאכוף מי צריך ומי לא יכול לגשת לנתונים. חשוב מאוד את האבטחה שלך כשכותבים Rules טוב. אם אתם לא בטוחים איך לעשות זאת, תוכלו להתחיל בcodelab הזה.

  • מידע נוסף זמין ברשימת המשימות בנושא אבטחה המלצות בנוגע לאבטחה בסביבות ייצור.

השלבים הבאים