‫HTTP v2

במאמר הזה מוסבר איך לשלב HTTP v2 עם מודול ה-SOAR של Google Security Operations ואיך לעבוד עם הפעולה Execute HTTP Request.

סקירה כללית

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

תהליכי אימות

בהתאם למוצר שאליו מתבצע אימות, HTTP v2 תומך בתהליכי האימות הבאים:

  • תהליך אימות בסיסי
  • זרימת מפתח API
  • תהליך אימות ייעודי

תהליך אימות בסיסי

בתהליך האימות הבסיסי, האימות מתבצע באמצעות הפרמטרים Test URL,‏ Basic Auth Username ו-Basic Auth Password.

זרימת מפתח API

בתהליך של מפתח API, האימות מתבצע באמצעות הפרמטרים Test URL,‏ API Key Field Name ו-API Key Field Value.

תהליך אימות ייעודי

בתהליך האימות הייעודי, נעשה שימוש באימות הדו-שלבי הבא:

  1. פעולה יוצרת אסימון גישה.

    כשמפעילים את הפעולה Ping או את הפעולה Execute HTTP Request, השילוב מאחזר את הפרמטרים שנדרשים לאימות.

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

תהליך האימות הייעודי דורש את פרמטרי השילוב הבאים:

  • Dedicated Auth API Request Method
  • Dedicated Auth API Request URL
  • Dedicated Auth API Request Headers
  • Dedicated Auth API Request Body
  • Dedicated Auth API Request Token Field Name

פרטים נוספים על פרמטרים של שילוב מופיעים במאמר שילוב HTTP v2 עם Google SecOps.

כדי להשתמש בטוקן מהתשובה, צריך לציין את שם המפתח בפרמטר Dedicated Auth API Request Token Field Name. בדוגמה הבאה של תגובה, שם המפתח הוא access_token:

{
   "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIO4",
   "expires_in": 1799,
   "token_type": "bearer"
}

כדי להחיל את הטוקן, השילוב דורש את ה-placeholder הייעודי הבא: {{integration.token}}. כשמספקים את ה-placeholder הזה במטען הייעודי (payload), השילוב משתמש בטוקן שנוצר.

אם המפתח access_token בתגובת ה-JSON מופיע כשהוא מוטמע, צריך לספק את המיקום המלא של האסימון לערך הפרמטר Dedicated Auth API Request Token Field Name. לדוגמה, במקום access_token צריך לספק את מפתח data_access_token לתגובה המקוננת, כמו בדוגמה הבאה:

{
   "data": {
       "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIZMI3DQAQsYibMpO4",
       "expires_in": 1799,
       "token_type": "bearer"
   }
}

בדוגמה הבאה מוצגת הבקשה לתהליך האימות הייעודי ל-Crowdstrike API:

POST /falconx/entities/submissions/v1 HTTP/1.1
Host: api.crowdstrike.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6
Content-Length: 209

{
   "sandbox": [{
       "sha256": "9854c9dfded29d8442499daba01082ba5d164aa02e44",
       "environment_id": 100,
       "submit_name": "filename.pdf"
   }]
}

בדוגמה נעשה שימוש בכותרת Authorization עם אסימון Bearer כדי לבצע אימות ל-API. כדי לאכלס את הכותרת במידע הנכון, השילוב של HTTP v2 דורש את הקלט הבא: Authorization: Bearer {{integration.token}}.

שילוב HTTP v2 עם Google SecOps

השילוב דורש את הפרמטרים הבאים:

פרמטר תיאור
Test URL אופציונלי

כתובת URL לבדיקה שמשמשת לאימות בסיסי או לתהליך אימות באמצעות מפתח API.

Basic Auth Username אופציונלי

פרמטר להוספה ככותרת אימות בסיסי לכל הפעלה של פעולה לצד הפרמטר סיסמה לאימות בסיסי.

צריך לספק את הפרמטרים Basic Auth Username (שם משתמש לאימות בסיסי) ו-Basic Auth Password (סיסמה לאימות בסיסי).

Basic Auth Password אופציונלי

פרמטר להוספה ככותרת אימות בסיסית לכל הפעלה של פעולה לצד הפרמטר Basic Auth Username.

צריך לספק את הפרמטרים Basic Auth Username (שם משתמש לאימות בסיסי) ו-Basic Auth Password (סיסמה לאימות בסיסי).

API Key Field Name אופציונלי

השם של הכותרת שמכילה את מפתח ה-API.

צריך לספק את הפרמטרים API Key Field Name ו-API Key Secret כדי להוסיף אותם לכל הפעלה של פעולה.

API Key Secret אופציונלי

ערך הסוד של מפתח ה-API.

צריך לספק את הפרמטרים API Key Field Name ו-API Key Secret כדי להוסיף אותם לכל הפעלה של פעולה.

Dedicated Auth API Request Method אופציונלי

השיטה שבה משתמשים בתהליך של API ייעודי לאימות כדי ליצור את אסימון הגישה.

ערך ברירת המחדל הוא POST.

Dedicated Auth API Request URL אופציונלי

בקשת ה-API לשימוש בתהליך הייעודי של API לאימות כדי ליצור את אסימון הגישה, כמו https://api.crowdstrike.com/oauth2/token.

Dedicated Auth API Request Headers אופציונלי

כותרות לשימוש בתהליך ייעודי של API לאימות כדי ליצור את אסימון הגישה.

מספקים כותרות כאובייקט JSON, כמו בדוגמה הבאה:

    {
    "Content-type": "application/x-www-form-urlencoded"
    }
    
Dedicated Auth API Request Body אופציונלי

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

    {
    "client_id": "CLIENT_ID",
    "client_secret": "CLIENT_SECRET"
    }
    
Dedicated Auth API Request Token Field Name
אופציונלי

שם השדה שמכיל את אסימון הגישה שנוצר. כדי להשתמש באסימון הגישה בפעולות, משתמשים בערך ה-placeholder הבא: {{integration.token}}.

התשובה ליצירת טוקן משתמשת בקו תחתון (_) כמפריד.

CA Certificate אופציונלי

אישור רשות האישורים (CA) שבו יש להשתמש כדי לאמת את החיבור המאובטח.

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

הפרמטר הזה מקבל את אישור ה-CA בצורה של מחרוזת בקידוד Base64.

Verify SSL חובה

אם האפשרות הזו מסומנת, המערכת בודקת שאישור ה-SSL של כל חיבורי השילוב תקף.

האפשרות הזו מסומנת כברירת מחדל.

הוראות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.

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

פעולות

השילוב של HTTP v2 כולל את הפעולות הבאות:

ביצוע בקשת HTTP

משתמשים בפעולה Execute HTTP Request כדי ליצור ולהפעיל בקשת API מותאמת אישית מול כתובת URL של יעד.

הפעולה הזו לא מופעלת על ישויות ב-Google SecOps.

התנהגות הפעולה

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

דגימה אסינכרונית

כשמספקים את Expected Response Values, הפעולה פועלת במצב אסינכרוני. במצב הזה, הפעולה מבצעת שוב ושוב שאילתות לנקודת הקצה של היעד כדי לעקוב אחרי מצב התגובה (לדוגמה, המתנה לסיום של משימה ממושכת).

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

לוגיקת התנאים

הפעולה תומכת בלוגיקה הבאה למעקב אחרי מצבי תגובה:

  • התאמה לשדה יחיד: הפעולה ממתינה עד ששדה ספציפי יגיע לערך יחיד.

    {
      "state": "finished"
    }
    
  • ערכים מרובים (לוגיקת OR): הפעולה מפסיקה את ההרצה אם שדה תואם לאחד מהערכים ברשימה שסופקה. האפשרות הזו שימושית כדי לעצור במצבים של הצלחה ושל שגיאה, וכך למנוע סקרים מיותרים.

    {
      "state": ["finished", "error"]
    }
    
  • שדות מרובים (לוגיקת AND): הפעולה ממתינה עד שכל השדות שצוינו יתאימו לערכים שלהם בו-זמנית.

    {
      "state": "finished",
      "percentage": "100"
    }
    
  • לוגיקה משולבת: אפשר לשלב כמה תנאים באובייקט JSON.

    {
      "state": ["finished", "error"],
      "percentage": "10"
    }
    
התנהגות בניתוח JSON

כשמעריכים תנאים, הפעולה מתבצעת לפי הכללים הבאים:

  • חיפוש גלובלי: הפעולה מחפשת את המפתחות שצוינו בכל אובייקט התגובה בפורמט JSON. צריך לספק את שם המפתח בדיוק כמו שהוא מופיע ב-JSON, בלי להוסיף לפניו שמות של אובייקטים הוריים או להשתמש בקידומות (לדוגמה, צריך להשתמש ב-"state" ולא ב-"data_state" או ב-"data-state").

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

    לדוגמה, כדי לחפש את המצב finished בתגובת ה-JSON ולהתעלם ממצבים אחרים, צריך להגדיר את כל המפתחות state ב-Expected Response Values לערך finished:

    {
    "data": {
      "state": "finished"
      },
      "state": "finished"
    }
    
יצירת מטען ייעודי (payload) של גוף הבקשה

הפעולה יוצרת את גוף הבקשה על סמך הכותרת Content-Type שצוינה ב-Headers.

זהו הקלט Body Payload שמשמש בדוגמאות הבאות של בנייה:

{
  "Id": "123123",
  "sorting": "asc"
}
  • application/x-www-form-urlencoded: הפעולה יוצרת את מטען הייעודי (payload) בתור Id=123123&sorting=asc.

  • application/json: הפעולה יוצרת את מטען ה-JSON הייעודי (payload) הבא:

    {
      "Id": "123123",
      "sorting": "asc"
    }
    
  • XML: אם המוצר של צד שלישי דורש XML, צריך לספק קלט בפורמט XML ישירות ב-Body Payload:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)">
    <soap:Body>
      <NumberToWords xmlns="[http://www.dataaccess.com/webservicesserver/](http://www.dataaccess.com/webservicesserver/)">
        <ubiNum>500</ubiNum>
      </NumberToWords>
    </soap:Body>
    </soap:Envelope>
    
טיפול בקבצים

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

  • הורדת קבצים:

    • כדי להחזיר נתוני קובץ כחלק מתוצאת ה-JSON בפורמט base64, בוחרים באפשרות Base64 Output.

    • כדי לשמור קובץ ישירות ב-Case Wall כארכיון ZIP, בוחרים באפשרות Save To Case Wall.

  • העלאת קבצים: כדי להעלות קובץ, צריך להמיר אותו למחרוזת בקידוד Base64 ולכלול אותו כחלק מהערך Body Payload.

    בדוגמה הבאה מוצג קובץ תמונה שהומר למחרוזת מקודדת ב-Base64:

    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
    
  • אבטחה: לקבצים רגישים (כמו תוכנות זדוניות), בוחרים באפשרות Password Protect Zip. הפעולה הזו מצפינה באופן אוטומטי את ארכיון ה-ZIP שנשמר ונוצר באמצעות Save To Case Wall עם הסיסמה infected.

הגדרת בלוקים ב-Playbook

ההגדרה הבאה מדגימה איך להשתמש בפעולה Execute HTTP Request בתוך בלוק של playbook. הדוגמה הזו תעזור לכם להבין איך להשתמש במחזיקי מקום ובקידומות קלט.

כשמשתמשים בבלוקים של קלט כערכי placeholder, צריך לכלול את הקידומת Input. (לדוגמה, [Input.comment]).

  • Method: ‏ PUT

  • נתיב כתובת ה-URL:

    https://{API_URL}/[Input.table_name]/[Input.sys_id]
    
  • כותרות:

    {
      "Content-type": "application/json; charset=utf-8",
      "Accept": "application/json",
      "User-Agent": "GoogleSecops"
    }
    
  • מטען ייעודי (payload) של גוף הבקשה:

    {
      "work_notes": "[Input.comment]"
    }
    

הוספת נתונים לפעולה

הפעולה Execute HTTP Request (ביצוע בקשת HTTP) מחייבת את הפרמטרים הבאים:

פרמטר תיאור
Method
אופציונלי

השיטה שבה רוצים להשתמש בבקשה.

ערך ברירת המחדל הוא GET.

הערכים האפשריים הם:
  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • HEAD
  • OPTIONS
URL Path
אופציונלי

כתובת ה-URL להרצה.

URL Params אופציונלי

הפרמטרים של כתובת ה-URL.

הפעולה משתמשת בכל ערך שמופיע לצד הערכים שמופיעים ישירות בפרמטר URL Path.

לדוגמה, המחרוזת ?parameter=value&sorting=asc בקצה העורפי מציינת שהקלט הוא:
    {
    "parameter": "value",
    "sorting": "asc"
    }
    

הפרמטר הזה מחייב קלט בפורמט אובייקט JSON. ערך ברירת המחדל הוא:

{
    "URL Field Name": "URL_FIELD_VALUE"
    }
Headers
אופציונלי

כותרות לשימוש בבקשת HTTP.

לדוגמה, בקשת HTTP עם הכותרות Accept ו-User-Agent דורשת את הקלט הבא:

    {
    "Accept": "application/json",
    "User-Agent": "Google Secops"
    }
    

הפרמטר הזה מחייב קלט בפורמט אובייקט JSON. ערך ברירת המחדל הוא:

{
    "Content-Type": "application/json; charset=utf-8",
    "Accept": "application/json",
    "User-Agent" : "GoogleSecOps"
    }
Cookie אופציונלי

הפרמטרים שבהם צריך להשתמש בכותרת Cookie.

הפרמטר הזה מחליף את קובץ ה-Cookie שמופיע בפרמטר Headers.

לדוגמה, כדי לכלול כותרת Cookie עם הערך PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43;, בקשת ה-HTTP צריכה לכלול את הקלט הבא:

    {
    "PHPSESSID": "298zf09hf012fh2",
    "csrftoken": "u32t4o3tb3gg43"
    }
    

הפרמטר הזה מחייב קלט בפורמט אובייקט JSON. ערך ברירת המחדל הוא:

{
    "Cookie_1": "COOKIE_1_VALUE"
    }
Body Payload
אופציונלי

גוף בקשת ה-HTTP. הפעולה יוצרת מטען ייעודי שונה בהתאם לערך הכותרת Content-Type שצוין בפרמטר Headers.

הפרמטר הזה מחייב קלט בפורמט אובייקט JSON, אלא אם מוצר של צד שלישי מחייב תוכן בפורמט XML או multipart/form-data. אם שולחים או מעלים קובץ באמצעות בקשת ה-API, צריך לספק את הגרסה של הקובץ שמקודדת ב-base64 בפרמטר Body Payload ולהגדיר את הכותרת ל-"Content-type": "multipart/form-data".

ערך ברירת המחדל הוא:

{
    "Body Field Name": "BODY_FIELD_VALUE"
    }
Expected Response Values

זה שינוי אופציונלי.

אובייקט JSON שמכיל את צמדי השדה-ערך שמגדירים את המצב הנדרש של גוף התגובה.

Save To Case Wall
אופציונלי

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

האפשרות הזו לא מסומנת כברירת מחדל.

Password Protect Zip
אופציונלי

אם בוחרים באפשרות הזו, הפעולה מוסיפה סיסמה לקובץ .zip שנוצר באמצעות הפרמטר Save To Case Wall. הסיסמה היא: infected.

משתמשים בפרמטר הזה כשעובדים עם קבצים חשודים.

האפשרות הזו מסומנת כברירת מחדל.

Follow Redirects אופציונלי

אם בוחרים באפשרות הזו, הפעולה מתבצעת אחרי ההפניות האוטומטיות.

האפשרות הזו מסומנת כברירת מחדל.

Fail on 4xx/5xx אופציונלי

אם האפשרות הזו נבחרה, הפעולה תיכשל אם קוד הסטטוס של התגובה הוא שגיאות 4xx או 5xx.

האפשרות הזו מסומנת כברירת מחדל.

Base64 Output
אופציונלי

אם בוחרים באפשרות הזו, הפעולה ממירה את התשובה לפורמט base64.

משתמשים בפרמטר הזה כשמורידים קבצים.

התוצאה בפורמט JSON לא יכולה להיות גדולה מ-15MB.

האפשרות הזו לא מסומנת כברירת מחדל.

Fields To Return חובה

השדות שיוחזרו. הערכים שאפשר לבחור הם:

  • response_data
  • redirects
  • response_code
  • response_cookies
  • response_headers
  • apparent_encoding
Request Timeout חובה

כמות הזמן להמתנה עד שהשרת ישלח נתונים לפני שהפעולה תיכשל.

ערך ברירת המחדל הוא 120 שניות.

פלט של פעולות

הפעולה Execute HTTP Request (ביצוע בקשת HTTP) מספקת את הפלטים הבאים:

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

בדוגמה הבאה מתואר פלט של תוצאת JSON שמתקבלת כשמשתמשים בפעולה Execute HTTP Request (ביצוע בקשת HTTP):

{
   "response_data": {
       "data": {
           "relationships": {
               "comment": [
                   {
                       "name": "item",
                       "description": "Object to which the comment belongs to."
                   },
                   {
                       "name": "author",
                       "description": "User who wrote the comment."
                   }
               ]
           }
       }
   },
   "redirects": [],
   "response_code": 200,
   "cookies": {},
   "response_headers": {
       "Content-Type": "application/json",
       "X-Cloud-Trace-Context": "1ca450b35c66634a2ae01248cca50b19",
       "Date": "Fri, 03 Nov 2023 16:14:13 GMT",
       "Server": "Google Frontend",
       "Content-Length": "36084"
   },
   "apparent_encoding": "ascii"
}
הודעות פלט

ב-Case Wall, הפעולה Execute HTTP Request מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה

Successfully executed API request.

Successfully executed API request, but status code STATUS_CODE was in response.

הפעולה הסתיימה בהצלחה.

Failed to execute API request. Error: ERROR_REASON

Failed to execute API request. Error: Invalid parameter "PARAMETER_NAME".

The JSON structure is invalid. Wrong value provided: VALUE

הפעולה נכשלה.

בודקים את החיבור לשרת, את פרמטרי הקלט, את הערך של קובץ ה-JSON או את פרטי הכניסה.

תוצאת סקריפט

בטבלה הבאה מפורטים הערכים של פלט תוצאות הסקריפט כשמשתמשים בפעולה Execute HTTP Request (הפעלת בקשת HTTP):

שם התוצאה של הסקריפט ערך
is_success True או False

פינג

אפשר להשתמש בפעולה הזו כדי לבדוק את הקישוריות.

הוספת נתונים לפעולה

אין.

פלט של פעולות

הפעולה Ping מספקת את הפלט הבא:

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

ב-Case Wall, הפעולה Ping מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully tested connectivity. הפעולה הסתיימה בהצלחה.
Failed to test connectivity.

הפעולה נכשלה.

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

תוצאת סקריפט

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

שם התוצאה של הסקריפט ערך
is_success True או False

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.