דיווח על סודות במשתני סביבה ל-Security Command Center

בדף הזה מוסבר איך אפשר להשתמש בשירות הגילוי של Sensitive Data Protection כדי לקבוע אם יש סודות במשתני הסביבה של Cloud Run. השירות Sensitive Data Protection מדווח על כל הממצאים ל-Security Command Center כפגיעויות.

מידע על Security Command Center

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

למה כדאי לסרוק משתני סביבה כדי למצוא סודות

אחסון סודות, כמו סיסמאות, במשתני סביבה הוא לא שיטה מאובטחת כי משתני סביבה לא מוצפנים. אפשר לאסוף את הערכים שלהם ולחשוף אותם במערכות שונות, כמו יומנים. מומלץ להשתמש ב-Secret Manager כדי לאחסן את הסודות. מידע נוסף זמין במאמרי העזרה בנושא Cloud Run ופונקציות של Cloud Run בנושא הגדרת סודות.

איך זה עובד

כדי לבצע סריקה לגילוי סודות, יוצרים הגדרת סריקה לגילוי ברמת הארגון או הפרויקט. במסגרת ההיקף שבחרתם, שירות Sensitive Data Protection סורק מעת לעת את Cloud Run כדי למצוא סודות במשתני סביבת build ו-runtime.

אם סוד מופיע במשתנה סביבה, Sensitive Data Protection שולח ממצא של נקודת חולשה Secrets in environment variables אל Security Command Center. לא נוצרים פרופילי נתונים. הממצאים זמינים רק דרך Security Command Center.

‫Sensitive Data Protection יוצרת לכל היותר ממצא אחד לכל משאב. לדוגמה, אם נמצאים סודות בשני משתני סביבה באותה פונקציית Cloud Run, נוצרת רק ממצא אחד ב-Security Command Center.

ב-Security Command Center אפשר לראות את הממצאים של Secrets in environment variables כשמבצעים את הפעולות הבאות:

הממצאים שנוצרו ברשימת הממצאים של Security Command Center במסוף Google Cloud

קובץ ה-JSON הבא מציג דוגמה לSecrets in environment variablesממצא. בדוגמה הזו מוצגים רק השדות שרלוונטיים לתכונה הזו, ולא מוצגת רשימה מלאה של השדות.

סודות במשתני סביבה

{
  "finding": {
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "category": "SECRETS_IN_ENVIRONMENT_VARIABLES",
    "compliances": [
      {
        "standard": "cis",
        "version": "1.3",
        "ids": [
          "1.18"
        ]
      }
    ],
    "createTime": "DATE_TIME",
    "description": "The affected resource is storing credentials or other secret information in its environment variables. This is a security vulnerability because environment variables are stored unencrypted, and accessible to all users who have access to the code.",
    "eventTime": "DATE_TIME",
    "findingClass": "VULNERABILITY",
    "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/dlp",
    "mute": "MUTE_STATUS",
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "parentDisplayName": "Sensitive Data Protection",
    "resourceName": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
  },
  "resource": {
    "name": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "display_name": "projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "type": "google.cloudfunctions.CloudFunction",
    "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "project_display_name": "PROJECT_DISPLAY_NAME",
    "parent_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "parent_display_name": "PARENT_DISPLAY_NAME"
  }
}
    

איך מוצאים את זמן האחזור של יצירת התוכן

בהתאם לגודל הארגון, הממצאים של Sensitive Data Protection יכולים להתחיל להופיע ב-Security Command Center תוך כמה דקות אחרי שמפעילים את האפשרות 'מיון מידע אישי רגיש'. בארגונים גדולים או בארגונים עם הגדרות ספציפיות שמשפיעות על יצירת הממצאים, יכול להיות שיחלפו עד 12 שעות לפני שהממצאים הראשוניים יופיעו ב-Security Command Center.

לאחר מכן, Sensitive Data Protection יוצר ממצאים ב-Security Command Center תוך כמה דקות אחרי ששירות הגילוי סורק את המשאבים.

סוגי הסודות שמדווחים

דוגמאות לסודות הן סיסמאות, אסימוני אימות ופרטי כניסה. Google Cloudרשימה מלאה של סוגי הסודות ש-Sensitive Data Protection סורק במסגרת התכונה הזו מופיעה במאמר פרטי כניסה וסודות.

משאבים נתמכים

לגילוי סודות, Sensitive Data Protection תומך בפונקציות Cloud Run (כולל Cloud Functions דור ראשון) ובעדכונים של שירות Cloud Run.

תמחור

השימוש בתכונה הזו לא כרוך בתשלום על Sensitive Data Protection. יכול להיות שתחול עמלה על Security Command Center, בהתאם לרמת השירות. השירות Sensitive Data Protection פועל עם Security Command Center בכל רמות השירות.

המיקום של נתונים

בפעם הראשונה שיוצרים הגדרת סריקה, מציינים איפה רוצים ש-Sensitive Data Protection ישמור אותה. כל ההגדרות הבאות של הסריקות שתיצרו יישמרו באותו אזור. השירות Sensitive Data Protection מייצא את המטא-נתונים של Cloud Run לאזור שבו מאוחסנת הגדרת הסריקה, אבל לא מייצא את הפונקציה או את הגרסה של השירות עצמו.

אם Sensitive Data Protection מזהה סודות במשתני סביבה, הממצאים נשלחים אל Security Command Center וכפופים לתהליכי הטיפול בנתונים שלו.

התפקידים שצריך ב-IAM

כדי לבצע גילוי של סודות, אתם צריכים את התפקידים של ניהול זהויות והרשאות גישה (IAM) שנדרשים כדי ליצור פרופיל של נתונים:

בנוסף, אתם צריכים את התפקידים המתאימים כדי לעבוד עם הממצאים של Security Command Center. מידע נוסף זמין במאמר IAM להפעלות ברמת הארגון במסמכי Security Command Center.

לפני שמתחילים

  1. בודקים את רמת ההפעלה של Security Command Center בארגון. כדי לשלוח פרופילי נתונים אל Security Command Center, צריך להפעיל את Security Command Center ברמת הארגון בכל רמת שירות. מידע נוסף זמין במאמר בנושא סקירה כללית של הפעלה ברמת הארגון.

    אם Security Command Center מופעל רק ברמת הפרויקט, הממצאים מ-Sensitive Data Protection לא יופיעו ב-Security Command Center.

  2. ב-Security Command Center, מוודאים שSensitive Data Protection מופעל כשירות משולב. מידע נוסף זמין במאמר הוספת שירותGoogle Cloud משולב.

הגדרה של גילוי סודות ברמת הארגון

כדי להפעיל את האפשרות 'גילוי סודות' בארגון שלם, צריך לבצע את השלבים הבאים. לגבי discovery ברמת הפרויקט, אפשר לעיין במאמר הגדרת discovery של סודות ברמת הפרויקט.

אם אין לכם את התפקיד Organization Administrator (roles/resourcemanager.organizationAdmin) או Security Admin (roles/iam.securityAdmin), עדיין תוכלו ליצור הגדרת סריקה. אבל אחרי שיוצרים את הגדרת הסריקה, מישהו עם אחד מהתפקידים האלה צריך לתת לסוכן השירות גישה לגילוי.

  1. עוברים לדף יצירת הגדרת סריקה.

    כניסה לדף Create scan configuration

  2. עוברים לארגון. בסרגל הכלים, לוחצים על הכלי לבחירת פרויקטים ובוחרים את הארגון.

    אחרי כל שלב בדף הזה, לוחצים על המשך.

  3. בקטע Select a discovery type (בחירת סוג הגילוי), בוחרים באפשרות Secrets/credentials vulnerabilities (נקודות חולשה של סודות/פרטי כניסה).

  4. בקטע בחירת היקף, בוחרים אם רוצים לסרוק את כל הארגון.

  5. בקטע ניהול קונטיינר וחיוב של סוכן שירות, מציינים את הפרויקט שבו רוצים להשתמש כקונטיינר של סוכן שירות. אתם יכולים לאפשר ל-Sensitive Data Protection ליצור פרויקט חדש באופן אוטומטי, או לבחור פרויקט קיים.

    • אם אין לכם פרויקט שאפשר להשתמש בו כמאגר של סוכני שירות, בוחרים באפשרות יצירת פרויקט חדש כמאגר של סוכני שירות. ‫Sensitive Data Protection יוצר פרויקט חדש בשם DLP Service Agent Container. סוכן השירות בפרויקט הזה ישמש לאימות ב-Sensitive Data Protection ובממשקי API אחרים. המערכת תבקש מכם לבחור את החשבון לחיוב על כל הפעולות שניתנות לחיוב שקשורות לפרויקט הזה, כולל פעולות שלא קשורות לגילוי.

      אם אין לכם את ההרשאות שדרושות ליצירת פרויקטים, האפשרות יצירת פרויקט חדש כמאגר של סוכני שירות מושבתת. במקרה כזה, צריך לבחור פרויקט קיים או לבקש מהאדמין ב-Google Cloud להקצות לכם את התפקיד Project Creator (יצירת פרויקטים) ‏(roles/resourcemanager.projectCreator).

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

  6. בקטע Set location to store configuration, בוחרים את האזור שבו רוצים לאחסן את הגדרת הסריקה הזו. גם כל הגדרות הסריקה שתיצרו בהמשך יאוחסנו במיקום הזה. מידע על שיקולים לגבי מיקום הנתונים מופיע בקטע מיקום הנתונים שבדף הזה.

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

    האפשרות הזו שימושית במקרים הבאים:

    • האדמין שלכם עדיין צריך להעניק גישה לגילוי לסוכן השירות. Google Cloud
    • אתם רוצים ליצור כמה הגדרות סריקה, וחלק מההגדרות יבטלו הגדרות אחרות.
  8. לוחצים על יצירה.

Sensitive Data Protection מתחיל לסרוק את משתני הסביבה ב-Cloud Run זמן קצר אחרי שיוצרים הגדרת סריקה או מפעילים מחדש הגדרה שהושהתה. בקטע השהיה ביצירת ממצאים בדף הזה מוסבר כמה זמן לוקח לממצאים להופיע ב-Security Command Center.

אם אין לכם את התפקיד Organization Administrator (roles/resourcemanager.organizationAdmin) או Security Admin (roles/iam.securityAdmin), מישהו עם אחד מהתפקידים האלה צריך להעניק לסוכן השירות שלכם גישה לגילוי לפני שמתחיל הגילוי.

הגדרה של גילוי סודות ברמת הפרויקט

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

  1. עוברים לדף יצירת הגדרת סריקה.

    כניסה לדף Create scan configuration

  2. עוברים לפרויקט. בסרגל הכלים, לוחצים על רשימת הפרויקטים לבחירה ובוחרים את הפרויקט.

    אחרי כל שלב בדף הזה, לוחצים על המשך.

  3. בקטע Select a discovery type (בחירת סוג הגילוי), בוחרים באפשרות Secrets/credentials vulnerabilities (נקודות חולשה של סודות/פרטי כניסה).

  4. בקטע Select scope, מוודאים שהאפשרות Scan entire project מסומנת. אם היא לא מסומנת, מוודאים שאתם בתצוגת הפרויקט.

  5. בקטע Set location to store configuration, בוחרים את האזור שבו רוצים לאחסן את הגדרת הסריקה הזו. גם כל הגדרות הסריקה שתיצרו בהמשך יאוחסנו במיקום הזה. מידע על שיקולים לגבי מיקום הנתונים מופיע בקטע מיקום הנתונים שבדף הזה.

  6. לוחצים על יצירה.

Sensitive Data Protection מתחיל לסרוק את משתני הסביבה ב-Cloud Run זמן קצר אחרי שיוצרים הגדרת סריקה או מפעילים מחדש הגדרה שהושהתה. בקטע השהיה ביצירת ממצאים בדף הזה מוסבר כמה זמן לוקח לממצאים להופיע ב-Security Command Center.

שאילתה לממצאים של Secrets in environment variables

אלה דוגמאות לשאילתות שאפשר להשתמש בהן כדי למצוא ממצאים של Secrets in environment variables ב-Security Command Center. אפשר להזין את השאילתות האלה בשדה עורך השאילתות. מידע נוסף על עורך השאילתות זמין במאמר עריכת שאילתת ממצאים בלוח הבקרה של Security Command Center.

הצגת כל הממצאים של Secrets in environment variables

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"

הצגת כל הממצאים של Secrets in environment variables בפרויקט מסוים

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_NUMBER: המזהה המספרי של הפרויקט שרוצים לשלוח לו שאילתה