أفضل ممارسات أمان Azure Service Fabric
بالإضافة إلى هذه المقالة، يرجى أيضا مراجعة قائمة التحقق من أمان Service Fabric للحصول على مزيد من المعلومات.
يعد نشر تطبيق على Azure سريعا وسهلا وفعالا من حيث التكلفة. قبل نشر تطبيقك السحابي في الإنتاج، راجع قائمة أفضل الممارسات الأساسية والموصى بها لتنفيذ مجموعات آمنة في تطبيقك.
Azure Service Fabric عبارة عن نظام أساسي للأنظمة الموزعة يجعل من السهل حزم الخدمات المصغرة القابلة للتطوير والموثوقة ونشرها وإدارتها. يتعامل Service Fabric أيضًا مع التحديات المهمة في تطوير تطبيقات السحابة وإدارتها. يستطيع المطورون والمسؤولون تجنب مشكلات البنية التحتية المعقدة والتركيز على تطبيق أحمال العمل المُلحة والهامة للمهمات التي تتسم بقابلية التوسعة والموثوقية وقابلية الإدارة.
لكل ممارسة من أفضل الممارسات، نوضح:
- ما هي أفضل الممارسات.
- لماذا يجب عليك تنفيذ أفضل الممارسات.
- ماذا قد يحدث إذا لم تنفذ أفضل الممارسات.
- كيف يمكنك تعلم كيفية تنفيذ أفضل الممارسات.
نوصي بأفضل ممارسات أمان Azure Service Fabric التالية:
- استخدم قوالب Azure Resource Manager والوحدة النمطية PowerShell لنسيج الخدمة لإنشاء مجموعات آمنة.
- استخدم شهادات X.509.
- تكوين سياسات الأمان.
- تنفيذ تكوين أمان الجهات الفاعلة الموثوقة.
- تكوين TLS ل Azure Service Fabric.
- استخدم عزل الشبكة وأمانها باستخدام Azure Service Fabric.
- تكوين Azure Key Vault للأمان.
- تعيين المستخدمين للأدوار.
- أشياء يجب مراعاتها في حالة استضافة تطبيقات غير موثوق بها في مجموعة Service Fabric.
أفضل الممارسات لتأمين مجموعاتك
استخدم دائما مجموعة آمنة:
- تنفيذ أمان نظام المجموعة باستخدام الشهادات.
- توفير وصول العميل (المسؤول وللقراءة فقط) باستخدام Azure Active Directory (Azure AD).
استخدام عمليات النشر التلقائية:
- استخدم البرامج النصية لإنشاء الأسرار ونشرها وتمريرها.
- قم بتخزين الأسرار في Azure Key Vault واستخدم Azure AD لجميع عمليات وصول العميل الأخرى.
- تتطلب المصادقة للوصول البشري إلى الأسرار.
بالإضافة إلى ذلك، ضع في اعتبارك خيارات التكوين التالية:
- قم بإنشاء شبكات محيطة (تعرف أيضا باسم المناطق منزوعة السلاح والمناطق المجردة من السلاح والشبكات الفرعية التي تم فحصها) باستخدام مجموعات أمان شبكة Azure (NSGs).
- يمكنك الوصول إلى الأجهزة الظاهرية لنظام المجموعة (VMs) أو إدارة المجموعة باستخدام خوادم الانتقال السريع باستخدام "الاتصال بسطح المكتب البعيد".
يجب تأمين المجموعات الخاصة بك لمنع المستخدمين غير المصرح لهم من الاتصال، خاصة عند تشغيل مجموعة قيد الإنتاج. على الرغم من أنه من الممكن إنشاء مجموعة غير آمنة، يمكن للمستخدمين المجهولين الاتصال بمجموعتك إذا كانت المجموعة تعرض نقاط نهاية الإدارة للإنترنت العام.
هناك ثلاثة سيناريوهات لتنفيذ أمان المجموعة باستخدام تقنيات مختلفة:
- أمان عقدة إلى عقدة: يقوم هذا السيناريو بتأمين الاتصال بين الأجهزة الظاهرية وأجهزة الكمبيوتر الموجودة في المجموعة. يضمن هذا النوع من الأمان أن أجهزة الكمبيوتر المصرح لها بالانضمام إلى المجموعة هي فقط التي يمكنها استضافة التطبيقات والخدمات في المجموعة. في هذا السيناريو، يمكن للمجموعات التي تعمل على Azure أو المجموعات المستقلة التي تعمل على Windows، استخدام أمان الشهادة أو أمان Windows لأجهزة خادم Windows.
- أمان العميل إلى عقدة: يقوم هذا السيناريو بتأمين الاتصال بين عميل Service Fabric والعقد الفردية في المجموعة.
- عنصر تحكم الوصول المستند إلى دور Service Fabric (Service Fabric RBAC): يستخدم هذا السيناريو هويات منفصلة (الشهادات وAzure AD وما إلى ذلك) لكل دور مسؤول وعميل مستخدم يصل إلى المجموعة. يمكنك تحديد هويات الدور عند إنشاء المجموعة.
ملاحظة
توصية أمان لمجموعات Azure: استخدم أمان Azure AD لمصادقة العملاء والشهادات لأمان العقدة إلى العقدة.
لتكوين مجموعة Windows مستقلة، راجع تكوين الإعدادات لمجموعة Windows مستقلة.
استخدم قوالب Azure Resource Manager والوحدة النمطية PowerShell لنسيج الخدمة لإنشاء مجموعة آمنة. للحصول على إرشادات خطوة بخطوة لإنشاء مجموعة نسيج خدمة آمنة باستخدام قوالب Azure Resource Manager، راجع إنشاء مجموعة نسيج خدمة.
استخدم قالب Azure Resource Manager:
- قم بتخصيص مجموعتك باستخدام القالب لتكوين التخزين المدار للأقراص الثابتة الظاهرية VM (VHDs).
- يمكنك إجراء تغييرات على مجموعة الموارد باستخدام القالب لسهولة إدارة التكوين والتدقيق.
تعامل مع تكوين المجموعة كرمز :
- كن دقيقا عند التحقق من تكوينات النشر الخاصة بك.
- تجنب استخدام الأوامر الضمنية لتعديل مواردك مباشرة.
يمكن أتمتة العديد من جوانب دورة حياة تطبيق Service Fabric . تعمل الوحدة النمطية Service Fabric PowerShell على أتمتة المهام الشائعة لنشر تطبيقات Azure Service Fabric وترقيتها وإزالتها واختبارها. تتوفر أيضا واجهات برمجة التطبيقات المدارة وواجهات برمجة تطبيقات HTTP لإدارة التطبيقات.
استخدام شهادات X.509
قم دائما بتأمين مجموعاتك باستخدام شهادات X.509 أو أمان Windows. يتم تكوين الأمان فقط في وقت إنشاء نظام المجموعة. لا يمكن تشغيل الأمان بعد إنشاء المجموعة.
لتحديد شهادة نظام مجموعة، قم بتعيين قيمة الخاصية ClusterCredentialType إلى X509. لتحديد شهادة خادم للاتصالات الخارجية، قم بتعيين الخاصية ServerCredentialType إلى X509.
بالإضافة إلى ذلك ، اتبع هذه الممارسات:
- إنشاء الشهادات لمجموعات الإنتاج باستخدام خدمة شهادات ملقم Windows تم تكوينها بشكل صحيح. يمكنك أيضا الحصول على الشهادات من مرجع مصدق معتمد (CA).
- لا تستخدم أبدا شهادة مؤقتة أو شهادة اختبار لمجموعات الإنتاج إذا تم إنشاء الشهادة باستخدام MakeCert.exe أو أداة مشابهة.
- استخدم شهادة موقعة ذاتيا لمجموعات الاختبار، ولكن ليس لمجموعات الإنتاج.
إذا كانت المجموعة غير آمنة، يمكن لأي شخص الاتصال بالمجموعة بشكل مجهول وتنفيذ عمليات الإدارة. لهذا السبب، قم دائما بتأمين مجموعات الإنتاج باستخدام شهادات X.509 أو أمان Windows.
لمعرفة المزيد حول استخدام شهادات X.509، راجع إضافة شهادات لنظام مجموعة Service Fabric أو إزالتها.
تكوين سياسات الأمان
يقوم Service Fabric أيضا بتأمين الموارد التي تستخدمها التطبيقات. يتم تخزين موارد مثل الملفات والدلائل والشهادات ضمن حسابات المستخدمين عند نشر التطبيق. تجعل هذه الميزة تشغيل التطبيقات أكثر أمانا من بعضها البعض، حتى في بيئة مستضافة مشتركة.
استخدام مجموعة مجالات أو مستخدم Active Directory: قم بتشغيل الخدمة ضمن بيانات الاعتماد لمستخدم Active Directory أو حساب مجموعة. تأكد من استخدام Active Directory محليا داخل مجالك وليس Azure Active Directory. الوصول إلى الموارد الأخرى في المجال التي تم منحها أذونات باستخدام مستخدم مجال أو مجموعة. على سبيل المثال، موارد مثل مشاركات الملفات.
تعيين نهج وصول أمان لنقاط نهاية HTTP وHTTPS: حدد الخاصية SecurityAccessPolicy لتطبيق نهج RunAs على خدمة عندما يعلن بيان الخدمة عن موارد نقطة النهاية باستخدام HTTP. المنافذ المخصصة لنقاط نهاية HTTP هي قوائم يتم التحكم في الوصول إليها بشكل صحيح لحساب مستخدم RunAs الذي تعمل الخدمة تحته. عندما لا يتم تعيين السياسة، لا http.sys الوصول إلى الخدمة ويمكنك الحصول على حالات فشل في المكالمات الواردة من العميل.
لمعرفة كيفية استخدام نهج الأمان في مجموعة Service Fabric، راجع تكوين نهج الأمان للتطبيق الخاص بك.
تنفيذ تكوين أمان الجهات الفاعلة الموثوقة
خدمة النسيج الجهات الفاعلة الموثوقة هي تنفيذ لنمط تصميم الممثل. كما هو الحال مع أي نمط تصميم برنامج ، يعتمد قرار استخدام نمط معين على ما إذا كانت مشكلة البرنامج تناسب النمط.
بشكل عام، استخدم نمط تصميم الممثل للمساعدة في وضع حلول لمشكلات البرامج أو سيناريوهات الأمان التالية:
- تتضمن مساحة المشكلة الخاصة بك عددا كبيرا (الآلاف أو أكثر) من الوحدات الصغيرة والمستقلة والمعزولة من الحالة والمنطق.
- أنت تعمل مع كائنات أحادية الخيوط لا تتطلب تفاعلا كبيرا من المكونات الخارجية، بما في ذلك حالة الاستعلام عبر مجموعة من الجهات الفاعلة.
- لا تحظر مثيلات الممثلين المتصلين الذين يعانون من تأخيرات لا يمكن التنبؤ بها عن طريق إصدار عمليات إدخال/إخراج.
في نسيج الخدمة ، يتم تنفيذ الجهات الفاعلة في إطار تطبيق الجهات الفاعلة الموثوقة. يعتمد هذا الإطار على نمط الممثل ومبني على رأس خدمات Service Fabric الموثوقة. كل خدمة ممثل موثوق بها تكتبها هي خدمة موثوقة مقسمة إلى حالات.
يتم تعريف كل ممثل على أنه مثيل من نوع ممثل ، مطابق للطريقة التي يكون بها كائن .NET مثيلا لنوع .NET. على سبيل المثال، يمكن أن يحتوي نوع الممثل الذي ينفذ وظائف الآلة الحاسبة على العديد من الجهات الفاعلة من هذا النوع التي يتم توزيعها على عقد مختلفة عبر مجموعة. يتميز كل من الجهات الفاعلة الموزعة بشكل فريد بمعرف الممثل.
يتم استخدام تكوينات أمان جهاز النسخ المتماثل لتأمين قناة الاتصال المستخدمة أثناء النسخ المتماثل. يمنع هذا التكوين الخدمات من رؤية حركة مرور النسخ المتماثل لبعضها البعض ويضمن أمان البيانات المتوفرة بشكل كبير. بشكل افتراضي، يمنع قسم تكوين الأمان الفارغ أمان النسخ المتماثل. تقوم تكوينات المكرر بتكوين المكرر المسؤول عن جعل حالة موفر الدولة الفاعل موثوقة للغاية.
تكوين TLS ل Azure Service Fabric
تقوم عملية مصادقة الخادم بمصادقة نقاط نهاية إدارة نظام المجموعة إلى عميل إدارة. ثم يدرك عميل الإدارة أنه يتحدث إلى المجموعة الحقيقية. توفر هذه الشهادة أيضا طبقة النقل الآمنة لواجهة برمجة تطبيقات إدارة HTTPS ومستكشف نسيج الخدمة عبر HTTPS. يجب الحصول على اسم مجال مخصص لنظام المجموعة الخاصة بك. عند طلب شهادة من مرجع مصدق، يجب أن يتطابق اسم موضوع الشهادة مع اسم المجال المخصص الذي تستخدمه لنظام المجموعة.
لتكوين طبقة النقل الآمنة لأحد التطبيقات، تحتاج أولا إلى الحصول على شهادة SSL/TLS تم توقيعها بواسطة مرجع مصدق. المرجع المصدق هو طرف ثالث موثوق به يصدر شهادات لأغراض أمان طبقة النقل الآمنة. إذا لم يكن لديك بالفعل شهادة SSL / TLS ، فأنت بحاجة إلى الحصول على واحدة من شركة تبيع شهادات SSL / TLS.
يجب أن تفي الشهادة بالمتطلبات التالية لشهادات SSL/TLS في Azure:
يجب أن تحتوي الشهادة على مفتاح خاص.
يجب إنشاء الشهادة لتبادل المفاتيح وأن تكون قابلة للتصدير إلى ملف تبادل المعلومات الشخصية (.pfx).
يجب أن يتطابق اسم موضوع الشهادة مع اسم المجال المستخدم للوصول إلى الخدمة السحابية.
- احصل على اسم نطاق مخصص لاستخدامه للوصول إلى الخدمة السحابية.
- اطلب شهادة من مرجع مصدق (CA) باسم موضوع يطابق اسم النطاق المخصص لخدمتك. على سبيل المثال، إذا كان اسم نطاقك المخصص هو contoso.com، فيجب أن تحتوي الشهادة من المرجع المصدق على اسم الموضوع .contoso.com أو www.contoso.com.
ملاحظة
لا يمكنك الحصول على شهادة SSL/TLS من مرجع مصدق لمجال cloudapp.net.
يجب أن تستخدم الشهادة تشفير 2048 بت كحد أدنى.
بروتوكول HTTP غير آمن ويخضع لهجمات التنصت. يتم إرسال البيانات التي يتم إرسالها عبر HTTP كنص عادي من متصفح الويب إلى خادم الويب أو بين نقاط النهاية الأخرى. يمكن للمهاجمين اعتراض البيانات الحساسة التي يتم إرسالها عبر HTTP وعرضها، مثل تفاصيل بطاقة الائتمان وعمليات تسجيل الدخول إلى الحساب. عند إرسال البيانات أو نشرها عبر متصفح عبر HTTPS ، تضمن طبقة المقابس الآمنة تشفير المعلومات الحساسة وتأمينها من الاعتراض.
لمعرفة المزيد حول استخدام شهادات SSL/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 Fabric في Azure. يقوم موفر موارد Azure الذي ينشئ المجموعات بسحب الشهادات من مخزن مفاتيح. ثم يقوم الموفر بتثبيت الشهادات على الأجهزة الظاهرية عند نشر الكتلة على Azure.
توجد علاقة شهادة بين Azure Key Vault ونظام مجموعة Service Fabric وموفر الموارد الذي يستخدم الشهادات. عند إنشاء المجموعة، يتم تخزين معلومات حول علاقة الشهادة في مخزن مفاتيح.
هناك خطوتان أساسيتان لإعداد قبو رئيسي:
أنشئ مجموعة موارد خصيصا لمخزن المفاتيح الخاص بك.
نوصي بوضع المخزن الرئيسي في مجموعة الموارد الخاصة به. يساعد هذا الإجراء على منع فقدان المفاتيح والأسرار في حالة إزالة مجموعات الموارد الأخرى، مثل التخزين أو الحوسبة أو المجموعة التي تحتوي على مجموعتك. يجب أن تكون مجموعة الموارد التي تحتوي على مخزن المفاتيح في نفس المنطقة مثل المجموعة التي تستخدمها.
إنشاء مخزن مفاتيح في مجموعة الموارد الجديدة.
يجب تمكين المخزن الرئيسي للنشر. يمكن لموفر موارد الحوسبة بعد ذلك الحصول على الشهادات من المخزن وتثبيتها على مثيلات الأجهزة الظاهرية.
لمعرفة المزيد حول كيفية إعداد مخزن مفاتيح، راجع ما هي Key Vault Azure؟.
تعيين مستخدمين إلى أدوار
بعد إنشاء التطبيقات لتمثيل مجموعتك، قم بتعيين المستخدمين للأدوار التي يدعمها Service Fabric: للقراءة فقط والمشرف. يمكنك تعيين هذه الأدوار باستخدام مدخل Azure.
ملاحظة
لمزيد من المعلومات حول استخدام الأدوار في Service Fabric، راجع التحكم في الوصول المستند إلى دور Service Fabric لعملاء Service Fabric.
يدعم Azure Service Fabric نوعين من عناصر التحكم في الوصول للعملاء المتصلين بمجموعة Service Fabric: المسؤول والمستخدم. يمكن لمسؤول نظام المجموعة استخدام التحكم في الوصول للحد من الوصول إلى عمليات نظام مجموعة معينة لمجموعات مختلفة من المستخدمين. التحكم في الوصول يجعل المجموعة أكثر أمانا.
أشياء يجب مراعاتها في حالة استضافة تطبيقات غير موثوق بها في مجموعة Service Fabric
الرجاء مراجعة استضافة التطبيقات غير الموثوق بها في مجموعة نسيج الخدمة.
الخطوات التالية
- قائمة التحقق من أمان نسيج الخدمة
- قم بإعداد بيئة تطوير نسيج الخدمة الخاصة بك.
- تعرف على خيارات دعم نسيج الخدمة.