מה זה Network Security Group

במאמר הזה אסביר מה זה Azure Network Security Group או בקצרה NSG.
הנקודות העיקריות בהן המאמר יעסוק:
– איזה שירות ה-NSG מספק.
– לאיזה אובייקטים ניתן לשייך NSG.
– מה עלות השימוש ב-NSG
– אופן העבודה של NSG

הכל בתוך הפוסט, כנסו!

Network Security Group (NSG) הוא למעשה אובייקט ב-Azure השייך למשפחת שירותי הרשת ב-Azure ומספק לנו שירות Firewall.
השימוש ב-NSG הוא ללא עלות, השימוש בו ניתן כחלק מהתשלום על השרתים או אפליקציות ה-WEB (WebApps) שלכם.
באמצעות ה-NSG  ניתן לקבוע Access control list (ACL) לתעבורת הרשת הנכנסת (Inbound) והיוצאת (Outbound) שלנו ב-Azure.
במילים אחרות, NSG מאפשר לכם להחליט איזה תעבורה אנו מרשים או לא מרשים שתיכנס או תצא אל/מ-הרשת שלנו ב-Azure.
Firewall קלאסי לא !?…

אני מניח שבשלב זה אתם מדמיינים לעצמכם בראש את ממשקי ה-Firewalls שהתרגלתם אליהם עד היום Fortigate, Check Point NGX, Palo Alto, pfSense, Juniper ועוד …
ולכן, כדי שזה לא יבלבל אתכם, אבקש שתעצרו ותדמיינו Firewall במשמעות הכי פשוטה שלו.
רשימת חוקים שמכילה כתובת מקור, כתובת יעד, פורט, פרוטוקול ופעולה (Allow או Deny).
כך נראה ופועל ה-NSG, רשימה של חוקים פשוטים שמתחלקת לשתיים Inbound rules ו-Outbound rules.

כשלב ראשון, לשם יצירת אובייקט NSG עליכם לקבוע לו שם, להחליט באיזה Azure Region להקים אותו ולאיזה Resource Group לשייך אותו.
בשלב שני, עליכם ליצור בתוך ה-NSG  את החוקים בהם אתם מעוניינים.

את ה-NSG  ניתן לשייך/להחיל רק לאובייקטים של Subnet ו-VM או NIC (VM במקרה של Classic deployment ו-NIC במקרה של ARM)  ורק לאובייקטים של Subnet ו-VM/NIC שמוגדרים באותו ה- Region בו מוגדר ה-NSG.
מדוע ב-Classic deployment משייכים את NSG ל-VM וב-ARM משייכים את ה-NSG לכרטיס הרשת (NIC) אתם שואלים ?
מכיוון שב-Classic Deployment כרטיס הרשת הוא חלק אינטגרלי מהשרת ולא אובייקט עצמאי.
לעומת זאת, ב-ARM  כרטיס הרשת הוא אובייקט עצמאי ולכן משייכים את ה-NSG לכרטיס הרשת.
כאמור במדריך "ההבדלים בין Azure classic deployment לבין-Azure resource manager (ARM) deployment" ל-ARM  יש הרבה יתרונות למול ה-Classic Deployment וכך גם בכל הקשור לעבודה עם NSG.
מכיוון שבעבודה עם ARM אובייקט כרטיס הרשת הוא עצמאי, במידה ויש לשרת מס' כרטיסי רשת ניתן לשייך לכל כרטיס רשת NSG שונה.

בואו נדבר קצת על ה-Limits של NSG.
ניתן להגדיר עד 100 אובייקטים של NSG בכל Region שמשויך ל-Subscription.
לצורך הדוגמא נניח שיש לכם ב-Subscription אובייקטים שמפוזרים ב-5 Regions תוכלו להקים בכל Region עד 100 אובייקטים של NSG  ז"א 500 אובייקטים של NSG  לכל ה- Subscription.
לכל Subnet, VM או NIC ניתן לשייך רק NSG אחד.
בתוך כל אובייקט של NSG ניתן להגדיר עד 200 חוקים.
שהמילה Limit לא תפחיד אתכם, בעבודה עם NSG תגלו מהר מאוד שהכמויות הנ"ל מספיקות בהחלט אפילו בסביבות Enterprise.

לפני סיום הרשו לי לנתח מקרה מסוים בעבודה עם  NSGשלגביו עולה שאלה שחוזרת על עצמה ויתכן מאוד ותיתקלו בשאלה זו בזמן העבודה עם NSG.
להלן המקרה,
החלנו NSG על Subnet מסויים. בתוך אותו ה-Subnet קיים שרת עם כרטיס רשת שמשויך לאותו ה-Subnet ועליו החלנו אובייקט NSG שונה מזה שהוחל על ה-Subnet.
במידה ויהיה קונפליקט בין חוקים בכל אחד מהאובייקטים של ה- NSGמי לדעתכם יהיה חזק יותר ?
נחלק את התשובה לשני חלקים:

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

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

עד כאן תאוריה להיום, במדריכים הבאים נלכלך את הידיים ואציג צעד אחר צעד כיצד להגדיר NSG.

במידה ויש שאלות או הערות אשמח אם תשתפו בתגובות שבתחתית הפוסט.

הוספת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

two − one =

הרשמו לרשימת התפוצה!