تخطيط وتنفيذ مجموعات أمان الشبكة (NSGs) ومجموعات أمان التطبيقات (ASGs)

مكتمل

يمكنك استخدام مجموعة أمان شبكة Azure لتصفية نسبة استخدام الشبكة بين موارد Azure في الشبكة الظاهرية لـ Azure. تحتوي مجموعة أمان الشبكة على قواعد أمان تسمح (أو ترفض) نسبة استخدام الشبكة الوارد (أو الصادر) إلى عدة أنواع من موارد Azure. لكل قاعدة، يمكنك تحديد المصدر والوجهة والمنفذ والبروتوكول.

مجموعات أمان الشبكة (NSGs)

قواعد الأمان

تحتوي مجموعة أمان الشبكة على العديد من القواعد حسب الرغبة، ضمن حدود اشتراك Azure. تحدد كل قاعدة الخصائص التالية:

الخاصية الشرح
الاسم اسم فريد داخل مجموعة أمان الشبكة. يمكن أن يصل طول الاسم إلى 80 حرفا. يجب أن تبدأ بحرف كلمة، ويجب أن تنتهي بحرف كلمة أو ب '_'. قد يحتوي الاسم على أحرف كلمة أو '.' أو '-' أو '_'.
أولوية رقم بين 100 و4096. تُعالج القواعد بترتيب الأولوية، إذ تٌعالج الأرقام الأقل قبل الأرقام الأعلى وذلك لأن الأرقام الأقل لها أولوية قُصوى. تتوقف المعالجة بمُجرد تطابق نسبة استخدام الشبكة مع القاعدة. نتيجة لذلك، لا تتم معالجة أي قواعد موجودة بأولويات أقل (أرقام أعلى) والتي لها نفس السمات مثل القواعد ذات الأولويات الأعلى.
يتم إعطاء قواعد الأمان الافتراضية ل Azure أعلى رقم مع أدنى أولوية لضمان معالجة القواعد المخصصة دائما أولا.
المصدر أو الوجهة أي منها، أو عنوان IP فردي، كتلة توجيه المجال من دون فئة (CIDR) (10.0.0.0/24 على سبيل المثال) أو علامة الخدمة أو مجموعة أمان التطبيقات. إذا حددت عنواناً لمورد Azure، فحدد عنوان IP الخاص المعين للمورد. تتم معالجة مجموعات أمان الشبكة بعد أن يترجم Azure عنوان IP عامًا إلى عنوان IP خاص لحركة المرور الواردة، وقبل أن يترجم Azure عنوان IP خاصًا إلى عنوان IP عام لحركة مرور صادرة. هناك حاجة إلى قواعد أمان أقل عند تحديد نطاق أو علامة خدمة أو مجموعة تأمين تطبيق. يُشار إلى القدرة على تحديد نطاقات وعناوين IP فردية متعددة (لا يمكنك تحديد عدة علامات خدمة أو مجموعات تطبيق) في قاعدة باسم قواعد الأمان المعززة. لا يمكن إنشاء قواعد الأمان المعززة إلا في مجموعات أمان الشبكة التي تم إنشاؤها من خلال نموذج توزيع Resource Manager. لا يمكنك تحديد عدة عناوين IP ونطاقات عناوين IP في مجموعات أمان الشبكة التي تم إنشاؤها من خلال نموذج التوزيع الكلاسيكي.
البروتوكول TCP أو UDP أو ICMP أو ESP أو AH أو أي شيء. بروتوكولات ESP و AH غير متوفرة حاليا عبر مدخل Microsoft Azure ولكن يمكن استخدامها عبر قوالب Azure Resource Manager.
الاتجاه ما إذا كانت القاعدة تنطبق على نسبة الاستخدام الواردة أو الصادرة.
نطاق المنفذ يمكنك تحديد منفذ فردي أو نطاق من المنافذ. على سبيل المثال، يمكنك تحديد 80 أو 10000-10005. ويتيح لك تحديد نطاقات إمكانية إنشاء قواعد أمان أقل. لا يمكن إنشاء قواعد الأمان المعززة إلا في مجموعات أمان الشبكة التي تم إنشاؤها من خلال نموذج توزيع Resource Manager. لا يمكنك تحديد منافذ متعددة أو نطاقات منافذ في نفس قاعدة الأمان في مجموعات أمان الشبكة التي تم إنشاؤها من خلال نموذج التوزيع الكلاسيكي.
الإجراء السماح أو الرفض

يتم تقييم قواعد الأمان وتطبيقها استنادا إلى معلومات الخمس مجموعات (1. المصدر، 2. منفذ المصدر، 3. الوجهة، 4. منفذ الوجهة، 5. البروتوكول). لا يمكنك إنشاء قاعدتي أمان بنفس الأولوية والاتجاه. يتم إنشاء سجل تدفق للاتصالات الموجودة. يسمح بالاتصال أو يتم رفضه استناداً إلى حالة اتصال سجل التدفق. يسمح سجل التدفق لمجموعة أمان شبكة بأن تكون إشارة حالة. إذا قمت بتحديد قاعدة أمان صادرة لأي عنوان عبر المنفذ 80، على سبيل المثال، فليس من الضروري تحديد قاعدة أمان واردة للاستجابة لنسبة استخدام الشبكة الصادرة. ما عليك سوى تحديد قاعدة أمان واردة إذا بدأ الاتصال خارجياً. والعكس صحيح أيضاً. إذا تم السماح بنسبة استخدام الشبكة الواردة عبر أحد المنافذ، فليس من الضروري تحديد قاعدة أمان صادرة للاستجابة لنسبة استخدام الشبكة عبر المنفذ.

قد لا تتم مقاطعة الاتصالات الموجودة عند إزالة قاعدة أمان سمحت بالاتصال. سيؤثر تعديل قواعد مجموعة أمان الشبكة على الاتصالات الجديدة فقط. عند إنشاء قاعدة جديدة أو تحديث قاعدة موجودة في مجموعة أمان شبكة اتصال، سيتم تطبيقها فقط على الاتصالات الجديدة. لا تتم إعادة تقييم الاتصالات الموجودة مع القواعد الجديدة.

كيفية تصفية نسبة استخدام الشبكة باستخدام مجموعات أمان الشبكة

يمكنك نشر الموارد من العديد من خدمات Azure في شبكة Azure ظاهرية. ومكنك عدم ربط أي مجموعة أمان شبكة أو ربط مجموعة واحدة بكل شبكة فرعية وواجهة شبكة ظاهرية في جهاز ظاهري. يمكن أن تكون نفس مجموعة أمان الشبكة مقترنة بالعديد من الشبكات الفرعية وواجهات الشبكة التي تختارها. توضح الصورة التالية سيناريوهات مختلفة لكيفية نشر مجموعات أمان الشبكة للسماح بنسبة استخدام الشبكة من وإلى الإنترنت عبر منفذ TCP 80:

رسم تخطيطي يوضح مثالا على كيفية نشر مجموعات أمان الشبكة للسماح بنسبة استخدام الشبكة من وإلى الإنترنت عبر منفذ TCP 80.

راجع الصورة، جنبا إلى جنب مع النص التالي، لفهم كيفية معالجة Azure للقواعد الواردة والصادرة لمجموعات أمان الشبكة:

نسبة استخدام الشبكة الواردة

بالنسبة لنسبة استخدام الشبكة الواردة، يعالج Azure القواعد في مجموعة أمان الشبكة المرتبطة بشبكة فرعية أولاً، إذا كانت هناك واحدة، ثم القواعد في مجموعة أمان الشبكة المرتبطة بواجهة الشبكة، إن كانت هناك واحدة. تتضمن هذه العملية حركة المرور داخل الشبكة الفرعية أيضا.

  • VM1: تتم معالجة قواعد الأمان في NSG1، لأنها مقترنة بالشبكة الفرعية 1 وVM1في الشبكة الفرعية 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: يتم إرسال جميع نسبة استخدام الشبكة من خلال واجهة الشبكة إلى الشبكة الفرعية، نظرا لأن واجهة الشبكة المرفقة بالجهاز الظاهري 2 لا تحتوي على مجموعة أمان شبكة مرتبطة بها. تُعالج القواعد في NSG1.
  • VM3: إذا رفض NSG2 المنفذ 80 في قاعدة الأمان الخاصة به، فإنه يرفض حركة المرور. إذا لم يرفض NSG2 المنفذ 80، فإن قاعدة الأمان الافتراضي AllowInternetOutbound في NSG2 تسمح بنسبة استخدام الشبكة لأنه لا توجد مجموعة أمان شبكة مقترنة بالشبكة الفرعية 2.
  • VM4: يسمح بكافة حركة مرور الشبكة من VM4، لأن مجموعة أمان الشبكة غير مقترنة بواجهة الشبكة المرفقة بالجهاز الظاهري، أو بالشبكة الفرعية 3.

نسبة استخدام الشبكة داخل الشبكة الفرعية

من المهم ملاحظة أن قواعد الأمان في NSG المرتبطة بشبكة فرعية يمكن أن تؤثر على الاتصال بين الأجهزة الافتراضية داخلها. بشكل افتراضي، يمكن للأجهزة الافتراضية في نفس الشبكة الفرعية الاتصال بناءً على قاعدة NSG الافتراضية التي تسمح بنسبة استخدام داخل الشبكة الفرعية. إذا أضفت قاعدة إلى NSG1 ترفض كل حركة المرور الواردة والصادرة، فلن يتمكن الجهاز الظاهري 1 وVM2من الاتصال ببعضهما البعض.

يمكنك بسهولة استعراض القواعد المُجمعة المُطبقة على واجهة الشبكة من خلال عرض قواعد الأمان الفعالة لواجهة الشبكة. يمكنك أيضاً استخدام إمكانية التحقق من تدفق بروتوكول الإنترنت في Azure Network Watcher لتحديد ما إذا كان الاتصال مسموحاً به من أو إلى واجهة شبكة. يمكنك استخدام التحقق من تدفق IP لتحديد ما إذا كان الاتصال مسموحا به أو مرفوضا. بالإضافة إلى ذلك، استخدم التحقق من تدفق IP لإظهار هوية قاعدة أمان الشبكة المسؤولة عن السماح بنسبة استخدام الشبكة أو رفضها.

تقترن مجموعات أمان الشبكة بالشبكات الفرعية أو بالأجهزة الظاهرية والخدمات السحابية المنشورة في نموذج النشر الكلاسيكي، وبالشبكات الفرعية أو واجهات الشبكة في نموذج نشر Resource Manager.

ما لم يكن لديك سبب محدد لذلك، نوصي بربط مجموعة أمان الشبكة بشبكة فرعية أو واجهة شبكة الاتصال، ولكن ليس كليهما. بما أن القواعد في مجموعة أمان شبكة الاتصال مقترنة بشبكة فرعية يمكن أن تتعارض مع القواعد في مجموعة أمان الشبكة المرتبطة بواجهة شبكة اتصال، فقد تواجه مشكلات اتصال غير متوقعة تتطلب استكشاف الأخطاء وإصلاحها.

مجموعات أمان التطبيقات (ASGs)

تتيح لك مجموعات أمان التطبيقات تكوين أمان الشبكة كامتداد طبيعي لهيكل التطبيق، ما يسمح لك بتجميع الأجهزة الظاهرية وتحديد نُهج أمان الشبكة بناءً على تلك المجموعات. يمكنك إعادة استخدام نهج الأمان الخاص بك على نطاق واسع دون الصيانة اليدوية لعناوين IP الصريحة. يُعالج النظام الأساسي تعقيد عناوين IP الصريحة ومجموعات القواعد المتعددة، ما يسمح لك بالتركيز على منطق تسلسل عملك. لفهم مجموعات أمان التطبيقات بشكلٍ أفضل، ضع في اعتبارك المثال التالي:

رسم تخطيطي يوضح مثالا لمجموعات أمان شبكة Azure ومجموعات أمان التطبيقات.

في الصورة السابقة، NIC1 وNIC2 هم أعضاء في مجموعة أمان التطبيق AsgWeb. NIC3 هو عضو في مجموعة أمان التطبيقات AsgLogic. NIC4 هو عضو في مجموعة أمان التطبيقات AsgDb. على الرغم من أن كل واجهة شبكة (NIC) في هذا المثال عضو في مجموعة أمان شبكة واحدة فقط، يمكن أن تكون واجهة الشبكة عضوا في مجموعات أمان تطبيقات متعددة، حتى حدود Azure. لا يوجد لدى أي من واجهات الشبكة مجموعة أمان شبكة مقترنة. NSG1 مقترنة بكل شبكة من الشبكات الفرعية ويحتوي على القواعد التالية:

السماح بـ HTTP-Inbound-Internet

هذه القاعدة ضرورية للسماح بنسبة استخدام الشبكة من الإنترنت إلى خوادم الويب. نظرا لأن نسبة استخدام الشبكة الواردة من الإنترنت مرفوضة بواسطة قاعدة الأمان الافتراضية DenyAllInbound، فلا يلزم وجود قاعدة إضافية AsgLogic أو AsgDb مجموعات أمان التطبيقات.

الأولوية Source منافذ مصدر مقصد منافذ الوجهة البروتوكول الوصول
100 الإنترنت * AsgWeb 80 TCP السماح

رفض جميع قواعد البيانات

نظرا لأن قاعدة الأمان الافتراضية AllowVNetInBound تسمح بكافة الاتصالات بين الموارد في نفس الشبكة الظاهرية، فإن هذه القاعدة مطلوبة لرفض نسبة استخدام الشبكة من جميع الموارد.

الأولوية Source منافذ مصدر مقصد منافذ الوجهة البروتوكول الوصول
120 * * AsgDb 1433 أي الرفض

السماح بقاعدة بيانات-BusinessLogic

تسمح هذه القاعدة بحركة المرور من مجموعة أمان تطبيق AsgLogic إلى مجموعة أمان تطبيق AsgDb. الأولوية لهذه القاعدة أعلى من أولوية قاعدة Deny-Database-All. ونتيجة لذلك، تتم معالجة هذه القاعدة قبل قاعدة Deny-Database-All، بحيث يسمح بنسبة استخدام الشبكة من مجموعة أمان تطبيق AsgLogic بينما يتم حظر جميع نسب استخدام الشبكة الأخرى.

الأولوية Source منافذ مصدر مقصد منافذ الوجهة البروتوكول الوصول
110 AsgLogic * AsgDb 1433 TCP السماح

تطبق واجهات الشبكة الأعضاء في مجموعة أمان التطبيق القواعد التي تحددها كمصدر أو وجهة. لا تؤثر القواعد على واجهات الشبكة الأخرى. إذا لم تكن واجهة الشبكة عضوا في مجموعة أمان التطبيقات، فلن يتم تطبيق القاعدة على واجهة الشبكة، على الرغم من أن مجموعة أمان الشبكة مقترنة بالشبكة الفرعية.

مجموعات أمان التطبيقات لها القيود التالية:

  • هناك حدود لعدد مجموعات أمان التطبيقات التي يمكن أن يكون لديك في اشتراك، وحدود أخرى تتعلق بمجموعات أمان التطبيقات.

  • يجب أن تكون جميع واجهات الشبكة المعينة إلى مجموعة أمان التطبيق موجودة في الشبكة الظاهرية نفسها التي توجد بها واجهة الشبكة الأولى المعينة إلى مجموعة أمان التطبيقات. على سبيل المثال، إذا كانت واجهة الشبكة الأولى المعينة إلى مجموعة أمان التطبيقات المسمَّى AsgWeb موجودة في شبكة الاتصال الظاهرية المسماة VNet1، يجب أن توجد جميع واجهات الشبكة اللاحقة المعينة إلى ASGWeb في VNet1. لا يمكنك إضافة واجهات شبكة اتصال من شبكات ظاهرية مختلفة إلى نفس مجموعة أمان التطبيق.

  • إذا قمت بتحديد مجموعة أمان تطبيق كمصدر وجهة في قاعدة أمان، يجب أن تكون واجهات الشبكة في مجموعتي أمان التطبيق موجودة في الشبكة الظاهرية نفسها.

    • مثال على ذلك هو إذا كان لدى AsgLogic واجهات شبكة من VNet1 وكان لدى AsgDb واجهات شبكة من VNet2. في هذه الحالة، سيكون من المستحيل تعيين AsgLogic كمصدر وAsgDb كوجهة في قاعدة. تحتاج جميع واجهات شبكة الاتصال لكل من مجموعة أمان التطبيقات المورّد والوجهة إلى الوجود في نفس الشبكة الظاهرية.

لتقليل عدد قواعد الأمان التي تحتاجها، والحاجة إلى تغيير القواعد، خطط لمجموعات أمان التطبيقات التي تحتاج إليها وأنشئ قواعد باستخدام علامات الخدمة أو مجموعات أمان التطبيقات، بدلا من عناوين IP الفردية أو نطاقات عناوين IP كلما أمكن ذلك.