שימוש באזורי SMS כדי להגן על האפליקציה מפני שימוש לרעה ב-SMS
במדריך הזה מוסבר איך להשתמש באזורי SMS כדי להגביל את השימוש באימות באמצעות SMS ב-Identity Platform ולצפות במדדי השימוש.
סקירה כללית על אזורים שבהם אפשר לשלוח SMS
תכונת האזורים של SMS ב-Identity Platform מאפשרת להגן על האפליקציות מפני ניצול לרעה של SMS.
ניצול לרעה של SMS מתרחש בדרך כלל כשגורם זדוני גורם לשירות לשלוח SMS דרך ספק שיש לו הסכם לשיתוף הכנסות עם הגורם הזדוני. שימוש לרעה ב-SMS עלול להוביל לעלויות גבוהות יותר ולפגוע במוניטין של המוצר בקרב הלקוחות.
מכיוון ש-Identity Platform מאפשרת אישורי טלפון באמצעות SMS, יכול להיות שיתרחשו מקרים של שימוש לרעה ב-SMS.
התכונה 'אזורים שבהם אפשר לקבל SMS' מאפשרת להגדיר באילו אזורים אפשר לקבל אישורי טלפון באמצעות SMS.
התכונה מספקת את האפשרויות הבאות:
- ממשק של מסוף Firebase שבו אפשר להגדיר את מדיניות האזור לגבי הודעות SMS.
- ממשק API שמאפשר להגדיר את מדיניות האזור לגבי SMS.
- מדדים שיכולים לעזור לכם להחליט אם להשתמש במדיניות אזורית לשליחת SMS.
הגדרת מדיניות לגבי אזורים גיאוגרפיים
בקטע הזה מוסבר על מדיניות אזורית ב-Identity Platform. אפשר להגדיר את סוגי המדיניות הבאים, אבל רק אחד מהם יכול להיות פעיל:
- רשימת היתרים בלבד: רק אזורים שציינתם ברשימת היתרים יכולים לקבל בקשות לאימות באמצעות הטלפון.
- רשימת דחייה בלבד: כל האזורים יכולים לקבל בקשות לאימות טלפוני, חוץ מאלה שציינתם ברשימת הדחייה.
אחרי שתשנו את ההגדרה, המערכת תתחיל לאכוף את המדיניות באופן מיידי. הוא חוסם בקשות לאימות טלפוני מהאזורים שאסורים לפי המדיניות, על סמך קוד האזור של מספר הטלפון.
מדיניות של רשימת היתרים בלבד
כדי להגדיר מדיניות של רשימת היתרים בלבד:
מסוף Firebase
במסוף Firebase, עוברים לדף Firebase Auth Settings.
בחלונית הניווט, בוחרים באפשרות מדיניות בנושא אזורי SMS.
לוחצים על אישור.
לוחצים על בחירת אזורים.
מוסיפים רק את האזורים שבהם מתכננים לשלוח הודעות SMS. אזורים שלא מופיעים ברשימה חסומים.
לוחצים על Save.
אפשר להגדיר רשימת היתרים או רשימה חסומה, אבל לא את שתיהן. הפעולה הזו תבטל את ההגדרה הקודמת.
Identity Toolkit API
כדי להדפיס אסימון גישה לפרויקט במסוף Google Cloud , מריצים את הפקודה הבאה:
gcloud auth print-access-token --project=PROJECT_IDמעדכנים את הגדרות הפרויקט כדי לכלול את המדיניות החדשה באמצעות Identity Toolkit API:
curl -X PATCH -d "{'sms_region_config':{'allowlist_only':{'allowed_regions':['REGION_LIST']}}}" \ -H 'Authorization: BearerACCESS_TOKEN' \ -H 'Content-Type: application/json' \ 'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
מחליפים את מה שכתוב בשדות הבאים:
-
ACCESS_TOKEN: אסימון הגישה שיצרתם קודם. -
REGION_LIST: אזור אחד או יותר, לדוגמה,INאוUS. כדי לצמצם את הסיכון לניצול לרעה, מומלץ לאפשר רק את האזורים שבהם אתם מתכננים לשלוח הודעות SMS. PROJECT_ID: מזהה הפרויקט.
כדי למנוע שינוי של שדות אחרים, צריך לספק מסכת עדכון.
מדיניות של רשימת ישויות שנחסמו בלבד
כדי להגדיר מדיניות של רשימת חסימה בלבד, מבצעים את השלבים הבאים:
מסוף Firebase
במסוף Firebase, עוברים לדף Firebase Auth Settings (הגדרות אימות Firebase) ובוחרים באפשרות SMS region policy (מדיניות אזורית בנושא SMS) בחלונית הניווט.
בוחרים באפשרות דחייה.
לוחצים על בחירת אזורים.
מוסיפים את האזורים שרוצים לחסום את שליחת הודעות ה-SMS אליהם. אזורים שלא מופיעים ברשימה יהיו מורשים. כדי להגביר את ההגנה מפני ניצול לרעה, מומלץ להשתמש במדיניות של רשימת היתרים בלבד ולהשבית את כל האזורים שאתם לא מתכננים לשלוח בהם הודעות SMS.
לוחצים על Save.
אפשר להגדיר רשימת היתרים או רשימה חסומה, אבל לא את שתיהן. הפעולה הזו תבטל את ההגדרה הקודמת.
Identity Toolkit API
כדי להדפיס אסימון גישה לפרויקט במסוף Google Cloud , מריצים את הפקודה הבאה:
gcloud auth print-access-token --project=PROJECT_IDמעדכנים את הגדרות הפרויקט כדי לכלול את המדיניות החדשה באמצעות Identity Toolkit API:
curl -X PATCH -d "{'sms_region_config':{'allow_by_default':{'disallowed_regions':['REGION_LIST']}}}" \ -H 'Authorization: BearerACCESS_TOKEN' \ -H 'Content-Type: application/json' \ 'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
מחליפים את מה שכתוב בשדות הבאים:
-
ACCESS_TOKEN: אסימון הגישה שיצרתם קודם. -
REGION_LIST: אזור אחד או יותר, לדוגמה,INאוUS. PROJECT_ID: מזהה הפרויקט.
כדי למנוע שינוי של שדות אחרים, צריך לספק מסכת עדכון.
גישה למדדי שימוש אזוריים ב-SMS
בקטע הזה מוסבר איך לצפות במדדים של השימוש ב-SMS.
כדי לראות את המדדים:
במסוף Google Cloud , נכנסים לדף Metrics explorer ב-Cloud Monitoring:
בוחרים את השדות הבאים:
- identitytoolkit.googleapis.com/usage/sent_sms_count,
- identitytoolkit.googleapis.com/usage/blocked_sms_count, and
- firebaseauth.googleapis.com/phone_auth/phone_verification_count.
שימו לב שלמדדים יש שדה region_code. הקוד הזה מאפשר לכם לראות את האזורים שבהם מתקבלות הרשאות באמצעות SMS.
חישוב שיעור ההצלחה של האימות:
verification_success_rate = phone_verification_count/sent_sms_count, באזור מסוים. בדרך כלל, שיעורי הצלחה של אימות מעל 75% נחשבים מקובלים.
ערך נמוך של verification_success_rate יכול להצביע על התנהלות פוגעת, במיוחד באזור שבו לא צפויים להיות משתמשים. בדרך כלל, שיעורי הצלחה של אימות מתחת ל-75% נחשבים נמוכים.
אם אתם חושדים בהתנהלות פוגעת ב-SMS, אתם יכולים להגדיר מדיניות לגבי אזורים גיאוגרפיים.