פתרון בעיות ב- NSGs
הפגנת הבנה של נתוני תצורה של קבוצת אבטחת רשת (NSG), כולל יציאות, תגי שירות ומספרי עדיפות
קבוצות אבטחת רשת
קבוצת אבטחת רשת של Azure מסננת תעבורת רשת אל משאבים ברשת וירטואלית של Azure ומהם. קבוצת אבטחת רשת מורכבת מכללי אבטחה המאפשרים או מונעים תעבורת רשת נכנסת ויוצאת, אל ומכמה סוגים של משאבי Azure. עבור כל כלל, באפשרותך לציין מקור ויעד, יציאה ופרוטוקול.
ביחידה זו תלמדו על:
מאפיינים של כלל קבוצת אבטחת רשת וכללי האבטחה המוגדרים כברירת מחדל המוחלים.
מאפייני הכלל שבאפשרותך לשנות כדי ליצור כלל אבטחה מורחב.
כללי אבטחה
קבוצת אבטחת רשת יכולה להכיל כללים מאפס, או כמה שנדרש, במסגרת מגבלות המנוי של Azure. כל כלל מציין את המאפיינים הבאים:
| מאפיין | הסבר |
|---|---|
| שם | שם ייחודי בתוך קבוצת אבטחת הרשת. |
| Priority | כללים עם מספרים נמוכים יותר מעובדים לפני מספרים גבוהים יותר מכיוון שלמספרים נמוכים יותר יש עדיפות גבוהה יותר. מספר יכול להיות בין 100 ל- 4096. |
| מקור או יעד | אם תציין כתובת עבור משאב Azure, עליך לציין את כתובת ה- IP הפרטית, טווח, תג שירות או קבוצת אבטחה של יישום שהוקצו למשאב. |
| פרוטוקול | TCP, UDP, ICMP, ESP, AH או Any. |
| כיוון | אם הכלל חל על תעבורה נכנסת או על תעבורה יוצאת. |
| טווח יציאות | ציון טווחים מאפשר לך ליצור פחות כללי אבטחה. באפשרותך לציין יחיד או טווח יציאות. לדוגמה, 80 או 10000-10005. |
| פעולה | אפשר או דחה. |
קיימות מגבלות על מספר כללי האבטחה שניתן ליצור בקבוצת אבטחת רשת. לקבלת פרטים, ראה מגבלות Azure.
כללי אבטחה המוגדרים כברירת מחדל
Azure יוצר את כללי ברירת המחדל הבאים בכל אחת מקבוצות אבטחת הרשת שלך:
כניסה
AllowVNetInBound
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | כל | אפשר |
AllowAzureLoadBalancerInBound
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 65001 | AzureLoadBalancer | 0-65535 | 0.0.0.0/0 | 0-65535 | כל | אפשר |
DenyAllInbound
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | כל | אפשר |
יוצאת
AllowVnetOutBound
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | כל | אפשר |
AllowInternetOutBound
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 65001 | 0.0.0.0/0 | 0-65535 | אינטרנט | 0-65535 | כל | אפשר |
DenyAllOutBound
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 65001 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | כל | אפשר |
בעמודות מקורויעד , VirtualNetwork, AzureLoadBalancer ו - Internet הם תגי שירות, ולא כתובות IP. בעמודת הפרוטוקול, כל מקיף TCP, UDP ו- ICMP. בשעת יצירת כלל, ניתן לציין TCP, UDP, ICMP או Any. 0.0.0.0/0 בעמודות מקורויעד מייצג את כל הכתובות. לקוחות כגון פורטל Azure, Azure CLI או PowerShell יכולים להשתמש ב- ***** או ב- Any עבור ביטוי זה.
לא ניתן להסיר את כללי ברירת המחדל, אך ניתן לעקוף אותם על-ידי יצירת כללים בעלי עדיפות גבוהה יותר.
כללי אבטחה מורחבים
עם כללי אבטחה רבודים, באפשרותך לשלב יציאות מרובות וכתובות IP וטווחים מפורשים מרובים לכלל אבטחה יחיד. במילים אחרות, כללי אבטחה רבודים מפשטים את הגדרת האבטחה עבור רשתות וירטואליות. הדבר מאפשר לך לחלק את מדיניות אבטחת הרשת הגדולה והמורכבת לכללים מעטים ופשוטים יותר. כללים מורחבים משמשים בדרך כלל בשדות המקור, היעד והיציאה של כלל.
שילוב כללי אבטחה רבודים עם תגי שירות או קבוצות אבטחת אפליקציות, עוזר לייעל את הגדרת כלל האבטחה שלך. עם זאת, קיימות מגבלות על מספר הכתובות, הטווחים והיציאות שבאפשרותך לציין בכלל.
תגי שירות: תג שירות מייצג קבוצה של קידומות כתובות IP משירות Azure נתון. זה עוזר למזער את המורכבות של עדכונים תכופים בכללי אבטחת רשת. עיין בתגי שירות של Azure.
לקבלת דוגמה לאופן השימוש בתג שירות האחסון כדי להגביל את הגישה לרשת, עבור אל הגבלת גישת רשת למשאבי PaaS עם נקודות קצה של שירות רשת וירטואלית באמצעות פורטל Azure.
קבוצות אבטחת יישומים: קבוצות אבטחת יישומים מאפשרות לך להגדיר את אבטחת הרשת כהרחבה טבעית של מבנה היישום. הדבר מאפשר לך לקבץ מחשבים וירטואליים ולהגדיר מדיניות אבטחת רשת בהתבסס על קבוצות אלה. באפשרותך לעשות שימוש חוזר במדיניות האבטחה שלך בקנה מידה רחב ללא תחזוקה ידנית של כתובות IP מפורשות. לקבלת מידע נוסף, ראה קבוצות אבטחת יישומים.
פתרון בעיות תצורה של NSG
קבוצות אבטחת רשת (NSG) מאפשרות לך לשלוט בזרימה הנכנסת והיוצאת של תעבורה של מחשב וירטואלי (VM). באפשרותך לשייך NSG לרשת משנה ברשת וירטואלית של Azure, ממשק רשת המחובר למחשב וירטואלי או שניהם. כל כללי האבטחה החלים על ממשק רשת הם שילוב של כללים הקיימים ב-NSG המשויך לממשק רשת, ורשת המשנה שבה הוא נמצא. אתה יכול לבחון את ההתנגשות בין כללים ב-NSG שונים המוחלים על ממשקי הרשת של ה-VM שלך.
המאמרים הבאים עוזרים להבין את:
ביחידה זו, תלמד כיצד לאבחן בעיה במסנן תעבורת רשת על-ידי הצגת כללי האבטחה של NSG היעילים עבור מחשב וירטואלי.
אבחון באמצעות פורטל Azure
תרחיש
כאשר אתה מנסה להתחבר למחשב וירטואלי דרך יציאה 80 מהאינטרנט, החיבור נכשל. כדי להבין מדוע זה קורה, באפשרותך לבחון את כללי האבטחה היעילים עבור ממשק רשת באמצעות פורטל Azure, PowerShell או Azure CLI.
אם אין לך מחשב וירטואלי קיים כדי להציג את כללי האבטחה היעילים, תחילה עליך לפרוס מחשב וירטואלי של Linux או Windows כדי להשלים את המשימה.
במשימה הבאה, הדוגמאות הן עבור VM בשם myVM עם ממשק רשת בשם myVMVMNic. ה- VM וממשק הרשת נמצאים בקבוצת משאבים בשם myResourceGroup ונמצאים באזור מזרח ארה"ב. כדי לאבחן את הבעיה, שנה את הערכים בשלבים, בהתאם לצורך, עבור ה- VM.
היכנס לפורטל Azure.
בחלק העליון של פורטל Azure, הזן את שם המחשב הווירטואלי בתיבת החיפוש. כאשר שם ה-VM מופיע בתוצאות החיפוש, בחר אותו.
תחת הגדרות, בחר עבודה ברשת.
הכללים שאתה רואה בתמונה הבאה מיועדים לממשק רשת בשם myVMVMNic. קיימים כללי יציאה נכנסת עבור ממשק הרשת משתי קבוצות אבטחת רשת שונות:
mySubnetNSG: משויך לרשת המשנה שבה נמצא ממשק הרשת.
myVMNSG: משויך לממשק הרשת ב-VM בשם myVMVMNic.
כפי שניתן לראות בתמונה הקודמת, הכלל בשם DenyAllInBound מונע תקשורת נכנסת מהאינטרנט ל-VM דרך יציאה 80. הכלל מפרט 0.0.0.0/0 עבור SOURCE, הכולל את האינטרנט. אין כלל אחר עם עדיפות גבוהה יותר (מספר נמוך יותר) מאפשר יציאה 80 נכנסת. כדי לאפשר יציאה 80 נכנסת למחשב הווירטואלי מהאינטרנט, ראה פתרון בעיה.
תחת כללי יציאה יוצאת, בחלק התחתון, ישנם כללי יציאה יוצאת עבור ממשק הרשת. VirtualNetwork ו - AzureLoadBalancer הם תגי שירות. תגי שירות מייצגים קבוצה של קידומות כתובות IP כדי לסייע במזעור המורכבות ליצירת כללי אבטחה.
ודא שהמחשב הווירטואלי נמצא במצב פועל ולאחר מכן בחר כללי אבטחה אפקטיביים, כפי שמוצג בתמונה הבאה:
אתה יכול לראות שישנן כרטיסיות שונות עבור ה-NSG המשויכות לממשק הרשת ולרשת המשנה. הכללים המפורטים זהים לשלב 3 , אם כי, כפי שמוצג בתמונה, רק 50 הכללים הראשונים מוצגים. כדי להוריד קובץ .csv המכיל את כל הכללים, בחר הורד.
כדי לראות אילו קידומות מייצג כל תג שירות, בחר כלל, כגון AllowAzureLoadBalancerInbound. התמונה שלהלן מציגה את הקידומת עבור תג השירות AzureLoadBalancer :
ל-VM בדוגמה זו יש שני ממשקי רשת, myVMVMNicו-myVMVMNic2 המחוברים אליו. כללי האבטחה האפקטיביים יכולים להיות שונים עבור כל ממשק רשת. בחר myVMVMNic2 כדי להציג את הכללים עבור ממשק רשת זה.
לממשק הרשת myVMVMNic2 אין קבוצת אבטחת רשת המשויכת אליו, כפי שיש לממשק הרשת myVMVMNic . לכל ממשק רשת ורשת משנה יכול להיות אפס, או אחד, NSG המשויך אליו. ה-NSG המשויך לכל ממשק רשת או רשת משנה יכול להיות זהה או שונה. באפשרותך לשייך את אותו NSG לממשקי רשת ורשתות משנה רבים ככל שתבחר.
הערה
למרות שכללי אבטחה יעילים נצפו דרך ה-VM, אתה יכול גם להסתכל עליהם דרך אדם פרטי:
- ממשק רשת: למד כיצד להציג ממשק רשת.
- NSG: למד כיצד להציג NSG.
כדי להפעיל את הפקודות באמצעות PowerShell, עיין באבחון באמצעות PowerShell.
כדי להפעיל את הפקודות באמצעות Azure CLI, עיין באבחון באמצעות Azure CLI.
כדי לפתור בעיות קישוריות:
כדי לאפשר תעבורה נכנסת מהאינטרנט, הוסף כללי אבטחה בעלי עדיפות גבוהה יותר מכללי ברירת המחדל.
כדי לפתור בעיות הקשורות לישויות עמית ברשת וירטואלית, באפשרותך להציג את הקידומת ברשימה ExpandedAddressPrefix.
ודא שיש NSG המשויך לממשק הרשת ו/או לרשת המשנה של ה-VM. כמו כן, בדוק שה-VM נמצא במצב פועל.
אם ל-VM יש כתובת IP ציבורית, מומלץ להחיל NSG על רשת המשנה של ממשק הרשת.
אבחון נוסף
השתמש ביכולת אימות זרימת ה- IP של Azure Network Watcher כדי לקבוע אם תעבורה מותרת אל מחשב וירטואלי או ממנו.
אם אין כללי אבטחה הגורמים לכשל בקישוריות הרשת של מחשב וירטואלי, ייתכן שהבעיה נובעת מ:
תוכנת חומת אש הפועלת בתוך מערכת ההפעלה של ה-VM.
מסלולים שהוגדרו עבור מכשירים וירטואליים או תעבורה מקומית - עיין במנהור מאולץ. כמו כן, כדי ללמוד כיצד לאבחן בעיות ניתוב שעלולות לעכב את זרימת התעבורה החוצה מהמחשב הווירטואלי, ראה אבחון בעיית ניתוב תעבורת רשת של מחשב וירטואלי.
סקירה מפורשת של יומני זרימה של NSG
מבוא
תכונת יומני הזרימה של NSG ב- Azure Network Watcher מאפשרת לך לרשום מידע על תעבורת IP הזורמת דרך NSG. נתוני הזרימה נשלחים לחשבונות Azure Storage ומשם תוכל לייצא אותם לכל כלי תצוגה חזותית, SIEM או IDS.
מדוע כדאי להשתמש ביומני זרימה?
יומני זרימה הם חיוניים בכל הנוגע לניהול וניטור כל פעילות הרשת בסביבת הענן שלך. אתה יכול להשתמש בו לאופטימיזציה של זרימות רשת, ניטור נתונים, אימות תאימות, זיהוי פריצות ועוד.
כמה מקרי שימוש נפוצים הם:
ניטור רשת:
זהה תעבורה לא ידועה או לא רצויה.
ניטור רמות התעבורה וצריכת רוחב הפס.
סנן יומני זרימה לפי IP ויציאה כדי להבין את אופן הפעולה של היישום.
ייצא יומני זרימה לכלי הניתוח והתצוגה החזותית שתבחר, כדי להגדיר לוחות מחוונים לניטור.
ניטור ואופטימיזציה של השימוש:
זהה את הלשוחחים המובילים ברשת שלך.
שלב עם נתוני GeoIP כדי לזהות תעבורה חוצת אזורים.
הבן את צמיחת התעבורה עבור חיזוי קיבולת.
השתמש בנתונים כדי להסיר כללי תעבורה מגבילים מדי.
תאימות:
- השתמש נתוני זרימה כדי לאמת בידוד רשת ותאימות לכללי גישה ארגונית.
זיהוי פלילי וניתוח אבטחה ברשת:
נתח זרימות רשת מהודעות IP שנחשף לסכנה ומממשקי רשת.
יצא יומני זרימה לכל כלי SIEM או IDS שתבחר.
כיצד פועל הרישום
יומני זרימה פועלים בשכבה 4 (שכבת הובלה). הוא מתעד את כל זרמי ה-IP הנכנסים והיוצאים מ-NSG.
יומני רישום נאספים במרווחי זמן של דקה אחת דרך פלטפורמת Azure מבלי להשפיע על משאבי הלקוחות או על ביצועי הרשת.
יומני הרישום נכתבים בתבנית JSON. הוא מציג זרימות יוצאות ונכנסות על בסיס כלל NSG.
כל רשומת יומן מכילה את ממשק הרשת (NIC). הזרימה חלה על מידע של חמש קבוצות , החלטת התעבורה ומידע תפוקה (גרסה 2 בלבד). עיין בפורמט היומן.
יומני זרימה מוחקים את יומני הרישום עד שנה לאחר היצירה.
כדי להפוך את יומני הזרימה לזמינים, עיין בהפעלת יומני זרימה של NSG.
אימות זרימת IP
אימות זרימת IP מאשר אם מנה מותרת או נדחית למחשב וירטואלי או ממנו. באפשרותך להשתמש באימות זרימת IP כדי לאבחן בעיות קישוריות מהאינטרנט או אליו ומהסביבה המקומית או אליה. הוא מספק את המידע לגבי כיוון, פרוטוקול, IP מקומי, IP מרוחק, יציאה מקומית ויציאה מרוחקת. אם קבוצת אבטחה דוחה את המנה, מוחזר שם הכלל שבו נעשה שימוש.
אימות זרימת IP לוקח בחשבון את הכללים עבור כל ה-NSG החלים על ממשק הרשת, כגון רשת משנה או כרטיס רשת (NIC) של מחשב וירטואלי. לאחר מכן הוא מאמת את זרימת התעבורה בהתבסס על ההגדרות המוגדרות אל ממשק רשת זה או ממנו.
אימות זרימת IP מאמת אם כלל ב-NSG חוסם תעבורת כניסה או יציאה אל מכונה וירטואלית או ממנה. הוא גם מעריך את כללי מנהל הרשת הווירטואלית של Azure ואת כללי NSG.
לקבלת מידע נוסף על פתרון בעיות ביומני זרימה של NSG, ראה פתרון בעיות נפוצות.
קביעה אם מחשב וירטואלי או קבוצה של מחשבים וירטואליים משויכים לקבוצת אבטחת יישומים (ASG)
קבוצות אבטחת יישומים מאפשרות לך לקבץ מחשבים וירטואליים הממוקמים ברשת הווירטואלית של Azure, ולהגדיר מדיניות אבטחת רשת בהתבסס על קבוצות אלה. זה עוזר להפחית את מאמץ התחזוקה של כתובות IP מפורשות. שקול את התמונה הבאה להבנה טובה יותר של ASG:
| קבוצות אבטחה של יישומים |
|---|
|
בתמונה הקודמת, NIC1 ו-NIC2 חברים ב-AsgWeb ASG. NIC3 חבר ב-AsgLogic ASG, ו-NIC4 חבר ב-AsgDb ASG. בדוגמה זו, כל ממשק רשת הוא חבר בקבוצת אבטחת רשת אחת בלבד. עם זאת, ממשק רשת יכול להיות חבר במספר ASG, עד למגבלות Azure.
לאף אחד מממשקי הרשת אין קבוצת אבטחת רשת משויכת. NSG1 משויך לשני רשתות המשנה והוא מכיל את הכללים הבאים:
Allow-HTTP-Inbound-Internet
כלל זה נדרש כדי לאפשר תעבורה מהאינטרנט לשרתי האינטרנט. מאחר שתעבורה נכנסת מהאינטרנט נדחית על-ידי כלל האבטחה המוגדר כברירת מחדל DenyAllInbound, אין צורך בכלל נוסף עבור קבוצות האבטחה של היישומים AsgLogic או AsgDb.
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 100 | אינטרנט | * | AsgWeb | 80 | TCP | אפשר |
מנעDatabase-All
מאחר שכלל האבטחה המוגדר כברירת מחדל AllowVNetInBound מאפשר את כל התקשורת בין משאבים באותה רשת וירטואלית, כלל זה נחוץ כדי למנוע תעבורה מכל המשאבים.
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 120 | * | * | AsgWeb | 1433 | כל | להכחיש |
אפשר -Database-BusinessLogic
כלל זה מאפשר תעבורה מ-AsgLogic ASG ל-AsgDb ASG. העדיפות לכלל זה גבוהה מזו של כלל ההכחשהDatabase-All. כתוצאה מכך, כלל זה מעובד לפני כלל הדחייהDatabase-All, כך שתעבורה מקבוצת האבטחה של היישום AsgLogic מותרת, בעוד שכל התעבורה האחרת חסומה.
| Priority | מקור | יציאות מקור | יעד | יציאות יעד | פרוטוקול | גישה |
|---|---|---|---|---|---|---|
| 110 | לוגית אכסלוגית | * | מסד נתונים של AsgDb | 1433 | TCP | אפשר |
הכללים המצינים ASG כמקור או כיעד מוחלים רק על ממשקי הרשת החברים ב- ASG. אם ממשק הרשת אינו חבר ב- ASG, הכלל אינו מוחל על ממשק הרשת, למרות שקבוצת אבטחת הרשת משויכת לרשת המשנה.
קבוצות אבטחת יישומים כוללות את האילוצים הבאים:
ישנן מספר מגבלות הקשורות ל-ASG. אחד מהם הוא מספר ה-ASG שאתה יכול לקבל במנוי.
לא ניתן להוסיף ממשקי רשת מרשתות וירטואליות שונות לאותו ASG. לדוגמה, אם ממשק הרשת הראשון שהוקצה ל- ASG בשם AsgWeb נמצא ברשת הווירטואלית בשם VNet1, כל ממשקי הרשת הבאים שהוקצו ל- ASGWeb חייבים להתקיים ב- VNet1.
כל ממשקי הרשת עבור ASG של המקור והיעד צריכים להתקיים באותה רשת וירטואלית. לדוגמה, אם AsgLogic הכיל ממשקי רשת מ- VNet1 ו- AsgDb הכילו ממשקי רשת מ- VNet2, לא היתה אפשרות להקצות את AsgLogic כמקור ו- AsgDb כיעד בכלל.