תכנון ויישום של קבוצות אבטחת רשת (NSG) וקבוצות אבטחת אפליקציות (ASG)
באפשרותך להשתמש בקבוצת אבטחת רשת של Azure כדי לסנן תעבורת רשת בין משאבי Azure ברשת וירטואלית של Azure. קבוצת אבטחת רשת מכילה כללי אבטחה המאפשרים או דוחים תעבורת רשת נכנסת לת תעבורת רשת יוצאת, או מכמה סוגים של משאבי Azure. עבור כל כלל, באפשרותך לציין מקור ויעד עבור, יציאהו- של.
קבוצות אבטחת רשת (NSG)
כללי אבטחה
קבוצת אבטחת רשת מכילה כללים רבים ככל ותוקף, במסגרת מגבלות המנוי של Azure. כל כלל מציין את המאפיינים הבאים:
| מאפיין | הסבר |
|---|---|
| שם | שם ייחודי בתוך קבוצת אבטחת הרשת. השם יכול להכיל עד 80 תווים. הוא חייב להתחיל בתו מילה, ועלו להסתיים בתו מילה או ב- '_'. השם עשוי להכיל תווי מילה או '.', '-', '_'. |
| עדיפות | מספר בין 100 ל- 4096. כללים מעובדים בסדר עדיפות, כאשר מספרים כוללים מספר נמוך יותר שעובדו לפני מספרים גבוהים יותר, מכיוון שלהמספרים המספרים הגבוהה יותר יש עדיפות גבוהה יותר. לאחר שהתעבורה תואמת לכלל, העיבוד נפסק. כתוצאה מכך, כללים הקיימים עם עדיפויות נמוכות יותר (מספרים גבוהים יותר) בעלי תכונות זהות לכללים עם סדרי עדיפויות גבוהים יותר אינם מעובדים. לכללי האבטחה המוגדרים כברירת מחדל של Azure מוצג המספר הגבוה ביותר עם העדיפות הנמוכה ביותר כדי להבטיח שכללים מותאמים אישית יעובדו תמיד תחילה. |
| מקור או יעד | בלוק כלשהו, או כתובת IP בודדת, בלוק ניתוב בין תחומים (CIDR) (10.0.0.0/24, לדוגמה), תג שירות או קבוצת אבטחה של יישומים. אם תציין כתובת עבור משאב Azure, ציין את כתובת ה- IP הפרטית שהוקצתה למשאב. קבוצות אבטחת רשת מעובדות לאחר ש- Azure מתרגם כתובת IP ציבורית לכתובת IP פרטית עבור תעבורה נכנסת, ולפני ש- Azure מתרגם כתובת IP פרטית לכתובת IP ציבורית עבור תעבורה יוצאת. נדרשים פחות כללי אבטחה בעת ציון טווח, תגית שירות או קבוצת אבטחה של יישום. היכולת לציין כתובות IP וטווחים בודדים מרובים (לא ניתן לציין תגיות שירות או קבוצות יישומים מרובות) בכלל נקראת כללי אבטחה מורחבים. ניתן ליצור כללי אבטחה רחוקים רק בקבוצות אבטחת רשת שנוצרו באמצעות מודל הפריסה של מנהל המשאבים. לא ניתן לציין כתובות IP וטווחי כתובות IP מרובים בקבוצות אבטחת רשת שנוצרו באמצעות מודל הפריסה הקלאסי. |
| פרוטוקול | TCP, UDP, ICMP, ESP, AH או Any. פרוטוקולי ESP ו- AH אינם זמינים כעת דרך פורטל Azure, אך ניתן להשתמש בהם באמצעות תבניות של Azure Resource Manager. |
| כיוון | אם הכלל חל על תעבורה נכנסת או על תעבורה יוצאת. |
| טווח יציאות | באפשרותך לציין יחיד או טווח יציאות. לדוגמה, באפשרותך לציין 80 או 10000-10005. ציון טווחים מאפשר לך ליצור פחות כללי אבטחה. ניתן ליצור כללי אבטחה רחוקים רק בקבוצות אבטחת רשת שנוצרו באמצעות מודל הפריסה של מנהל המשאבים. לא ניתן לציין יציאות או טווחי יציאות מרובים באותו כלל אבטחה בקבוצות אבטחת רשת שנוצרו באמצעות מודל הפריסה הקלאסי. |
| פעולה | התרה או דחייה |
כללי אבטחה מוערכים וחלים בהתבסס על חמש קבוצות (1. מקור, 2. יציאת מקור, 3. יעד, 4. יציאת יעד ו- 5. פרוטוקול). לא ניתן ליצור שני כללי אבטחה בעלי אותו עדיפות ואותו כיוון. רשומת זרימה נוצרת עבור חיבורים קיימים. התקשורת מותרת או נדחתה בהתבסס על מצב החיבור של רשומת הזרימה. רשומת הזרימה מאפשרת לקבוצת אבטחת רשת להיות מדינה. אם תציין כלל אבטחה יוצא לכל כתובת דרך יציאה 80, לדוגמה, אין צורך לציין כלל אבטחה נכנסת עבור התגובה לתעבורה היוצאת. עליך לציין כלל אבטחה נכנס רק אם התקשורת מופעלת באופן חיצוני. ההפך הוא גם נכון. אם תעבורה נכנסת מותרת דרך יציאה, אין צורך לציין כלל אבטחה יוצא כדי להגיב לתעבורה דרך היציאה.
ייתכן שחיבורים קיימים לא יופסקו בעת הסרת כלל אבטחה שהרשה את החיבור. שינוי כללי קבוצת אבטחת רשת ישפיע רק על חיבורים חדשים. בעת יצירת כלל חדש או כאשר כלל קיים מתעדכן בקבוצת אבטחת רשת, הוא יחול רק על חיבורים חדשים. חיבורים קיימים אינם להעריך מחדש את הכללים החדשים.
כיצד קבוצות אבטחת רשת מסננות תעבורת רשת
באפשרותך לפרוס משאבים מכמה שירותי Azure ברשת וירטואלית של Azure. באפשרותך לשייך אפס, או קבוצת אבטחת רשת אחת לכל רשת משנה של רשת וירטואלית וממשק רשת במחשב וירטואלי. אותה קבוצת אבטחת רשת יכולה להיות משויכת לרשתות משנה ולממשקי רשת רבים ככל שתבחר. התמונה הבאה מציגה תרחישים שונים עבור האופן שבו ניתן לפרוס קבוצות אבטחת רשת מאפשרות תעבורת רשת אל ומהאינטרנט דרך יציאת TCP 80:
עיין בתמונה, יחד עם הטקסט הבא, כדי להבין כיצד Azure מעבד כללים נכנסים ו יוצאים עבור קבוצות אבטחת רשת:
תעבורה נכנסת
עבור תעבורה נכנסת, Azure מעבד תחילה את הכללים בקבוצת אבטחת רשת המשויכת לרשת משנה, אם קיימת, ולאחר מכן את הכללים בקבוצת אבטחת רשת המשויכת לממשק הרשת, אם קיימת. תהליך זה כולל גם תעבורת אינטרא-נט.
- VM1: כללי האבטחה ב- NSG1 מעובדים, מאחר שהוא משויך ל- Subnet 1 ו- VM1 נמצא ב- Subnet 1. אם לא יצרת כלל המאפשר כניסה של יציאה 80, DenyAllInbound האבטחה המוגדר כברירת מחדל מכחיש את התעבורה. התעבורה אינה מוערכת על-ידי NSG2 מכיוון שהיא משויכת לממשק הרשת. אם NSG1 יציאה 80 בכלל האבטחה שלה, NSG2 מעבד את התעבורה. כדי לאפשר את יציאה 80 למחשב הווירטואלי, הן NSG1 והן NSG2 חייבים לכלול כלל המאפשר יציאה 80 מהאינטרנט.
- VM2: הכללים ב- NSG1 מעובדים מאחר ש- VM2 נמצא גם ב- משנה 1. מאחר VM2 לא כוללת קבוצת אבטחת רשת המשויכת לממשק הרשת שלה, היא מקבלת את כל התעבורה המותרת דרך NSG1 או נדחתה כל התעבורה על-ידי NSG1. התעבורה מותרת או נדחתה לכל המשאבים באותה רשת משנה כאשר קבוצת אבטחת רשת משויכת לרשת משנה.
- VM3: מאחר שאין קבוצת אבטחת רשת המשויכת לרשת המשנה של 2, התעבורה מותרת לרשת המשנה ומעובדת על-ידי NSG2, מאחר ש- NSG2 משויך לממשק הרשת המצורף ל- VM3.
- VM4: התעבורה מותרת VM4, מאחר שקבוצת אבטחת רשת אינה משויכת לרשת משנה 3 שלאו לממשק הרשת במחשב הווירטואלי. כל תעבורת הרשת מותרת דרך רשת משנה וממשק רשת אם אין להם קבוצת אבטחת רשת המשויכת אליהם.
תעבורה יוצאת
עבור תעבורה יוצאת, Azure מעבד תחילה את הכללים בקבוצת אבטחת רשת המשויכת לממשק רשת, אם קיים, ולאחר מכן את הכללים בקבוצת אבטחת רשת המשויכת לרשת המשנה, אם קיימת. תהליך זה כולל גם תעבורת אינטרא-נט.
- VM1: כללי האבטחה ב- NSG2 עיבוד. כלל האבטחה AllowInternetOutbound המוגדר כברירת מחדל הן ב- NSG1 והן ב- NSG2 מאפשר את התעבורה אלא אם אתה יוצר כלל אבטחה המונעת יציאה 80 יוצאת לאינטרנט. אם NSG2 מכחיש את יציאה 80 בכלל האבטחה שלו, הוא מכחיש את התעבורה ו- NSG1 לעולם לא מעריך אותה. כדי למנוע את יציאה 80 מהמחשב הווירטואלי, או של שתיהן, חייב להיות כלל שמכחיש את יציאה 80 לאינטרנט.
- VM2: כל התעבורה נשלחת דרך ממשק הרשת לרשת המשנה, מאחר שממשק הרשת המצורף ל- VM2 לא כוללת קבוצת אבטחת רשת המשויכת אליה. הכללים ב- NSG1 מעובדים.
- VM3: אם NSG2 את יציאה 80 בכלל האבטחה שלו, היא תכחיש את התעבורה. אם NSG2 אינו דוחס את יציאה 80, כלל האבטחה של AllowInternetOutbound ב- NSG2 מאפשר את התעבורה מכיוון שאין קבוצת אבטחת רשת המשויכת לרשת Subnet 2.
- VM4: כל תעבורת הרשת מותרת מ- VM4, מכיוון שקבוצת אבטחת רשת אינה משויכת לממשק הרשת המצורף למחשב הווירטואלי, או משנה 3.
Intra-Subnet תנועה
חשוב לציין שכללי האבטחה ב- NSG המשויכים לרשת משנה יכולים להשפיע על הקישוריות בין מחשבים וירטואליים בתוכה. כברירת מחדל, מחשבים וירטואליים באותה רשת משנה יכולים לקיים תקשורת בהתבסס על כלל NSG המהווה ברירת מחדל המאפשר תעבורת אינטרא-נט. אם תוסיף כלל ל- NSG1 שמכחיש את כל התעבורה הנכנסת והתעבורה היוצאת, VM1 ו- VM2 לא יוכלו לקיים תקשורת זה עם זה.
באפשרותך להציג בקלות את כללי הצבירה המוחלים על ממשק רשת על-ידי הצגת כללי האבטחה האפקטיביים עבור ממשק רשת. באפשרותך גם להשתמש בזרימת IP לאימות יכולת ב- Azure Network Watcher כדי לקבוע אם תקשורת מותרת לממשק רשת או ממנו. באפשרותך להשתמש בזרימת IP כדי לקבוע אם תקשורת מותרת או נדחתה. בנוסף, השתמש בזרימת IP כדי להציג את זהותו של כלל אבטחת הרשת האחראי על מתן אפשרות או דחייה של התעבורה.
קבוצות אבטחת רשת משויכת לרשתות משנה או למחשבים וירטואליים ול שירותי ענן שנפרסו במודל הפריסה הקלאסי, ולרשתות משנה או ממשקי רשת במודל הפריסה של מנהל המשאבים.
אלא אם יש לך סיבה ספציפית לכך, מומלץ לשייך קבוצת אבטחת רשת לרשת משנה או לממשק רשת, אך לא לשניהם. מאחר שכללים בקבוצת אבטחת רשת המשויכת לרשת משנה עשויים להתנגש עם כללים בקבוצת אבטחת רשת המשויכת לממשק רשת, עשויות להיות בעיות תקשורת בלתי צפויות הדורשות פתרון בעיות.
קבוצות אבטחת יישומים (ASG)
קבוצות אבטחה של יישומים מאפשרות לך לקבוע את תצורת אבטחת הרשת כהרחבה טבעית של מבנה היישום, כך שתוכל לקבץ מחשבים וירטואליים ולהגדיר מדיניות אבטחת רשת בהתבסס על קבוצות אלה. באפשרותך לעשות שימוש חוזר במדיניות האבטחה שלך בקנה מידה רחב ללא תחזוקה ידנית של כתובות IP מפורשות. הפלטפורמה מטפלת במורכבות של כתובות IP מפורשות ובערכות כללים מרובות, ומאפשרת לך להתמקד בלוגיקה העסקית שלך. כדי להבין טוב יותר קבוצות אבטחה של יישומים, שקול את הדוגמה הבאה:
בתמונה הקודמת, NIC1 ו- NIC2 חברים בקבוצת האבטחה של AsgWeb האפליקציה. NIC3 חבר בקבוצת האבטחה של AsgLogic של היישום. NIC4 חבר בקבוצה AsgDb של היישום. למרות שכל ממשק רשת (NIC) בדוגמה זו חבר בקבוצת אבטחת רשת אחת בלבד, ממשק רשת יכול להיות חבר בקבוצות אבטחה מרובות של אפליקציות, עד ל- Azure Limits. לאף אחד מממשקי הרשת אין קבוצת אבטחת רשת משויכת. NSG1 משויך לשני רשתות המשנה והוא מכיל את הכללים הבאים:
Allow-HTTP-Inbound-Internet
כלל זה נדרש כדי לאפשר תעבורה מהאינטרנט לשרתי האינטרנט. מאחר שתעבורה נכנסת מהאינטרנט נדחתה על-ידי כלל האבטחה המוגדר כברירת מחדל DenyAllInbound, אין צורך בכלל נוסף עבור AsgLogic או AsgDb קבוצות אבטחה של יישומים.
| עדיפות | מקור | יציאות מקור | יעד | יציאות יעד | Protocol | Access |
|---|---|---|---|---|---|---|
| 100 | אינטרנט | * | AsgWeb | 80 | TCP | אפשר |
מנעDatabase-All
מאחר שכלל האבטחה המוגדר כברירת מחדל AllowVNetInBound מאפשר את כל התקשורת בין המשאבים באותה רשת וירטואלית, כלל זה נדרש כדי למנוע תעבורה מכל המשאבים.
| עדיפות | מקור | יציאות מקור | יעד | יציאות יעד | Protocol | Access |
|---|---|---|---|---|---|---|
| 120 | * | * | מסד נתונים של AsgDb | 1433 | כלשהו | להכחיש |
אפשר -Database-BusinessLogic
כלל זה מאפשר תעבורה מרשימת AsgLogic של יישום לקבוצת האבטחה של AsgDb של היישום. העדיפות עבור כלל זה גבוהה מהעדיפות עבור הכלל Deny-Database-All שלך. כתוצאה מכך, כלל זה מעובד לפני הכלל Deny-Database-All, כך שהתעבורה מקבוצה האבטחה של היישום AsgLogic מותרת, בעוד שכל שאר התעבורה חסומה.
| עדיפות | מקור | יציאות מקור | יעד | יציאות יעד | Protocol | Access |
|---|---|---|---|---|---|---|
| 110 | לוגית אכסלוגית | * | מסד נתונים של AsgDb | 1433 | TCP | אפשר |
ממשקי רשת החברים בקבוצת אבטחת היישום מחילים את הכללים המצינים אותם כמקור או כיעד. הכללים אינם משפיעים על ממשקי רשת אחרים. אם ממשק הרשת אינו חבר בקבוצת אבטחת יישומים, הכלל אינו מוחל על ממשק הרשת, למרות שקבוצת אבטחת הרשת משויכת לרשת המשנה.
קבוצות אבטחת יישומים כוללות את האילוצים הבאים:
קיימות מגבלות על מספר קבוצות האבטחה של אפליקציות שניתן לכלול במנוי, ומגבלות אחרות הקשורות לקבוצות אבטחה של יישומים.
כל ממשקי הרשת שהוקצו לקבוצת אבטחת יישומים חייבים להתקיים באותה רשת וירטואלית שבה נמצא ממשק הרשת הראשון שהוקצה לקבוצת האבטחה של היישום. לדוגמה, אם ממשק הרשת הראשון שהוקצה לקבוצת אבטחת יישומים בשם AsgWeb נמצא ברשת הווירטואלית בשם VNet1, כל ממשקי הרשת הבאים שהוקצו ל- ASGWeb חייבים להתקיים ב- VNet1. לא ניתן להוסיף ממשקי רשת מרשתות וירטואליות שונות לאותה קבוצת אבטחת יישומים.
אם תציין קבוצת אבטחה של יישום כמקור ויעד בכלל אבטחה, ממשקי הרשת בשתי קבוצות האבטחה של היישומים חייבים להתקיים באותה רשת וירטואלית.
- דוגמה לכך היא שאם ל- AsgLogic היו ממשקי רשת מ- VNet1 ו- AsgDb היו ממשקי רשת מ- VNet2. במקרה זה, זה יהיה בלתי אפשרי להקצות AsgLogic כמקור ו- AsgDb כיעד בכלל. כל ממשקי הרשת עבור קבוצות האבטחה של יישומי המקור והיעד צריכים להתקיים באותה רשת וירטואלית.
כדי למזער את מספר כללי האבטחה הדרושים, ואת הצורך לשנות את הכללים, תכנן את קבוצות האבטחה של היישומים הדרושות לך וצור כללים באמצעות תגיות שירות או קבוצות אבטחה של יישומים, במקום כתובות IP בודדות או טווחים של כתובות IP, במידת האפשר.