השתקת ממצאים ספציפיים

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

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להשתקת ממצאים או לביטול ההשתקה שלהם, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בארגון, בתיקייה או בפרויקט:

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

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

השתקת ממצא ספציפי

אפשר להשתיק ממצא ספציפי באופן סטטי באמצעות מסוףGoogle Cloud , ה-CLI של gcloud או Security Command Center API.

השתקת ממצא באופן סטטי לא משפיעה על הפעילות שלו. אם משתיקים ממצא פעיל, המאפיין state נשאר ללא שינוי: state="ACTIVE". הממצא מוסתר, אבל הוא נשאר פעיל עד שהפגיעות, הטעות בהגדרה או האיום הבסיסיים נפתרים. בנוסף, השתקה סטטית של ממצא מבטלת את כל כללי ההשתקה הדינמיים שחלים על הממצא.

השתקת שילוב רעיל של מילים סוגרת את המקרה המתאים של שילוב רעיל של מילים.

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

דוגמאות לקוד להשתקת ממצא מופיעות במאמר השתקת ממצא.

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

המסוף

  1. במסוף Google Cloud , עוברים לדף Findings של Security Command Center.

    כניסה לדף Findings

  2. אם צריך, בוחרים את Google Cloud הפרויקט או הארגון.
  3. אם הממצא שרוצים להשתיק לא מופיע בחלונית Findings query results, בוחרים את הקטגוריה של הממצא בקטע Category בחלונית Quick filters.
  4. בוחרים את הממצא שרוצים להשתיק. אפשר לבחור ממצא אחד או יותר.
  5. בסרגל הפעולות Findings query results (תוצאות של שאילתת ממצאים), לוחצים על Mute options (אפשרויות השתקה) ואז על Apply mute override (החלת ביטול השתקה).

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

  6. בחלונית Finding query results בדף Findings, בעמודה Category, לוחצים על השם של ממצא ספציפי. נפתחת חלונית הפרטים של הממצא.

  7. לוחצים על יוצרים קמפיינים.

  8. בתפריט פעולה, בוחרים באפשרות החלת ביטול השתקה.

    אם בוחרים באפשרות השתקת ממצאים דומים, נפתח הדף יצירת כלל השתקה שבו אפשר ליצור כלל השתקה לממצאים מאותו סוג או לממצאים שכוללים את אותה תכונה Indicator.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. כדי להגדיר את מצב ההשתקה של ממצא ל-MUTED, משתמשים בפקודה set-mute ב-CLI של gcloud:

    gcloud scc findings set-mute FINDING_ID \
      --PARENT=PARENT_ID \
      --location=LOCATION \
      --source=SOURCE_ID \
      --mute=MUTED

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

    • FINDING_ID: המזהה של הממצא שרוצים להשתיק

      כדי לאחזר מזהי ממצאים, משתמשים ב-Security Command Center API כדי לרשום ממצאים. מזהה הממצא הוא החלק האחרון במאפיין canonicalName, לדוגמה: projects/123456789012/sources/1234567890123456789/findings`/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: משאב האב (project,‏ folder או organization), תלוי אותיות רישיות

    • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט

    • LOCATION: the Security Command Center location in which to mute or unmute findings; if מיקום אחסון הנתונים is enabled, use eu, sa, or us; otherwise, use the value global

    • SOURCE_ID: מזהה המקור

      הוראות לאחזור מזהה מקור מפורטות במאמר איך מאחזרים את מזהה המקור.

המשך

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/securitycenterpb"
)

// setMute mutes an individual finding.
// If a finding is already muted, muting it again has no effect.
// Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
func setMute(w io.Writer, findingPath string) error {
	// findingPath: The relative resource name of the finding. See:
	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
	// Use any one of the following formats:
	//  - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
	//  - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
	//  - projects/{project_id}/sources/{source_id}/finding/{finding_id}
	// findingPath := fmt.Sprintf("projects/%s/sources/%s/finding/%s", "your-google-cloud-project-id", "source", "finding-id")
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.SetMuteRequest{
		Name: findingPath,
		Mute: securitycenterpb.Finding_MUTED}

	finding, err := client.SetMute(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to set the specified mute value: %w", err)
	}
	fmt.Fprintf(w, "Mute value for the finding: %s is %s", finding.Name, finding.Mute)
	return nil
}

Java


import com.google.cloud.securitycenter.v2.Finding;
import com.google.cloud.securitycenter.v2.Finding.Mute;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import com.google.cloud.securitycenter.v2.SetMuteRequest;
import java.io.IOException;

public class SetMuteFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}
    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    //  - organizations/{org_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //
    String findingPath = "{path-to-the-finding}";

    setMute(findingPath);
  }

  // Mute an individual finding.
  // If a finding is already muted, muting it again has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
  public static Finding setMute(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder()
              // Relative path for the finding.
              .setName(findingPath)
              .setMute(Mute.MUTED)
              .build();

      Finding finding = client.setMute(setMuteRequest);
      System.out.println(
          "Mute value for the finding " + finding.getName() + " is: " + finding.getMute());
      return finding;
    }
  }
}

Python

def set_mute_finding(finding_path: str) -> None:
    """
      Mute an individual finding.
      If a finding is already muted, muting it again has no effect.
      Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
    Args:
        finding_path: The relative resource name of the finding. See:
        https://cloud.google.com/apis/design/resource_names#relative_resource_name
        Use any one of the following formats:
        - organizations/{organization_id}/sources/{source_id}/finding/{finding_id},
        - folders/{folder_id}/sources/{source_id}/finding/{finding_id},
        - projects/{project_id}/sources/{source_id}/finding/{finding_id}.
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.SetMuteRequest()
    request.name = finding_path
    request.mute = securitycenter_v2.Finding.Mute.MUTED

    finding = client.set_mute(request)
    print(f"Mute value for the finding: {finding.mute.name}")
    return finding

REST

ב-Security Command Center API, משתמשים ב-method‏ findings.setMute כדי להשתיק ממצא. גוף הבקשה הוא enum שמציין את מצב ההשתקה שיתקבל:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/sources/SOURCE_ID/locations/LOCATION/findings/FINDING_ID:setMute

{
  "mute": "MUTED"
}

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

  • PARENT: משאב האב (organizations,‏ folders או projects).
  • PARENT_ID: המזהה של הארגון, התיקייה או הפרויקט ברמת ההורה.
  • LOCATION: the Security Command Center location in which to mute or unmute findings; if מיקום אחסון הנתונים is enabled, use eu, sa, or us; otherwise, use the value global
  • SOURCE_ID: המזהה המספרי של המקור.

    הוראות לאחזור מזהה מקור מפורטות במאמר איך מאחזרים את מזהה המקור.

  • FINDING_ID: המזהה של הממצא שרוצים להשתיק.

    כדי לאחזר מזהי ממצאים, משתמשים ב-Security Command Center API כדי לרשום ממצאים. מזהה הממצא הוא החלק האחרון במאפיין canonicalName, לדוגמה: projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

אחרי שמשתיקים ממצא, המאפיין mute שלו מוגדר לערך MUTED.

ביטול השתקה של ממצאים ספציפיים

אפשר לבטל את ההשתקה של ממצא ספציפי באופן סטטי באמצעות מסוף Google Cloud , ה-CLI של gcloud או Security Command Center API.

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

ממצאים שההשתקה שלהם בוטלה יושתקו שוב רק אם הם יושתקו ידנית. כללי השתקה שנוצרו באמצעות ה-CLI של gcloud או Security Command Center API לא ישפיעו על ממצאים שהמשתמשים ביטלו את ההשתקה שלהם.

לקוד לדוגמה לביטול ההשתקה של ממצא, ראו ביטול ההשתקה של ממצא.

המסוף

כדי לבטל השתקה של ממצא ספציפי באמצעות Google Cloud מסוף, לוחצים על הכרטיסייה של רמת השירות:

  1. במסוף Google Cloud , עוברים לדף Findings של Security Command Center.

    כניסה לדף Findings

  2. אם צריך, בוחרים את Google Cloud הפרויקט או הארגון. הדף ממצאים נפתח עם השאילתה שמוגדרת כברירת מחדל שמוצגת בקטע תצוגה מקדימה של השאילתה. השאילתה שמוגדרת כברירת מחדל מסננת ממצאים שהושתקו, ולכן צריך לערוך את השאילתה כדי שממצאים שהושתקו יופיעו בחלונית תוצאות השאילתה של הממצאים.
  3. משמאל לקטע תצוגה מקדימה של השאילתה, לוחצים על עריכת השאילתה כדי לפתוח את עורך השאילתות.
  4. בשדה עורך השאילתות, מחליפים את הצהרת ההשתקה הקיימת בהצהרה הבאה:
    mute="MUTED"
  5. לוחצים על אישור. הממצאים בחלונית Findings query results מתעדכנים וכוללים רק ממצאים שהושתקו.
  6. במקרה הצורך, מסננים ממצאים אחרים שהושתקו. לדוגמה, בחלונית Quick filters (מסננים מהירים) בקטע Category (קטגוריה), בוחרים את השם של הממצא שרוצים לבטל את ההשתקה שלו כדי לסנן את כל שאר הקטגוריות של הממצאים.
  7. בוחרים את הממצא שרוצים לבטל את ההשתקה שלו. אפשר לבחור ממצא אחד או יותר.
  8. בסרגל הפעולות Findings query results (תוצאות של שאילתת ממצאים), לוחצים על Mute Options (אפשרויות השתקה) ואז על Apply unmute override (החלת ביטול השתקה). המאפיין mute של הממצאים שנבחרו מוגדר לערך UNMUTED, והממצא מוסר מהחלונית תוצאות השאילתה של הממצאים. אפשרות אחרת היא לבטל את ההשתקה של ממצא מחלונית הפרטים שלו:
  9. בחלונית Finding query results בדף Findings, בעמודה Category, לוחצים על השם של ממצא ספציפי. נפתחת חלונית הפרטים של הממצא.
  10. לוחצים על יוצרים קמפיינים.
  11. בתפריט פעולה, בוחרים באפשרות החלת ביטול השתקה.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. כדי להגדיר את מצב ההשתקה של ממצא ל-UNMUTED, משתמשים בפקודה set-mute ב-CLI של gcloud:

    gcloud scc findings set-mute FINDING_ID \
      --PARENT=PARENT_ID \
      --location=LOCATION \
      --source=SOURCE_ID \
      --mute=UNMUTED

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

    • FINDING_ID: המזהה של הממצא שרוצים להשתיק

      כדי לאחזר מזהי ממצאים, משתמשים ב-Security Command Center API כדי לרשום ממצאים. מזהה הממצא הוא החלק האחרון במאפיין canonicalName, לדוגמה: projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: משאב האב (project,‏ folder או organization), תלוי אותיות רישיות

    • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט

    • LOCATION: the Security Command Center location in which to mute or unmute findings; if מיקום אחסון הנתונים is enabled, use eu, sa, or us; otherwise, use the value global

    • SOURCE_ID: מזהה המקור

      הוראות לאחזור מזהה מקור מפורטות במאמר איך מאחזרים את מזהה המקור.

המשך


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/securitycenterpb"
)

// setUnmute unmutes an individual finding.
// Unmuting a finding that isn't muted has no effect.
// Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
func setUnmute(w io.Writer, findingPath string) error {
	// findingPath: The relative resource name of the finding. See:
	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
	// Use any one of the following formats:
	//  - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
	//  - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
	//  - projects/{project_id}/sources/{source_id}/finding/{finding_id}
	// findingPath := fmt.Sprintf("projects/%s/sources/%s/finding/%s", "your-google-cloud-project-id", "source", "finding-id")
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.SetMuteRequest{
		Name: findingPath,
		Mute: securitycenterpb.Finding_UNMUTED}

	finding, err := client.SetMute(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to set the specified mute value: %w", err)
	}
	fmt.Fprintf(w, "Mute value for the finding: %s is %s", finding.Name, finding.Mute)
	return nil
}

Java


import com.google.cloud.securitycenter.v2.Finding;
import com.google.cloud.securitycenter.v2.Finding.Mute;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import com.google.cloud.securitycenter.v2.SetMuteRequest;
import java.io.IOException;

public class SetUnmuteFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}
    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    //  - organizations/{org_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //
    String findingPath = "{path-to-the-finding}";

    setUnmute(findingPath);
  }

  // Unmute an individual finding.
  // Unmuting a finding that isn't muted has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
  public static Finding setUnmute(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder()
              .setName(findingPath)
              .setMute(Mute.UNMUTED)
              .build();

      Finding finding = client.setMute(setMuteRequest);
      System.out.println(
          "Mute value for the finding " + finding.getName() + " is: " + finding.getMute());
      return finding;
    }
  }
}

Python

def set_unmute_finding(finding_path: str) -> None:
    """
      Unmute an individual finding.
      Unmuting a finding that isn't muted has no effect.
      Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
    Args:
        finding_path: The relative resource name of the finding. See:
        https://cloud.google.com/apis/design/resource_names#relative_resource_name
        Use any one of the following formats:
        - organizations/{organization_id}/sources/{source_id}/finding/{finding_id},
        - folders/{folder_id}/sources/{source_id}/finding/{finding_id},
        - projects/{project_id}/sources/{source_id}/finding/{finding_id}.
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.SetMuteRequest()
    request.name = finding_path
    request.mute = securitycenter_v2.Finding.Mute.UNMUTED

    finding = client.set_mute(request)
    print(f"Mute value for the finding: {finding.mute.name}")
    return finding

REST

ב-Security Command Center API, משתמשים ב-method‏ findings.setMute כדי לבטל את ההשתקה של ממצא. גוף הבקשה הוא enum שמציין את מצב ההשתקה שיתקבל:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/sources/SOURCE_ID/locations/LOCATION/findings/FINDING_ID:setMute

{
  "mute": "UNMUTED"
}

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

  • PARENT: משאב האב (organizations,‏ folders או projects)
  • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט
  • LOCATION: the Security Command Center location in which to mute or unmute findings; if מיקום אחסון הנתונים is enabled, use eu, sa, or us; otherwise, use the value global
  • SOURCE_ID: המזהה המספרי של המקור

    הוראות לאחזור מזהה מקור מפורטות במאמר איך מאחזרים את מזהה המקור.

  • FINDING_ID: המזהה של הממצא שרוצים להשתיק.

    כדי לאחזר מזהי ממצאים, משתמשים ב-Security Command Center API כדי לרשום ממצאים. מזהה הממצא הוא החלק האחרון במאפיין canonicalName, לדוגמה: projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

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

הסרת ביטול השתקה מממצאים ספציפיים

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

כדי להסיר את ההגדרה של השתקת ממצא ספציפי, אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud או ב-API של Security Command Center.

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

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

כדי להסיר את ההשתקה של ממצא מסוים:

המסוף

  1. במסוף Google Cloud , עוברים לדף Findings של Security Command Center.

    כניסה לדף Findings

  2. בוחרים את הפרויקט או הארגון. Google Cloud
  3. משמאל לקטע תצוגה מקדימה של השאילתה, לוחצים על עריכת השאילתה כדי לפתוח את עורך השאילתות.
  4. בשדה עורך השאילתות, מחליפים את הצהרת ההשתקה הקיימת בהצהרה הבאה:
    mute="MUTED" OR mute="UNMUTED"
  5. לוחצים על אישור. הממצאים בחלונית Findings query results מתעדכנים וכוללים ממצאים שהושתקו באופן סטטי וממצאים שההשתקה שלהם בוטלה.
  6. במידת הצורך, מסננים את הממצאים האחרים. לדוגמה, בחלונית Quick filters, בקטע Category, בוחרים את השם של הממצא שרוצים לאפס כדי לסנן את כל שאר הקטגוריות של הממצאים.
  7. בוחרים את הממצא שרוצים לאפס. אפשר לבחור ממצא אחד או יותר.
  8. בסרגל הפעולות תוצאות השאילתה של הממצאים, לוחצים על אפשרויות השתקה ואז על הסרת ביטולי השתקה. המאפיין mute של הממצאים שנבחרו מוגדר לערך UNDEFINED, והממצא מוסר מהחלונית תוצאות השאילתה של הממצאים. אפשרות אחרת היא לבטל את ההשתקה של ממצא מחלונית הפרטים שלו:
  9. בחלונית Finding query results בדף Findings, בעמודה Category, לוחצים על השם של ממצא ספציפי. נפתחת חלונית הפרטים של הממצא.
  10. לוחצים על יוצרים קמפיינים.
  11. בתפריט פעולה, בוחרים באפשרות הסרת ביטולי השתקה.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. כדי להגדיר את מצב ההשתקה של ממצא ל-UNDEFINED, משתמשים בפקודה set-mute ב-CLI של gcloud:

    gcloud scc findings set-mute FINDING_ID \
      --PARENT=PARENT_ID \
      --location=LOCATION \
      --source=SOURCE_ID \
      --mute=UNDEFINED

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

    • FINDING_ID: המזהה של הממצא שרוצים לאפס

      כדי לאחזר מזהי ממצאים, משתמשים ב-Security Command Center API כדי לרשום ממצאים. מזהה הממצא הוא החלק האחרון במאפיין canonicalName, לדוגמה: projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: משאב האב (project,‏ folder או organization), תלוי אותיות רישיות

    • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט

    • LOCATION: the Security Command Center location in which to mute or unmute findings; if מיקום אחסון הנתונים is enabled, use eu, sa, or us; otherwise, use the value global

    • SOURCE_ID: מזהה המקור

      הוראות לאחזור מזהה מקור מפורטות במאמר קבלת מזהה המקור.

REST

ב-Security Command Center API, משתמשים ב-method ‏findings.setMute כדי לאפס את מצב ההשתקה של ממצא. גוף הבקשה הוא enum שמציין את מצב ההשתקה שיתקבל:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/sources/SOURCE_ID/locations/LOCATION/findings/FINDING_ID:setMute

{
  "mute": "UNDEFINED"
}

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

  • PARENT: משאב האב (organizations,‏ folders או projects)
  • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט
  • LOCATION: the Security Command Center location in which to mute or unmute findings; if מיקום אחסון הנתונים is enabled, use eu, sa, or us; otherwise, use the value global
  • SOURCE_ID: המזהה המספרי של המקור

Java


import com.google.cloud.securitycenter.v2.Finding;
import com.google.cloud.securitycenter.v2.Finding.Mute;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import com.google.cloud.securitycenter.v2.SetMuteRequest;
import java.io.IOException;

public class SetMuteUndefinedFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}

    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    // - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
    // - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
    // - projects/{project_id}/sources/{source_id}/finding/{finding_id}
    String findingPath = "{path-to-the-finding}";
    setMuteUndefined(findingPath);
  }

  // Reset mute state of an individual finding.
  // If a finding is already reset, resetting it again has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE/UNDEFINED.
  public static Finding setMuteUndefined(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs
    // to be created once, and can be reused for multiple requests.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder()
              .setName(findingPath)
              .setMute(Mute.UNDEFINED)
              .build();

      Finding finding = client.setMute(setMuteRequest);
      System.out.println(
          "Mute value for the finding " + finding.getName() + " is: " + finding.getMute());
      return finding;
    }
  }
}

השתקה או איפוס של כמה ממצאים קיימים

אפשר לבצע את הפעולות הבאות להשתקת מספר ממצאים קיימים בבת אחת באמצעות הפקודה gcloud scc findings bulk-mute ב-CLI של gcloud או באמצעות ה-method‏ bulkMute של Security Command Center API:

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

  • הסרת ביטול ההשתקה ממספר ממצאים קיימים. כשמסירים את ההגדרה לביטול ההשתקה של ממצא, מאפסים את מצב ההשתקה מ-MUTED (השתקה סטטית) או מ-UNMUTED (ביטול השתקה סטטי) ל-UNDEFINED. היכולת הזו יכולה להיות שימושית אם אתם עוברים מכללי השתקה סטטיים לכללי השתקה דינמיים.

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

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

לקוד לדוגמה שמשתיק ממצאים בכמות גדולה, ראו השתקת ממצאים בכמות גדולה.

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

המסוף

במסוף Google Cloud אפשר להשתיק כמות גדולה של ממצאים רק על ידי יצירת כללי השתקה. במסוףGoogle Cloud , יצירת כללי השתקה משתיקה ממצאים קיימים ועתידיים.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. כדי להשתיק או לאפס כמה ממצאים בבת אחת, מריצים את הפקודה gcloud scc findings bulk-mute:

    gcloud scc findings bulk-mute \
      --PARENT=PARENT_ID \
      --location=LOCATION \
      --filter="FILTER" \
      --mute-state=MUTE_STATE

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

    • PARENT: ההיקף בהיררכיית המשאבים שאליו חל כלל להשתקת ממצאים, organization, folder או project.
    • PARENT_ID: המזהה המספרי של הארגון, התיקייה או הפרויקט ברמת ההורה, או המזהה האלפאנומרי של הפרויקט ברמת ההורה.
    • LOCATION: המיקום של Security Command Center שבו רוצים להשתיק או לבטל את ההשתקה של הממצאים. אם מופעל מיקום אחסון הנתונים, צריך להשתמש ב-eu,‏ sa או us. אחרת, צריך להשתמש בערך global.
    • FILTER: הביטוי שאתם מגדירים כדי לסנן את הממצאים.

      לדוגמה, כדי להשתיק את כל הממצאים הקיימים ברמת חומרה נמוכה OPEN_FIREWALL וPUBLIC_IP_ADDRESS בפרויקט internal-test, המסנן יכול להיות "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

    • MUTE_STATE: הערך שמציין אם הממצא מושתק באופן סטטי או לא. הערכים התקינים הם MUTED ו-UNDEFINED. ערך ברירת המחדל הוא MUTED. מגדירים את הערך הזה ל-UNDEFINED רק אם מאפסים את מצב ההשתקה של כמה ממצאים קיימים.

REST

ב-API של Security Command Center, משתמשים בשיטה findings.bulkMute כדי להשתיק או לאפס את מצב ההשתקה של כמה ממצאים קיימים. גוף הבקשה מכיל את הביטוי שמשמש לסינון הממצאים:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/findings:bulkMute

{
  "filter": "FILTER",
  "muteState": "MUTE_STATE"
}

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

  • PARENT: משאב האב (organizations,‏ folders או projects).
  • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט.
  • LOCATION: המיקום של Security Command Center שבו רוצים להשתיק או לבטל את ההשתקה של הממצאים. אם מופעל מיקום אחסון הנתונים, צריך להשתמש ב-eu,‏ sa או us. אחרת, צריך להשתמש בערך global.
  • FILTER: הביטוי שאתם מגדירים כדי לסנן את הממצאים.

    לדוגמה, כדי להשתיק את כל הממצאים הקיימים ברמת חומרה נמוכה OPEN_FIREWALL וPUBLIC_IP_ADDRESS בפרויקט internal-test, המסנן יכול להיות "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

  • MUTE_STATE: הערך שמציין אם הממצא מושתק או לא. הערכים התקינים הם MUTED או UNDEFINED. ערך ברירת המחדל הוא MUTED. מגדירים את הערך הזה ל-UNDEFINED רק אם מאפסים את מצב ההשתקה של כמה ממצאים קיימים.

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

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

הצגת ממצאים שהושתקו במסוף Google Cloud

אפשר לראות את הממצאים שהושתקו ב Google Cloud מסוף על ידי עריכת שאילתת הממצאים כדי לבחור ממצאים שכוללים את ערך הנכס mute="MUTED".

לדוגמה, השאילתה הבאה של ממצאים מציגה רק ממצאים פעילים שהושבתו:

state="ACTIVE"
AND mute="MUTED"

כדי להציג את כל הממצאים הפעילים, גם אלה שהושתקו וגם אלה שלא הושתקו, משמיטים את המאפיין mute מהשאילתה לחלוטין:

state="ACTIVE"

כברירת מחדל, בשאילתת הממצאים במסוף Google Cloud מוצגים רק ממצאים שלא הושתקו.

הצגת ממצאים שהושתקו לפי סוג כלל להשתקת ממצאים

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

מידע נוסף על הצגת ממצאים ספציפיים מופיע במאמר בנושא סינון ממצאים.

ממצאים של שאילתות שהושתקו על ידי כללי השתקה סטטיים

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

state="ACTIVE" AND
muteInfo.staticMute.applyTime>=TIMESTAMP AND
muteInfo.staticMute.state="MUTED"

מחליפים את TIMESTAMP במחרוזת של התאריך והשעה שמציינת את תחילת התקופה שרוצים לשלוח לגביה שאילתה. מידע על פורמטים של שעות זמין במאמר gcloud topic datetimes.

השתקת ממצאים של שאילתות באמצעות כללי השתקה דינמיים

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

state="ACTIVE" AND
muteUpdateTime>=TIMESTAMP AND
contains(muteInfo.dynamicMuteRecords, muteConfig="PARENT_ID/muteConfigs/CONFIG_ID")

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

  • TIMESTAMP: מחרוזת של תאריך ושעה שמציינת את תחילת התקופה שרוצים לשלוח לגביה שאילתה. מידע על פורמטים של שעות זמין במאמר gcloud topic datetimes.
  • PARENT_ID: המזהה של ארגון האב, התיקייה או הפרויקט, שצוין בפורמט של organizations/123, folders/456 או projects/789.
  • CONFIG_ID: השם של כלל ההשתקה. המזהה צריך להכיל תווים אלפאנומריים ומקפים, והוא יכול לכלול בין תו אחד ל-63 תווים.

מידע נוסף על עריכת שאילתות של ממצאים זמין במאמר בנושא יצירה או עריכה של שאילתת ממצאים במרכז הבקרה.

הפסקה של ההתראות והייצוא של ממצאים מושתקים

אם מפעילים התראות על ממצאים, ממצאים חדשים או מעודכנים שהושתקו ומתאימים למסנני ההתראות עדיין מיוצאים ל-Pub/Sub.

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

FILTER="state=\"ACTIVE\" AND -mute=\"MUTED\""