הפעלת Google Threat Intelligence

שירות Google Threat Intelligence מאפשר למנויים של Google Cloud Armor Enterprise לאבטח את תעבורת הנתונים שלהם על ידי אישור או חסימה של תעבורת נתונים למאזני עומסים חיצוניים של אפליקציות, על סמך כמה קטגוריות של נתוני מודיעין איומי סייבר. נתוני Google Threat Intelligence מחולקים לקטגוריות הבאות:

  • צמתי יציאה של Tor: ‏ Tor היא תוכנת קוד פתוח שמאפשרת תקשורת אנונימית. כדי להחריג משתמשים שמסתירים את הזהות שלהם, חוסמים את כתובות ה-IP של צמתי היציאה של Tor (נקודות שבהן התנועה יוצאת מרשת Tor).
  • כתובות IP זדוניות מוכרות: כתובות IP שצריך לחסום כדי לשפר את מצב האבטחה של האפליקציה, כי ידוע שהתקפות על אפליקציות אינטרנט מגיעות מהן.
  • מנועי חיפוש: כתובות IP שאפשר לאשר כדי להפעיל את יצירת האינדקס של האתר.
  • ספקי VPN: כתובות IP שנמצאות בשימוש של ספקי VPN עם מוניטין נמוך. אפשר לחסום את הקטגוריה הזו כדי למנוע ניסיונות לעקוף כללים שמבוססים על כתובות IP.
  • שרתי proxy אנונימיים: כתובות IP שמשמשות שרתי proxy אנונימיים מוכרים.
  • כורי קריפטו: כתובות IP שמשמשות אתרים ידועים לכריית מטבעות וירטואליים.
  • טווחים של כתובות IP בענן ציבורי: אפשר לחסום את הקטגוריה הזו כדי למנוע מכלים אוטומטיים זדוניים לגלוש באפליקציות אינטרנט, או לאפשר אותה אם השירות שלכם משתמש בעננים ציבוריים אחרים.

כדי להשתמש ב-Google Threat Intelligence, צריך להגדיר כללים של מדיניות אבטחה שמאפשרים או חוסמים תנועה על סמך חלק מהקטגוריות האלה או כולן. לשם כך, משתמשים בevaluateThreatIntelligence ביטוי ההתאמה יחד עם שם פיד שמייצג אחת מהקטגוריות הקודמות. בנוסף, צריך להירשם ל-Cloud Armor Enterprise. מידע נוסף על Cloud Armor Enterprise זמין בסקירה הכללית של Cloud Armor Enterprise.

הגדרת Google Threat Intelligence

כדי להשתמש ב-Google Threat Intelligence, צריך להגדיר כללים של מדיניות אבטחה באמצעות evaluateThreatIntelligence('FEED_NAME')ביטוי התאמה, ולספק FEED_NAME על סמך הקטגוריה שרוצים לאפשר או לחסום. המידע בכל פיד מתעדכן כל הזמן, וכך השירותים מוגנים מפני איומים חדשים בלי שצריך לבצע שלבי הגדרה נוספים. אלה הארגומנטים התקינים:

שם הפיד תיאור
iplist-tor-exit-nodes תואם לכתובות IP של צמתי יציאה של Tor
iplist-known-malicious-ips התאמה לכתובות IP שידוע שהן משמשות להתקפות על אפליקציות אינטרנט
iplist-search-engines-crawlers תואם לכתובות IP של סורקים של מנועי חיפוש
iplist-vpn-providers התאמה לטווחי כתובות IP שמשמשים ספקי VPN עם מוניטין נמוך
iplist-anon-proxies התאמה לטווחי כתובות IP ששייכים לשרתי proxy אנונימיים פתוחים
iplist-crypto-miners התאמה לטווחי כתובות IP ששייכים לאתרים של כריית קריפטו
iplist-cloudflare התאמה לטווחי כתובות IPv4 ו-IPv6 של שירותי proxy של Cloudflare
iplist-fastly התאמה לטווחים של כתובות IP של שירותי פרוקסי של Fastly
iplist-imperva התאמה לטווחים של כתובות IP של שירותי פרוקסי של Imperva
iplist-public-clouds
  • iplist-public-clouds-aws
  • iplist-public-clouds-azure
  • iplist-public-clouds-gcp
התאמה לכתובות IP ששייכות לעננים ציבוריים
  • תואם לטווחים של כתובות IP שמשמשים את Amazon Web Services
  • תואם לטווחי כתובות IP שמשמשים את Microsoft Azure
  • תואם לטווחי כתובות IP שמשמשים את Google Cloud

אפשר להגדיר כלל חדש של מדיניות אבטחה באמצעות הפקודה gcloud הבאה, עם FEED_NAME מהטבלה הקודמת וכל ACTION כמו allow, deny או throttle. מידע נוסף על פעולות של כללים זמין במאמר סוגי מדיניות.

gcloud compute security-policies rules create 1000 \
    --security-policy=NAME \
    --expression="evaluateThreatIntelligence('FEED_NAME')" \
    --action="ACTION"

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

  • NAME: השם של מדיניות האבטחה שרוצים להגדיר
  • FEED_NAME: שם הפיד מהטבלה הקודמת
  • ACTION: הפעולה שתתבצע לפי הכלל, כמו allow,‏ deny או throttle

דוגמאות לביטויים של Google Threat Intelligence

  • אפשר להשתמש ב-Google Threat Intelligence עם כתובת IP של משתמש.

בדוגמה הבאה של פקודה נעשה שימוש בשם הפיד iplist-tor-exit-nodes עם כתובת ה-IP של המשתמש שהפעיל את הקריאה:

    evaluateThreatIntelligence('iplist-tor-exit-nodes', origin.user_ip)
  

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

  • כדי למנוע מ-Google Threat Intelligence לחסום כתובת IP ספציפית או טווח כתובות IP, אפשר להוסיף את הכתובת לרשימת ההחרגות.

בדוגמה הבאה של פקודה נעשה שימוש בשם הפיד iplist-known-malicious-ips:

    evaluateThreatIntelligence('iplist-known-malicious-ips', ['ADDRESS'])
  

מחליפים את ADDRESS בכתובת או בטווח הכתובות שרוצים להחריג.

  • אתם יכולים להשתמש ב-Google Threat Intelligence עם כתובת IP של משתמש. כדי למנוע מ-Google Threat Intelligence לחסום כתובת IP או טווח כתובות IP, אתם יכולים להוסיף אותם לרשימת ההחרגות.

בדוגמה הבאה של פקודה נעשה שימוש בשם הפיד iplist-known-malicious-ips עם כתובת IP של משתמש:

    evaluateThreatIntelligence('iplist-known-malicious-ips', origin.user_ip, ['ADDRESS'])
  

שימוש ברשימות של כתובות IP עם שמות

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

במסמך הזה, המונחים כתובת IP ורשימת כתובות IP כוללים טווחי כתובות IP.

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

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

לדוגמה, אם לספק צד שלישי יש רשימת כתובות IP‏ {ip1, ip2, ip3....ip_N_} בשם provider-a, אפשר ליצור כלל אבטחה שמאפשר את כל כתובות ה-IP שברשימה provider-a ומוציא מכלל זה כתובות IP שלא מופיעות ברשימה:

gcloud beta compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('provider-a')" \
    --action "allow"

מחליפים את POLICY_NAME בשם של מדיניות האבטחה שרוצים להגדיר.

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

כדי להשתמש ברשימות של כתובות IP עם שמות, צריך להירשם ל-Google Cloud Armor Enterprise ולרשום פרויקטים ב-Cloud Armor Enterprise. מידע נוסף זמין במאמר בנושא זמינות של רשימות של כתובות IP עם שמות.

התרה של תנועה רק מספקי צד שלישי מורשים

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

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

בדוגמה הזו, ספק CDN מפרסם את רשימת כתובות ה-IP שלו 23.235.32.0/20, 43.249.72.0/22, ⋯,. משתמש ב-CDN מגדיר כלל אבטחה שמאפשר רק תנועה שמגיעה מכתובות ה-IP האלה. לכן, מותרות שתי נקודות גישה של ספקי CDN‏ (23.235.32.10 ו-43.249.72.10), והתנועה שלהן מותרת. התנועה מנקודת הגישה הלא מורשית 198.51.100.1 נחסמת.

כתובת IP עם שם ב-Cloud Armor.
כתובת IP עם שם ב-Cloud Armor (לחצו כדי להגדיל).

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

ספקי CDN משתמשים לעיתים קרובות בכתובות IP מוכרות, שמשתמשים רבים ב-CDN צריכים להשתמש בהן. הרשימות האלה משתנות עם הזמן, כי הספקים מוסיפים, מסירים ומעדכנים את כתובות ה-IP.

שימוש ברשימה של כתובות IP עם שמות בכלל מדיניות אבטחה מפשט את התהליך של הגדרת כתובות IP וניהול שלהן, כי Cloud Armor מסנכרן אוטומטית את המידע מספקי CDN על בסיס יומי. כך נמנעים מתהליך ארוך ומייגע שמועד לטעויות של תחזוקה ידנית של רשימה גדולה של כתובות IP.

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

evaluatePreconfiguredExpr('provider-a') => allow traffic

ספקים של רשימות כתובות IP

ספקי רשימות כתובות ה-IP שמופיעים בטבלה הבאה נתמכים ב-Cloud Armor. אלה ספקי CDN שמשתפים פעולה עם Google. רשימות כתובות ה-IP שלהם מתפרסמות באמצעות כתובות URL ציבוריות נפרדות.

השותפים האלה מספקים רשימות נפרדות של כתובות IPv4 וכתובות IPv6. ‫Cloud Armor משתמש בכתובות ה-URL שצוינו כדי לאחזר רשימות, ואז ממיר את הרשימות לרשימות של כתובות IP עם שמות. השמות שמופיעים בטבלה משמשים להפניה לרשימות.

לדוגמה, הקוד הבא יוצר כלל במדיניות האבטחה POLICY_NAME עם עדיפות 750, משלב את רשימת כתובות ה-IP שנקראת מ-Cloudflare ומאפשר גישה מכתובות ה-IP האלה:

gcloud beta compute security-policies rules create 750 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \
    --action "allow"

מחליפים את POLICY_NAME בשם של מדיניות האבטחה שרוצים להגדיר.

ספק כתובות URL שם רשימת כתובות ה-IP
Fastly https://api.fastly.com/public-ip-list sourceiplist-fastly
Cloudflare

https://www.cloudflare.com/ips-v4

https://www.cloudflare.com/ips-v6

sourceiplist-cloudflare
Imperva

https://my.imperva.com/api/integration/v1/ips

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

curl -d "" https://my.imperva.com/api/integration/v1/ips

sourceiplist-imperva

כדי להציג רשימה של רשימות כתובות IP עם שמות שהוגדרו מראש, משתמשים בפקודה הזו ב-CLI של gcloud:

gcloud compute security-policies list-preconfigured-expression-sets \
    --filter="id:sourceiplist"

הפונקציה מחזירה:

EXPRESSION_SET
sourceiplist-fastly
sourceiplist-cloudflare
sourceiplist-imperva

סנכרון רשימות של כתובות IP

‫Cloud Armor מסנכרן רשימות של כתובות IP עם כל ספק רק כשהוא מזהה שינויים בפורמט תקין. ‫Cloud Armor מבצע אימות תחביר בסיסי של כתובות ה-IP בכל הרשימות.

זמינות של רשימות כתובות IP עם שמות

Google Cloud Armor Enterprise זמין לכלל המשתמשים. הזמינות של רשימות כתובות IP עם שמות מצדדים שלישיים היא כדלקמן:

  1. אם יש לכם מינוי למהדורת Google Cloud Armor Enterprise, יש לכם רישיון להשתמש ברשימות של כתובות IP עם שמות בפרויקטים שרשומים במינוי. אתם יכולים ליצור, לעדכן ולמחוק כללים עם רשימות של כתובות IP עם שמות.
  2. אם המינוי שלכם ל-Google Cloud Armor Enterprise יפוג, או אם תחזרו לרמה Standard מסיבה אחרת, לא תוכלו להוסיף או לשנות כללים עם רשימות של כתובות IP בעלות שם, אבל תוכלו למחוק כללים קיימים ולעדכן כללים כדי להסיר רשימה של כתובות IP בעלת שם.
  3. בפרויקטים שכבר כוללים כללים עם רשימות כתובות IP בעלות שם, ושלא נרשמתם ל-Google Cloud Armor Enterprise, אתם יכולים להמשיך להשתמש בכללים קיימים עם רשימות כתובות IP בעלות שם, לעדכן אותם ולמחוק אותם. בפרויקטים כאלה, אפשר ליצור כללים חדשים שמשלבים רשימות של כתובות IP עם שמות.

המאמרים הבאים