أفضل ممارسات أمان خاصة بـ Azure Service Fabric

بالإضافة إلى هذه المقالة، يرجى أيضاً مراجعة قائمة التحقق من أمان Service Fabric لمزيد من المعلومات.

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

Azure Service Fabric هو نظام أساسي للأنظمة الموزّعة يسهل عملية حزم الخدمات الصغيرة الموثوقة والقابلة للتحجيم وتوزيعها وإدارتها. يتعامل Service Fabric أيضًا مع التحديات المهمة في تطوير تطبيقات السحابة وإدارتها. يستطيع المطورون والمسؤولون تجنب مشكلات البنية التحتية المعقدة والتركيز على تطبيق أحمال العمل المُلحة والهامة للمهمات التي تتسم بقابلية التوسعة والموثوقية وقابلية الإدارة.

لكل ممارسة من أفضل الممارسات، نوضح:

  • ما أفضل الممارسات.
  • لماذا يجب عليك تنفيذ أفضل الممارسات.
  • ماذا قد يحدث إذا لم تطبق أفضل الممارسات.
  • كيف يمكنك تعلم تطبيق أفضل الممارسات.

نوصي بأفضل ممارسات أمان Azure Service Fabric التالية:

  • استخدم قوالب Azure Resource Manager ووحدة Service Fabric PowerShell لإنشاء مجموعات آمنة.
  • استخدم شهادات X.509.
  • تكوين نُهج الأمان.
  • تنفيذ تكوين الأمان الموثوق به.
  • قم بتكوين TLS لـ Azure Service Fabric.
  • استخدم عزل الشبكة والأمان مع Azure Service Fabric.
  • قم بتكوين Azure Key Vault للأمان.
  • قم بتعيين المستخدمين للأدوار.
  • أشياء تجب مراعاتها عند استضافة تطبيقات غير موثوق بها في مجموعة Service Fabri.

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

استخدم دائماً مجموعة آمنة:

  • تنفيذ أمان نظام المجموعة باستخدام الشهادات.
  • توفير وصول العميل (المسؤول والقراءة فقط) باستخدام معرف Microsoft Entra.

استخدام عمليات التوزيع المؤتمتة:

  • استخدم البرامج النصية لتوليد البيانات السرية وتوزيعها واستعادتها.
  • قم بتخزين الأسرار في Azure Key Vault واستخدم معرف Microsoft Entra لجميع وصول العميل الآخر.
  • طلب المصادقة للوصول البشري إلى البيانات السرية.

بالإضافة إلى ذلك، ضع في اعتبارك خيارات التكوين التالية:

  • أنشئ شبكات محيطية (تُعرف أيضاً بالمناطق منزوعة السلاح، DMZ، والشبكات الفرعية المفحوصة) باستخدام مجموعات أمان شبكة Azure (NSG).
  • قم بالوصول إلى الأجهزة الظاهرية للكتلة (VMs) أو قم بإدارة المجموعة الخاصة بك باستخدام خوادم الانتقال مع الاتصال بسطح المكتب البعيد.

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

هناك ثلاثة سيناريوهات لتنفيذ أمان المجموعة باستخدام تقنيات متنوعة:

  • أمان العقدة إلى العقدة: يؤمن هذا السيناريو الاتصال بين الأجهزة الظاهرية وأجهزة الكمبيوتر في نظام المجموعة. يضمن هذا الشكل من الأمان أن أجهزة الكمبيوتر المصرح لها فقط بالانضمام إلى نظام المجموعة يمكنها استضافة التطبيقات والخدمات في نظام المجموعة. في هذا السيناريو، يمكن للمجموعات التي تعمل على Azure، أو المجموعات المستقلة التي تعمل على Windows، استخدام إما أمان الشهادة أو أمان Windows لأجهزة Windows Server.
  • أمان العميل إلى العقدة: يؤمن هذا السيناريو الاتصال بين عميل Service Fabric والعقد الفردية في نظام المجموعة.
  • التحكم في الوصول المستند إلى دور Service Fabric (Service Fabric RBAC): يستخدم هذا السيناريو هويات منفصلة (الشهادات ومعرف Microsoft Entra وما إلى ذلك) لكل دور مسؤول وعميل مستخدم يصل إلى نظام المجموعة. تقوم بتحديد هويات الأدوار عند إنشاء نظام المجموعة.

إشعار

توصية أمان لمجموعات Azure: استخدم أمان Microsoft Entra لمصادقة العملاء والشهادات لأمان العقدة إلى العقدة.

لتكوين مجموعة مستقلة لنظام التشغيل Windows، راجع تكوين الإعدادات لمجموعة Windows المستقلة.

استخدم قوالب Azure Resource Manager ووحدة Service Fabric PowerShell لإنشاء كتلة آمنة. للحصول على إرشادات خطوة بخطوة لإنشاء مجموعة نسيج خدمة آمنة باستخدام قوالب Azure Resource Manager، راجع إنشاء مجموعة Service Fabri.

استخدم قالب Azure Resource Manager:

  • قم بتخصيص نظام المجموعة الخاص بك باستخدام القالب لتكوين التخزين المُدار للأقراص الثابتة الظاهرية VM (VHDs).
  • دفع التغييرات إلى مجموعة الموارد الخاصة بك باستخدام القالب لإدارة التكوين والتدقيق بسهولة.

تعامل مع تكوين المجموعة الخاص بك على أنه تعليمة برمجية:

  • كن دقيقاً عند التحقق من تكوينات التوزيع الخاصة بك.
  • تجنب استخدام الأوامر الضمنية لتعديل مواردك مباشرة.

يمكن أتمتة العديد من جوانب دورة حياة تطبيق Service Fabri. تعمل وحدة Service Fabric PowerShell على أتمتة المهام الشائعة لتوزيع تطبيقات Azure Service Fabric وترقيتها وإزالتها واختبارها. تتوفر أيضاً واجهات برمجة التطبيقات المُدارة وواجهات برمجة تطبيقات HTTP لإدارة التطبيقات.

استخدم شهادات X.509

قم دائماً بتأمين مجموعاتك باستخدام شهادات X.509 أو أمان Windows. يتم تكوين الأمان فقط في وقت إنشاء نظام المجموعة. لا يمكن تشغيل الأمان بعد إنشاء نظام المجموعة.

لتحديد cluster certificate، قم بتعيين قيمة الخاصية ClusterCredentialType على X509. لتحديد شهادة خادم للاتصالات الخارجية، قم بتعيين الخاصية ServerCredentialType إلى X509.

بالإضافة إلى ذلك، اتبع هذه الممارسات:

  • قم بإنشاء الشهادات لمجموعات الإنتاج باستخدام خدمة شهادة Windows Server التي تم تكوينها بشكل صحيح. يمكنك أيضاً الحصول على الشهادات من مرجع مصدق معتمد (CA).
  • لا تستخدم أبداً شهادة مؤقتة أو شهادة اختبار لمجموعات الإنتاج إذا تم إنشاء الشهادة باستخدام MakeCert.exe أو أداة مشابهة.
  • استخدم شهادة موقعة ذاتياً لمجموعات الاختبار، ولكن ليس لمجموعات الإنتاج.

إذا كانت نظام المجموعة غير آمنة، يمكن لأي شخص الاتصال بنظام المجموعة بشكل مجهول وتنفيذ عمليات الإدارة. لهذا السبب، قم دائماً بتأمين مجموعات الإنتاج باستخدام شهادات X.509 أو أمان Windows.

لمعرفة المزيد حول استخدام شهادات X.509، راجع إضافة أو إزالة الشهادات لمجموعة Service Fabri.

تكوين نُهج الأمان

يؤمن Service Fabri أيضاً الموارد التي تستخدمها التطبيقات. يتم تخزين الموارد مثل الملفات والأدلة والشهادات ضمن حسابات المستخدمين عند توزيع التطبيق. تجعل هذه الميزة تشغيل التطبيقات أكثر أماناً من بعضها، حتى في بيئة مستضافة مشتركة.

  • استخدم مجموعة أو مستخدم مجال Active Directory: قم بتشغيل الخدمة ضمن بيانات اعتماد مستخدم Active Directory أو حساب المجموعة. تأكد من استخدام Active Directory المحلي داخل مجالك وليس معرف Microsoft Entra. الوصول إلى الموارد الأخرى في المجال التي تم منحها أذونات باستخدام مستخدم المجال أو المجموعة. على سبيل المثال، الموارد مثل مشاركات الملفات.

  • تعيين نهج وصول أمان لنقاط نهاية HTTP وHTTPS: حدد خاصية SecurityAccessPolicy لتطبيق نهج RunAs على خدمة عندما يعلن بيان الخدمة عن موارد نقطة النهاية مع HTTP. المنافذ المخصصة لنقاط نهاية HTTP هي قوائم يتم التحكم في الوصول إليها بشكل صحيح لحساب مستخدم RunAs الذي تعمل الخدمة ضمنه. عندما لا يتم تعيين النهج، لا يتمكن http.sys من الوصول إلى الخدمة ويمكن أن تتعرض للإخفاقات مع المكالمات من العميل.

لمعرفة كيفية استخدام نُهج الأمان في مجموعة Service Fabric، راجع تكوين نُهج الأمان لتطبيقك.

تنفيذ تكوين الأمان الموثوق به

يعد Service Fabric Reliable Actors تنفيذ لنمط تصميم الجهة. كما هو الحال مع أي نمط تصميم برنامج، يعتمد قرار استخدام نمط معين على ما إذا كانت مشكلة البرنامج تتناسب مع النمط.

بشكل عام، استخدم نمط تصميم الممثل للمساعدة في نموذج الحلول لمشاكل البرامج أو سيناريوهات الأمان التالية:

  • تتضمن مساحة المشكلة الخاصة بك عددا كبيرا (الآلاف أو أكثر) من الوحدات الصغيرة والمستقلة والمعزولة من الحالة والمنطق.
  • أنت تعمل مع عناصر مترابطة لا تتطلب تفاعلاً كبيراً من المكونات الخارجية، بما في ذلك حالة الاستعلام عبر مجموعة من الجهات الفاعلة.
  • لا تحظر مثيلات الممثل الخاص بك المتصلين الذين يعانون من تأخيرات غير متوقعة عن طريق إصدار عمليات الإدخال/الإخراج.

في Service Fabric، يتم تنفيذ الجهات الفاعلة في إطار تطبيق الجهات الفاعلة الموثوقة. يعتمد إطار العمل هذا على نمط الجهات الفاعلة وهو مبني على قمة خدمات موثوقة Service Fabri. كل خدمة ممثل موثوق تكتبها هي خدمة موثوقة ومقسمة بالحالة.

يتم تعريف كل جهة على أنها مثيل من نوع جهة، ويطابق ذلك الطريقة التي يكون بها عنصر.NET مثيلاً لنوع.NET. على سبيل المثال، يمكن أن يكون لدى نوع الجهات الفاعلة التي تنفذ وظائف الآلة الحاسبة العديد من الممثلين من هذا النوع والتي يتم توزيعها على عقد مختلفة عبر مجموعة. يتميز كل من الممثلين الموزعين بشكل فريد بمعرف الممثل.

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

قم بتكوين TLS لـ Azure Service Fabric

تصادق عملية مصادقة الخادم على نقاط نهاية إدارة نظام المجموعة لعميل إدارة. ثم يدرك عميل الإدارة أنه يتحدث إلى نظام المجموعة الحقيقية. توفر هذه الشهادة أيضاً TLS لواجهة برمجة تطبيقات إدارة HTTPS وService Fabric Explorer عبر HTTPS. يجب الحصول على اسم مجال مخصص لنظام المجموعة الخاصة بك. عندما تطلب شهادة من مرجع مصدق، يجب أن يتطابق اسم موضوع الشهادة مع اسم المجال المخصص الذي تستخدمه لمجموعتك.

لتكوين TLS لأحد التطبيقات، تحتاج أولاً إلى الحصول على شهادة SSL/TLS موقعة من قبل CA. المرجع المصدق (CA) هو طرف ثالث موثوق به يصدر شهادات لأغراض أمان TLS. إذا لم يكن لديك بالفعل شهادة SSL/TLS، فأنت بحاجة إلى الحصول على واحدة من شركة تبيع شهادات SSL/TLS.

يجب أن تفي الشهادة بالمتطلبات التالية لشهادات SSL/TLS في Azure:

  • يجب أن تحتوي الشهادة على مفتاح خاص.

  • يجب إنشاء الشهادة لتبادل المفاتيح وأن تكون قابلة للتصدير إلى ملف تبادل المعلومات الشخصية (.pfx).

  • يجب أن يتطابق اسم موضوع الشهادة مع اسم المجال المستخدم للوصول إلى الخدمة السحابية.

    • احصل على اسم مجال مخصص لاستخدامه للوصول إلى الخدمة السحابية الخاصة بك.
    • اطلب شهادة من CA مع اسم موضوع يطابق اسم المجال المخصص لخدمتك. على سبيل المثال، إذا كان اسم المجال المخصص الخاص بك هو contoso.com، يجب أن تحمل الشهادة من المرجع المصدق اسم الموضوع .contoso.com أو www.contoso.com.

    إشعار

    لا يمكنك الحصول على شهادة SSL/TLS من CA للنطاق cloudapp.net.

  • يجب أن تستخدم الشهادة 2048 بت كحد أدنى من التشفير.

بروتوكول HTTP غير آمن ويخضع لهجمات التنصت. يتم إرسال البيانات التي يتم إرسالها عبر HTTP كنص عادي من متصفح الويب إلى خادم الويب أو بين نقاط النهاية الأخرى. يمكن للمهاجمين اعتراض وعرض البيانات الحساسة التي يتم إرسالها عبر HTTP، مثل تفاصيل بطاقة الائتمان وتسجيلات الدخول إلى الحساب. عندما يتم إرسال البيانات أو نشرها من خلال متصفح عبر HTTPS، فإن SSL يضمن تشفير المعلومات الحساسة وتأمينها من الاعتراض.

لمعرفة المزيد حول استخدام شهادات SSL/TLS، راجع تكوين TLS لتطبيق في Azure.

استخدم عزل الشبكة والأمان مع Azure Service Fabric

قم بإعداد كتلة آمنة من نوع 3 nodetype باستخدام قالب Azure Resource Manager كعينة. التحكم في حركة مرور الشبكة الواردة والصادرة باستخدام القالب ومجموعات أمان الشبكة.

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

لمزيد من المعلومات، راجع سيناريوهات الشبكات الشائعة لـ Azure Service Fabric.

قم بإعداد Azure Key Vault للأمان

تستخدم Service Fabric شهادات لتوفير المصادقة والتشفير لتأمين نظام المجموعة وتطبيقاتها.

تستخدم Service Fabric شهادات X.509 لتأمين مجموعة ولتوفير ميزات أمان التطبيق. يمكنك استخدام Azure Key Vault لإدارة الشهادات لمجموعات Service Fabri في Azure. يسحب موفر موارد Azure الذي ينشئ المجموعات الشهادات من مخزن المفاتيح. يقوم الموفر بعد ذلك بتثبيت الشهادات على الأجهزة الظاهرية عند توزيع نظام المجموعة على Azure.

توجد علاقة شهادة بين Azure Key Vaultومجموعة Service Fabri وموفر المورد الذي يستخدم الشهادات. عندما يتم إنشاء نظام المجموعة، يتم تخزين المعلومات حول علاقة الشهادة في مخزن مفاتيح.

هناك خطوتان أساسيتان لإعداد مخزن مفاتيح:

  1. قم بإنشاء مجموعة موارد خصوصاً لمخزنك الرئيسي.

    نوصي بوضع مخزن المفاتيح في مجموعة الموارد الخاصة بها. يساعد هذا الإجراء في منع فقدان المفاتيح والبيانات السرية الخاصة بك إذا تمت إزالة مجموعات الموارد الأخرى، مثل التخزين أو الحساب أو المجموعة التي تحتوي على نظام المجموعة الخاص بك. يجب أن تكون مجموعة الموارد التي تحتوي على key vault في المنطقة نفسها مثل نظام المجموعة الذي تستخدمه.

  2. قم بإنشاء مخزن مفاتيح في مجموعة الموارد الجديدة.

    يجب تمكين مخزن المفاتيح للتوزيع. يمكن لمزود مورد الحوسبة بعد ذلك الحصول على الشهادات من المخزن وتثبيتها على مثيلات الجهاز الظاهري.

لمعرفة المزيد حول كيفية إعداد مخزن مفاتيح، راجع ما Azure Key Vault؟.

تعيين مستخدمين إلى أدوار

بعد إنشاء التطبيقات لتمثيل مجموعتك، قم بتعيين المستخدمين للأدوار التي يدعمها Service Fabri: للقراءة فقط والمسؤول. يمكنك تعيين هذه الأدوار باستخدام مدخل Microsoft Azure.

إشعار

لمزيد من المعلومات حول استخدام الأدوار في Service Fabric، راجع التحكم في الوصول المستند إلى دور Service Fabri لعملاء Service Fabric.

يدعم Azure Service Fabric نوعين من عناصر التحكم في الوصول للعملاء المتصلين بـ نظام مجموعة Service Fabri: المسؤول والمستخدم. يمكن لمسؤول نظام المجموعة استخدام التحكم في الوصول لتقييد الوصول إلى عمليات مجموعة معينة لمجموعات مختلفة من المستخدمين. التحكم في الوصول يجعل نظام المجموعة أكثر أماناً.

أشياء تجب مراعاتها عند استضافة تطبيقات غير موثوق بها في مجموعة Service Fabri

الرجاء مراجعة استضافة تطبيقات غير موثوق بها في مجموعة Service Fabri.

الخطوات التالية