שילוב עם Google Cloud Armor לאתרים

במאמר הזה מוסבר איך לשלב את reCAPTCHA עם Cloud Armor באתרים.

כדי להשלים את השילוב, צריך להטמיע תכונה אחת או יותר של reCAPTCHA for Cloud Armor ולהגדיר כללי מדיניות אבטחה של Cloud Armor.

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

  1. מפעילים את reCAPTCHA Enterprise API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  2. תכננו איך אתם רוצים להטמיע את התכונות של reCAPTCHA for Cloud Armor כדי להגן על האתר שלכם.

    1. בוחרים תכונה אחת או יותר של WAF שמתאימה לתרחיש השימוש שלכם.
    2. מזהים את הדפים שרוצים להגן עליהם ואת סוג התכונה של Cloud Armor שרוצים להטמיע בדפים האלה.

הטמעה של תכונות reCAPTCHA ב-Cloud Armor

בהתאם לדרישות שלכם, אתם יכולים להשתמש בתכונה אחת או יותר של reCAPTCHA for Cloud Armor באפליקציה אחת.

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

הטמעה של טוקנים של פעולות reCAPTCHA

כדי ליצור טוקנים של פעולות, צריך להפעיל את reCAPTCHA בדפי האינטרנט. אחרי שמערכת reCAPTCHA יוצרת טוקן פעולה, אתם מצרפים אותו לכותרת בקשה מוגדרת מראש בכל מקום שבו אתם צריכים להגן על פעולת משתמש, כמו checkout. כברירת מחדל, אסימוני פעולה תקפים למשך 30 דקות, אבל יכול להיות שהתוקף שלהם יהיה שונה בהתאם לתנועה. כדי ש-Cloud Armor יוכל להעריך את מאפייני הטוקן, צריך לצרף את טוקן הפעולה לכותרת בקשה מוגדרת מראש לפני שהתוקף של הטוקן יפוג.

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

  1. יוצרים מפתח של טוקן פעולה לאתר.

    מסוף Cloud

    1. נכנסים לדף Google Cloud Fraud Defense במסוף Google Cloud .

      כניסה אל Google Cloud Fraud Defense

    2. מוודאים ששם הפרויקט מופיע בבורר המשאבים בחלק העליון של הדף.

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

    3. לוחצים על הכרטיסייה Keys.
    4. לוחצים על Create key.
    5. בשדה שם לתצוגה, מזינים שם לתצוגה של המפתח.
    6. בהתאם לפלטפורמה שעבורה רוצים ליצור מפתחות reCAPTCHA ל-WAF, מבצעים את הפעולה המתאימה:
      1. ב-Application type בוחרים באפשרות Web.

        יופיע הקטע Domain list (רשימת הדומיינים).

      2. כדי להגן על מפתח ה-reCAPTCHA של הדומיין ותת-הדומיינים, מוודאים שהמתג השבתת אימות הדומיין מושבת.

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

      3. מזינים את שם הדומיין של האתר:

        1. בקטע רשימת הדומיינים, לוחצים על הוספת דומיין.
        2. בשדה דומיין, מזינים את שם הדומיין.
        3. אופציונלי: כדי להוסיף עוד דומיין, לוחצים על הוספת דומיין ומזינים את השם של דומיין נוסף בשדה דומיין. אפשר להוסיף עד 250 דומיינים.

          באתרים, מפתח ה-reCAPTCHA הוא ייחודי לדומיינים ולתתי-הדומיינים שאתם מציינים. אפשר לציין יותר מדומיין אחד אם האתר שלכם מוגש מכמה דומיינים. אם מציינים דומיין (לדוגמה, examplepetstore.com), לא צריך לציין את תת-הדומיינים שלו (לדוגמה, subdomain.examplepetstore.com).

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

      6. אופציונלי: מפעילים את המתג האם תשתמש באתגרים?.

      7. לוחצים על Create key.
      8. המפתח החדש שנוצר מופיע בדף מפתחות reCAPTCHA.

    gcloud

    כדי ליצור מפתחות reCAPTCHA, משתמשים בפקודה gcloud recaptcha keys create.

    לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

    • INTEGRATION_TYPE: סוג השילוב. מציינים score או checkbox.
    • DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
    • DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.

      אפשר לציין כמה דומיינים כרשימה שמופרדת באמצעות פסיקים. אופציונלי: מציינים --allow-all-domains כדי להשבית את אימות הדומיין.

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

    • WAF_FEATURE: השם של התכונה ב-WAF. מציינים את action-token.
    • WAF_SERVICE: השם של ספק שירותי ה-WAF. מציינים את CA ל-Cloud Armor.

    מריצים את הפקודה gcloud recaptcha keys create:

    ‫Linux,‏ macOS או Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    ‏Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows‏ (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

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

    REST

    למידע על סוגי מפתחות וסוגי שילובים, אפשר לעיין במאמרים בנושא מפתח וסוג שילוב.

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • INTEGRATION_TYPE: סוג השילוב. מציינים score או checkbox.