1. מבוא
איזון העומסים של HTTP(S) ב-Google Cloud נפרס בקצה הרשת של Google בנקודות נוכחות (POP) של Google ברחבי העולם. תעבורת נתונים של משתמש שמנותבת למאזן עומסים מסוג HTTP(S) נכנסת ל-POP שהכי קרוב למשתמש, ואז מתבצע איזון עומסים ברשת הגלובלית של Google עד להגעה לקצה העורפי הכי קרוב שיש בו מספיק קיבולת פנויה.
Cloud Armor היא מערכת של Google לזיהוי מתקפות מניעת שירות (DDoS) וחומת אש ליישומי אינטרנט (WAF). Cloud Armor משולב באופן הדוק עם מאזן העומסים של HTTP ב-Google Cloud ומגן על אפליקציות של לקוחות Google Cloud מפני מתקפות מהאינטרנט. reCAPTCHA Enterprise הוא שירות שמגן על האתר מפני ספאם וניצול לרעה. הוא מבוסס על reCAPTCHA API הקיים, שמשתמש בטכניקות מתקדמות לניתוח סיכונים כדי להבחין בין בני אדם לבין בוטים. הפתרון Cloud Armor Bot Management מספק פתרון מקצה לקצה שמשלב זיהוי בוטים ודירוג של reCAPTCHA Enterprise עם אכיפה של Cloud Armor בקצה הרשת, כדי להגן על אפליקציות במורד הזרם.
בשיעור ה-Lab הזה תגדירו מאזן עומסים מסוג HTTP עם קצה עורפי, כמו שמוצג בתרשים שלמטה. לאחר מכן, תלמדו איך להגדיר מפתח אתר של טוקן סשן reCAPTCHA ולהטמיע אותו באתר. בנוסף, תלמדו איך להגדיר הפניה אוטומטית לאתגר ידני של reCAPTCHA Enterprise. לאחר מכן נגדיר מדיניות לניהול בוטים ב-Cloud Armor כדי להראות איך זיהוי בוטים מגן על האפליקציה מפני תנועת בוטים זדונית.

מה תלמדו
- איך מגדירים מאזן עומסים מסוג HTTP עם בדיקות תקינות מתאימות.
- איך ליצור מפתח אתר של דף אתגר WAF של reCAPTCHA ולשייך אותו לכללי מדיניות האבטחה של Cloud Armor.
- איך יוצרים מפתח אתר של טוקן סשן reCAPTCHA ומתקינים אותו בדפי האינטרנט.
- איך יוצרים מדיניות לניהול בוטים ב-Cloud Armor.
- איך מוודאים שמדיניות ניהול הבוטים מטפלת בתנועה על סמך הכללים שהוגדרו.
מה תצטרכו
- ידע בסיסי ברשתות ו-HTTP
- ידע בסיסי בשורת הפקודה של Unix/Linux
2. הגדרה ודרישות
הגדרת סביבה בקצב אישי
- נכנסים ל-מסוף Google Cloud ויוצרים פרויקט חדש או משתמשים בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או Google Workspace, אתם צריכים ליצור חשבון.



- שם הפרויקט הוא השם המוצג של הפרויקט הזה למשתתפים. זו מחרוזת של תווים שלא נמצאת בשימוש ב-Google APIs, ואפשר לעדכן אותה בכל שלב.
- מזהה הפרויקט חייב להיות ייחודי בכל הפרויקטים ב-Google Cloud, והוא קבוע (אי אפשר לשנות אותו אחרי שמגדירים אותו). מסוף Cloud יוצר באופן אוטומטי מחרוזת ייחודית. בדרך כלל לא צריך להתייחס אליה. ברוב סדנאות ה-Codelab, צריך להפנות למזהה הפרויקט (ובדרך כלל הוא מזוהה כ-
PROJECT_ID), אז אם לא מוצא חן בעיניכם, אפשר ליצור מזהה אקראי אחר, או לנסות מזהה משלכם ולבדוק אם הוא זמין. אחרי שהפרויקט נוצר, הוא 'קפוא'. - יש ערך שלישי, מספר פרויקט, שחלק מממשקי ה-API משתמשים בו. במאמרי העזרה מפורט מידע נוסף על שלושת הערכים האלה.
- בשלב הבא, תצטרכו להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבי Cloud או בממשקי API. העלות של התרגול הזה לא אמורה להיות גבוהה, ואולי אפילו לא תצטרכו לשלם בכלל. כדי לכבות את המשאבים ולא לחייב אתכם מעבר למה שמוסבר במדריך הזה, צריך לפעול לפי ההוראות לניקוי שמופיעות בסוף ה-Codelab. משתמשים חדשים ב-Google Cloud זכאים לתוכנית תקופת ניסיון בחינם בשווי 300$.
מפעילים את Cloud Shell
אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל ב-codelab הזה תשתמשו ב-Google Cloud Shell, סביבת שורת פקודה שפועלת בענן.
ב-GCP Console, לוחצים על סמל Cloud Shell בסרגל הכלים שבפינה הימנית העליונה:

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

המכונה הווירטואלית הזו כוללת את כל הכלים שדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את הביצועים והאימות ברשת. אפשר לבצע את כל העבודה ב-Lab הזה רק באמצעות דפדפן.
לפני שמתחילים
ב-Cloud Shell, מוודאים שמזהה הפרויקט מוגדר
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
הפעלת ממשקי API
הפעלת כל השירותים הנדרשים
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable recaptchaenterprise.googleapis.com
3. הגדרת כללים של חומת אש שמאפשרים תעבורת נתונים מסוג HTTP ו-SSH אל השרתים העורפיים
מגדירים כללי חומת אש שמאפשרים תעבורת HTTP אל השרתים העורפיים מבדיקות התקינות של Google Cloud וממאזן העומסים. בנוסף, מגדירים כלל חומת אש שמאפשר SSH למכונות.
נשתמש ברשת ה-VPC default שנוצרה בפרויקט. יוצרים כלל חומת אש שמאפשר תעבורת HTTP אל השרתים העורפיים. בדיקות תקינות קובעות אילו מופעים של מאזן עומסים יכולים לקבל חיבורים חדשים. באיזון עומסים של HTTP, בדיקות התקינות של המופעים המאוזנים מגיעות מכתובות בטווחים 130.211.0.0/22 ו-35.191.0.0/16. כללי חומת האש ב-VPC צריכים לאפשר את החיבורים האלה. בנוסף, מאזני העומסים מתקשרים עם הבק-אנד באותו טווח כתובות IP.
- ב-Cloud Console, עוברים אל תפריט הניווט (
) > רשת VPC > Firewall.

- שימו לב לכללים הקיימים של חומת האש: ICMP, internal, RDP ו-SSH.כל פרויקט בענן ב-Google Cloud מתחיל עם רשת ברירת המחדל ועם הכללים האלה של חומת האש.
- לוחצים על יצירת כלל לחומת האש.
- מגדירים את הערכים הבאים ומשאירים את הערכים האחרים בברירת המחדל:
נכס | ערך (מקלידים ערך או בוחרים אפשרות כמפורט) |
שם | default-allow-health-check |
רשת | ברירת מחדל |
יעדים | תגי יעד שצוינו |
תגי טירגוט | allow-health-check |
מסנן מקור | טווחי כתובות IP |
טווח כתובות ה-IP של המקור | 130.211.0.0/22, 35.191.0.0/16 |
פרוטוקולים ויציאות | מציינים את הפרוטוקולים והיציאות ואז מסמנים את tcp. מזינים 80 כמספר היציאה |
- לוחצים על יצירה.
לחלופין, אם אתם משתמשים בשורת הפקודה gcloud. זו הפקודה –
gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check
- באופן דומה, יוצרים כלל חומת אש שמאפשר חיבור SSH למכונות –
gcloud compute firewall-rules create allow-ssh --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0 --target-tags=allow-health-check
4. הגדרה של תבניות של מכונות וליצור קבוצות של מופעי מכונה מנוהלים
קבוצת מופעי מכונה מנוהלים משתמשת בתבנית של הגדרות מכונה כדי ליצור קבוצה של מופעים זהים. משתמשים בהם כדי ליצור את הקצה העורפי של מאזן העומסים של HTTP.
הגדרת תבניות של מכונות
תבנית של הגדרות מכונה היא משאב שמשמש ליצירת מופעי VM וקבוצות מופעי מכונה מנוהלים. תבניות של מכונות מגדירות את סוג המכונה, את תמונת דיסק האתחול, את רשת המשנה, את התוויות ומאפיינים אחרים של המכונה. יוצרים תבנית של הגדרות מכונה כמו שמצוין בהמשך.
- ב-Cloud Console, עוברים אל תפריט הניווט (
) > Compute Engine > Instance templates (תבניות של הגדרות מכונה), ואז לוחצים על Create instance template (יצירת תבנית של הגדרות מכונה). - בשדה Name (שם), מקלידים lb-backend-template.
- בקטע Series (סדרה), בוחרים באפשרות N1.
- לוחצים על Networking, Disks, Security, Management , Sole-Tenancy.

- עוברים לקטע ניהול ומזינים את הסקריפט הבא בשדה סקריפט לטעינה בזמן ההפעלה.
#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" sudo echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html
- לוחצים על הכרטיסייה Networking (רשת), מוסיפים את תגי הרשת: allow-health-check
- מגדירים את הערכים הבאים ומשאירים את הערכים האחרים בברירת המחדל:
נכס | ערך (מקלידים ערך או בוחרים אפשרות כמפורט) |
רשת (בקטע Network Interfaces) | ברירת מחדל |
רשת משנה (בקטע Network Interfaces) | ברירת מחדל (us-east1) |
תגים של רשתות | allow-health-check |
- לוחצים על יצירה.
- ממתינים ליצירת תבנית של הגדרות מכונה.
יצירת קבוצת מופעי מכונה מנוהלים
- עדיין בדף Compute Engine, לוחצים על Instance groups (קבוצות של מופעים) בתפריט שמימין.

- לוחצים על יצירת קבוצת מופעים. בוחרים באפשרות קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב).
- מגדירים את הערכים הבאים ומשאירים את הערכים האחרים בברירת המחדל:
נכס | ערך (מקלידים ערך או בוחרים אפשרות כמפורט) |
שם | lb-backend-example |
מיקום | אזור יחיד |
אזור | us-east1 |
תחום (zone) | us-east1-b |
תבנית של הגדרות מכונה | lb-backend-template |
התאמה אוטומטית לעומס (Automatic scaling) | לא להשתמש בהתאמת קנה מידה אוטומטית |
מספר המופעים | 1 |
- לוחצים על יצירה.
הוספת יציאה עם שם לקבוצת המופעים
מגדירים שירות HTTP לקבוצת המופעים וממפים שם של יציאה ליציאה הרלוונטית. שירות איזון העומסים מעביר את התנועה ליציאה שצוינה.
gcloud compute instance-groups set-named-ports lb-backend-example \
--named-ports http:80 \
--zone us-east1-b
5. הגדרת מאזן עומסים מסוג HTTP
מגדירים את מאזן העומסים של HTTP לשליחת תעבורה לקצה העורפי lb-backend-example:
התחלת ההגדרה
- ב-Cloud Console, לוחצים על תפריט הניווט (
) > Network Services > Load balancing, ואז לוחצים על Create load balancer. - בקטע HTTP(S) Load Balancing, לוחצים על Start configuration.

- בוחרים באפשרות From Internet to my VMs, Classic HTTP(S) Load Balancer ולוחצים על Continue.
- מגדירים את Name לערך http-lb.
הגדרת הקצה העורפי
שירותים לקצה העורפי מפנים תנועה נכנסת לקצה עורפי אחד או יותר שמצורפים אליהם. כל קצה עורפי מורכב מקבוצת מכונות וממטא-נתונים נוספים של קיבולת ההגשה.
- לוחצים על Backend configuration.
- בקטע שירותי קצה עורפי וקטגוריות קצה עורפי לוחצים על יצירת שירות קצה עורפי.
- מגדירים את הערכים הבאים ומשאירים את הערכים האחרים בברירת המחדל:
נכס | ערך (בוחרים אפשרות כמפורט) |
שם | http-backend |
פרוטוקול | HTTP |
יציאה עם שם | htp |
קבוצת מופעים | lb-backend-example |
לנייד מספרים | 80 |
- לוחצים על סיום.
- לוחצים על הוספת קצה עורפי.
- בקטע בדיקת תקינות, בוחרים באפשרות יצירת בדיקת תקינות.

- מגדירים את הערכים הבאים ומשאירים את הערכים האחרים בברירת המחדל:
נכס | ערך (בוחרים אפשרות כמפורט) |
שם | http-health-check |
פרוטוקול | TCP |
יציאה | 80 |

- לוחצים על שמירה.
- מסמנים את התיבה הפעלת רישום ביומן.
- מגדירים את Sample Rate (שיעור הדגימה) ל-1:

- לוחצים על Create כדי ליצור את שירות לקצה העורפי.

הגדרת הקצה הקדמי
הכללים לגבי המארח והנתיב קובעים לאן התנועה תופנה. לדוגמה, אפשר להפנות תנועה של סרטונים לעורף אחד ותנועה סטטית לעורף אחר. עם זאת, בשיעור ה-Lab הזה לא מגדירים את הכללים של המארח והנתיב.
- לוחצים על Frontend configuration.
- מציינים את הערכים הבאים ומשאירים את הערכים האחרים בברירת המחדל:
נכס | ערך (מקלידים ערך או בוחרים אפשרות כמפורט) |
פרוטוקול | HTTP |
גרסת IP | IPv4 |
כתובת IP | זמנית |
יציאה | 80 |
- לוחצים על סיום.
בדיקה ויצירה של מאזן עומסים מסוג HTTP
- לוחצים על בדיקה וסיום.

- בודקים את שירותי הקצה העורפי והקצה הקדמי.
- לוחצים על Create.
- מחכים עד שמאזן העומסים נוצר.
- לוחצים על השם של מאזן העומסים (http-lb).
- שימו לב לכתובת ה-IPv4 של מאזן העומסים לקראת המשימה הבאה. נתייחס אליו בתור [LB_IP_v4].
6. בדיקת מאזן העומסים ב-HTTP
אחרי שיוצרים את מאזן העומסים ב-HTTP עבור הקצה העורפי, צריך לוודא שהתנועה מועברת לשירות הקצה העורפי. כדי לבדוק את הגישה ל-IPv4 של מאזן העומסים של HTTP, פותחים כרטיסייה חדשה בדפדפן ועוברים אל http://[LB_IP_v4]. חשוב להקפיד להחליף את [LB_IP_v4] בכתובת ה-IPv4 של מאזן העומסים.
7. יצירה ופריסה של טוקן סשן reCAPTCHA ומפתח אתר של דף אתגר
שילוב של reCAPTCHA Enterprise עם WAF ו-Google Cloud Armor מציע את התכונות הבאות: דף אתגר reCAPTCHA, טוקנים של פעולות reCAPTCHA וטוקנים של סשנים ב-reCAPTCHA. בשיעור ה-Lab הזה נטמיע מפתח אתר של טוקן סשן reCAPTCHA ודף אתגר של reCAPTCHA WAF.
יצירת טוקן לסשן reCAPTCHA ו מפתח אתר של דף אתגר ב-WAF
לפני שיוצרים את מפתח האתר של טוקן הסשן ואת מפתח האתר של דף האתגר, צריך לוודא שהפעלתם את reCAPTCHA Enterprise API כמו שמוסבר בקטע 'הפעלת ה-API' בתחילת המאמר.
אחרי הבדיקה, קוד ה-JavaScript של reCAPTCHA מגדיר אסימון סשן של reCAPTCHA כקובץ Cookie בדפדפן של משתמש הקצה. הדפדפן של משתמש הקצה מצרף את קובץ ה-Cookie ומרענן אותו כל עוד ה-JavaScript של reCAPTCHA פעיל.
- יוצרים את מפתח האתר של טוקן הסשן של reCAPTCHA ומפעילים את התכונה WAF עבור המפתח. בנוסף, נגדיר את שירות ה-WAF ל-Cloud Armor כדי להפעיל את השילוב של Cloud Armor.
gcloud recaptcha keys create --display-name=test-key-name \ --web --allow-all-domains --integration-type=score --testing-score=0.5 \ --waf-feature=session-token --waf-service=ca
- הפלט של הפקודה שלמעלה יציג את המפתח שנוצר. חשוב לשים לב לשם הזה, כי בשלב הבא נוסיף אותו לאתר.
- יוצרים מפתח אתר של דף אתגר reCAPTCHA WAF ומפעילים את תכונת ה-WAF עבור המפתח. אתם יכולים להשתמש בתכונה 'דף אתגר reCAPTCHA' כדי להפנות בקשות נכנסות אל reCAPTCHA Enterprise, כדי לקבוע אם כל בקשה היא הונאה פוטנציאלית או בקשה לגיטימית. בהמשך נשייך את המפתח הזה למדיניות האבטחה של Cloud Armor כדי להפעיל את האתגר הידני. בהמשך השלבים נתייחס למפתח הזה כ-CHALLENGE-PAGE-KEY.
gcloud recaptcha keys create --display-name=challenge-page-key \ --web --allow-all-domains --integration-type=INVISIBLE \ --waf-feature=challenge-page --waf-service=ca
- עוברים אל תפריט הניווט (
) > אבטחה > reCAPTCHA Enterprise. המפתחות שיצרתם אמורים להופיע בקטע Enterprise Keys (מפתחות Enterprise) –

הטמעה של מפתח אתר של אסימון סשן reCAPTCHA
- מנווטים אל תפריט הניווט (
) > Compute Engine > VM Instances. מאתרים את המכונה הווירטואלית בקבוצת המופעים ומתחברים אליה באמצעות SSH.

- עוברים לספריית הבסיס של שרת האינטרנט ומשנים את המשתמש ל-root –
@lb-backend-example-4wmn:~$ cd /var/www/html/ @lb-backend-example-4wmn:/var/www/html$ sudo su
- מעדכנים את דף הנחיתה index.html ומטמיעים את מפתח האתר של טוקן הסשן של reCAPTCHA. מפתח האתר של טוקן הסשן מוגדר בקטע head של דף הנחיתה, כמו בדוגמה הבאה:
<script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script>
חשוב להחליף את הטוקן לפני שמעדכנים את הקובץ index.html כמו שמוסבר בהמשך –
root@lb-backend-example-4wmn:/var/www/html# echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script></head><body><h1>Main Page</h1><p><a href="/good-score.html">Visit allowed link</a></p><p><a href="/bad-score.html">Visit blocked link</a></p><p><a href="/median-score.html">Visit redirect link</a></p></body></html>' > index.html
- יוצרים עוד שלושה דפים לדוגמה כדי לבדוק את כללי המדיניות לניהול בוטים –
- good-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Congrats! You have a good score!!</h1></body></html>' > good-score.html
- bad-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Sorry, You have a bad score!</h1></body></html>' > bad-score.html
- median-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>You have a median score that we need a second verification.</h1></body></html>' > median-score.html
- כדי לוודא שיש לכם גישה לכל דפי האינטרנט, פותחים אותם בדפדפן. חשוב להקפיד להחליף את [LB_IP_v4] בכתובת ה-IPv4 של מאזן העומסים.
- פותחים את http://[LB_IP_v4]/index.html. כדי לוודא שההטמעה של reCAPTCHA פועלת, צריך לראות את הכיתוב 'מוגן באמצעות reCAPTCHA' בפינה השמאלית התחתונה של הדף –

- לוחצים על כל אחד מהקישורים.

- מוודאים שיש לכם גישה לכל הדפים.

8. יצירת כללים של מדיניות אבטחה ב-Cloud Armor לניהול בוטים
בקטע הזה תשתמשו בכללים לניהול בוטים ב-Cloud Armor כדי לאשר, לדחות ולהפנות בקשות על סמך הניקוד ב-reCAPTCHA. חשוב לזכור שכשיצרתם את מפתח האתר של טוקן הסשן, הגדרתם ציון בדיקה של 0.5.
- ב-Cloud Shell(הוראות לשימוש ב-Cloud Shell מופיעות בקטע הגדרה ודרישות במאמר הפעלת Cloud Shell), יוצרים מדיניות אבטחה באמצעות gcloud:
gcloud compute security-policies create recaptcha-policy \
--description "policy for bot management"
- כדי להשתמש באתגר ידני של reCAPTCHA Enterprise כדי להבחין בין לקוחות אנושיים ללקוחות אוטומטיים, צריך לשייך את מפתח האתר של אתגר reCAPTCHA WAF שיצרנו לאתגר ידני למדיניות האבטחה. מחליפים את CHALLENGE-PAGE-KEY במפתח שיצרנו –
gcloud compute security-policies update recaptcha-policy \ --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
- מוסיפים כלל לניהול בוטים כדי לאפשר תנועה אם נתיב כתובת ה-URL תואם ל-good-score.html והניקוד גבוה מ-0.4.
gcloud compute security-policies rules create 2000 \
--security-policy recaptcha-policy\
--expression "request.path.matches('good-score.html') && token.recaptcha_session.score > 0.4"\
--action allow
- מוסיפים כלל לניהול בוטים כדי לדחות תנועה אם נתיב כתובת ה-URL תואם ל-bad-score.html והציון נמוך מ-0.6.
gcloud compute security-policies rules create 3000 \
--security-policy recaptcha-policy\
--expression "request.path.matches('bad-score.html') && token.recaptcha_session.score < 0.6"\
--action "deny-403"
- מוסיפים כלל לניהול בוטים כדי להפנות תנועה ל-Google reCAPTCHA אם נתיב ה-URL תואם ל-median-score.html והניקוד שלו שווה ל-0.5
gcloud compute security-policies rules create 1000 \
--security-policy recaptcha-policy\
--expression "request.path.matches('median-score.html') && token.recaptcha_session.score == 0.5"\
--action redirect \
--redirect-type google-recaptcha
- מצרפים את מדיניות האבטחה לשירות הקצה העורפי http-backend:
gcloud compute backend-services update http-backend \
--security-policy recaptcha-policy –-global
- במסוף, מנווטים אל תפריט הניווט > Network Security > Cloud Armor.
- לוחצים על recaptcha-policy. המדיניות שלכם צריכה להיראות כך:

9. אימות של ניהול בוטים באמצעות Cloud Armor
- פותחים דפדפן ומזינים את כתובת ה-URL http://[LB_IP_v4]/index.html. עוברים אל 'ביקור בקישור לגישה'. הגישה שלך אמורה להיות מאושרת –

- כדי לוודא שיש לנו סשן חדש, פותחים חלון חדש במצב פרטי. מזינים את כתובת ה-URL http://[LB_IP_v4]/index.html ועוברים אל 'כניסה לקישור חסום'. אמורה להתקבל שגיאת HTTP 403 –

- כדי לוודא שיש לנו סשן חדש, פותחים חלון חדש במצב פרטי. מזינים את כתובת ה-URL http://[LB_IP_v4]/index.html ועוברים אל 'כניסה לקישור להפניה אוטומטית'. אתם אמורים לראות את ההפניה ל-Google reCAPTCHA ואת דף האתגר הידני כמו שמוצג בהמשך –

אימות היומנים של Cloud Armor
כדאי לעיין ביומני הרישום של מדיניות האבטחה כדי לוודא שהניהול של הבוטים פעל כצפוי.
- במסוף, מנווטים אל תפריט הניווט > אבטחת רשת > Cloud Armor.
- לוחצים על recaptcha-policy.
- לוחצים על יומנים.

- לוחצים על הצגת יומני מדיניות.
- למטה מופיעה שאילתת MQL(שפת שאילתות לניטור). אפשר להעתיק ולהדביק אותה בעורך השאילתות –
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(recaptcha-policy)
- לוחצים על Run Query.
- מחפשים רשומה ביומן בתוצאות השאילתה שבה הבקשה היא http://[LB_IP_v4]/good-score.html. מרחיבים את jsonPayload.Expand enforcedSecurityPolicy.

- חוזרים על אותם השלבים עבור http://[LB_IP_v4]/bad-score.html ו-http://[LB_IP_v4]/median-score.html


שימו לב שההגדרה configuredAction היא ALLOW, DENY או GOOGLE_RECAPTCHA עם השם recaptcha-policy.
מזל טוב! סיימתם את ה-Lab בנושא ניהול בוטים באמצעות Cloud Armor
©2020 Google LLC כל הזכויות שמורות. Google והלוגו של Google הם סימנים מסחריים רשומים של Google LLC. כל שמות החברות והמוצרים האחרים עשויים להיות סימנים מסחריים של החברות שאליהן הם קשורים.
10. ניקוי מעבדה
- עוברים אל Network Security >> Cloud Armor >> %POLICY NAME% ובוחרים באפשרות delete (מחיקה) –

- עוברים אל Networking >> Network services >> Load Balancing (רשת >> שירותי רשת >> איזון עומסים). בוחרים את מאזן העומסים שיצרתם ולוחצים על 'מחיקה'.

בוחרים את שירות לקצה העורפי ואת בדיקת תקינות כמשאבים נוספים למחיקה –

- מנווטים אל תפריט הניווט (
) > Compute Engine > Instance Groups. בוחרים את קבוצת המכונות המנוהלת ולוחצים על Delete (מחיקה) –

כדי לאשר את המחיקה, מקלידים delete בתיבת הטקסט.
מחכים עד שקבוצת מופעי מכונה מנוהלים תימחק. הפעולה הזו מוחקת גם את המופע בקבוצה. אפשר למחוק את התבניות רק אחרי שמוחקים את קבוצת המכונות.
- בחלונית הימנית, עוברים אל Instance templates (תבניות של מכונות וירטואליות)**.** בוחרים את תבנית של הגדרות מכונה ולוחצים על סמל המחיקה.
- עוברים אל תפריט הניווט (
) > רשת VPC > חומת אש. בוחרים את הכללים default-allow-health-check ו-allow-ssh ולוחצים על Delete (מחיקה). - עוברים אל תפריט הניווט (
) > אבטחה > reCAPTCHA Enterprise. בוחרים את המפתחות שיצרנו ומוחקים אותם. כדי לאשר את המחיקה, מקלידים DELETE בתיבת הטקסט.

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