الأمان في Azure App Service

توضح لك هذه المقالة كيف تساعد Azure App Service في تأمين تطبيق الويب والواجهة الخلفية لتطبيق الأجهزة المحمولة وتطبيق واجهة برمجة التطبيقات وتطبيق الوظائف. كما يوضح كيف يمكنك تأمين تطبيقك بشكل أكبر باستخدام ميزات App Service المضمنة.

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

  • يتم تأمين موارد التطبيق من موارد Azure للعملاء الآخرين.
  • يتم تحديث مثيلات الجهاز الظاهري وبرامج وقت التشغيل بانتظام لمعالجة الثغرات الأمنية المكتشفة حديثًا.
  • يظل اتصال البيانات السرية (مثل سلاسل الاتصال) بين تطبيقك وموارد Azure الأخرى (مثل قاعدة بيانات SQL) داخل Azure ولا يتجاوز أي حدود للشبكة. دائمًا ما يتم تشفير البيانات السرية عند تخزينها.
  • يتم تشفير جميع الاتصالات عبر ميزات اتصال App Service، مثل الاتصال المختلط.
  • يتم تشفير الاتصالات بأدوات الإدارة عن بعد مثل Azure PowerShell وAzure CLI وAzure SDKs وواجهات برمجة تطبيقات REST.
  • تحمي إدارة التهديدات على مدار 24 ساعة البنية التحتية والنظام الأساسي من البرامج الضارة وحجب الخدمة الموزع (DDoS) والاختراق الوسيط (MITM) وغيرها من التهديدات.

لمزيد من المعلومات حول أمان البنية الأساسية والنظام الأساسي في Azure، راجع Azure Trust Center.

توضح لك الأقسام التالية كيفية حماية تطبيق App Service بشكل أكبر من التهديدات.

HTTPS والشهادات

تتيح لك App Service تأمين تطبيقاتك باستخدام HTTPS. عند إنشاء تطبيقك، يمكن الوصول إلى اسم المجال الافتراضي (<app_name.azurewebsites.net>) بالفعل باستخدام HTTPS. إذا قمت بتكوين مجال مخصص لتطبيقك، يجب عليك أيضاً تأمينه بشهادة TLS/SSL بحيث يمكن لمستعرضات العميل إجراء اتصالات HTTPS آمنة بمجالك المخصص. هناك عدة أنواع من الشهادات التي تدعمها App Service:

  • الشهادات المُدارة لـ App Service المجانية
  • شهادة App Service
  • شهادة جهة خارجية
  • شهادة مستوردة من Azure Key Vault

لمزيد من المعلومات، راجع إضافة شهادة TLS/SSL في Azure App Service.

بروتوكولات غير آمنة (HTTP، TLS 1.0، FTP)

لتأمين تطبيقك من جميع اتصالات (HTTP) غير المشفرة، توفر خدمة التطبيق تكويناً بنقرة واحدة لفرض HTTPS. يتم إيقاف الطلبات غير الآمنة قبل أن تصل حتى إلى التعليمات البرمجية للتطبيق الخاص بك. لمزيد من المعلومات، راجع فرض HTTPS.

لم يعد ‎TLS 1.0 آمنًا وفقًا لمعايير الصناعة، مثل PCI DSS. تتيح لك App Service تعطيل البروتوكولات القديمة عن طريق تنفيذ TLS 1.1/1.2.

تدعم App Service كلاً من FTP وFTPS لنشر ملفاتك. ومع ذلك، يجب استخدام FTPS بدلاً من FTP، إذا كان ذلك ممكنًا على الإطلاق. عندما لا يكون أحد هذين البروتوكولين أو كليهما قيد الاستخدام، يجب تعطيلهما.

قيود IP الثابتة

بشكل افتراضي، يقبل تطبيق خدمة التطبيق لديك الطلبات من جميع عناوين IP من الإنترنت، ولكن يمكنك تقييد هذا الوصول إلى مجموعة فرعية صغيرة من عناوين IP. يتيح لك خدمة التطبيق على Windows تحديد قائمة بعناوين IP المسموح لها بالوصول إلى تطبيقك. يمكن أن تتضمن القائمة المسموح بها عناوين IP فردية أو نطاق عناوين IP المعرفة بواسطة قناع شبكة فرعية. لمزيدٍ من المعلومات، راجع قيود على عناوين IP ثابتة لخدمة Azure App.

بالنسبة إلى App Service على Windows، يمكنك أيضًا تقييد عناوين IP ديناميكيًا عن طريق تكوين web.config. لمزيد من المعلومات، راجع Dynamic IP Security <dynamicIpSecurity>.

مصادقة العميل والتخويل به

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

تدعم مصادقة App Service وتخويلها العديد من موفري المصادقة، بما في ذلك معرف Microsoft Entra وحسابات Microsoft وFacebook وGoogle وTwitter. لمزيد من المعلومات، راجع المصادقة والتخويل في Azure App Service.

مصادقة خدمة إلى خدمة

عند المصادقة مقابل خدمة خلفية، توفر App Service آليتين مختلفتين اعتمادًا على حاجتك:

الاتصال بالموارد البعيدة

هناك ثلاثة أنواع من الموارد البعيدة التي قد يحتاج تطبيقك إلى الوصول إليها:

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

موارد Azure

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

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

الموارد داخل شبكات Azure الظاهرية

يمكن للتطبيق الوصول إلى الموارد في شبكة Azure الظاهرية من خلال تكامل الشبكة الظاهرية. يتم تأسيس التكامل مع شبكة ظاهرية باستخدام VPN من نقطة إلى موقع. يمكن للتطبيق بعد ذلك الوصول إلى الموارد في الشبكة الظاهرية باستخدام عناوين IP الخاصة بها. ومع ذلك، لا يزال الاتصال من نقطة إلى موقع يجتاز الشبكات المشتركة في Azure.

لعزل اتصال الموارد تماما عن الشبكات المشتركة في Azure، قم بإنشاء تطبيقك في بيئة App Service. نظرًا إلى أن بيئة App Service يتم نشرها دائما على شبكة ظاهرية مخصصة، فإن الاتصال بين التطبيق والموارد داخل الشبكة الظاهرية معزول تمامًا. للحصول على جوانب أخرى من أمان الشبكة في بيئة App Service، راجع عزل الشبكة.

الموارد المحلية

يمكنك الوصول بأمان إلى الموارد المحلية، مثل قواعد البيانات، بثلاث طرق:

إدارة أسرار التطبيقات

عدم تخزين البيانات السرية للتطبيق: البيانات السرية للتطبيق، مثل بيانات اعتماد قاعدة البيانات والرموز المميزة لواجهة برمجة التطبيقات والمفاتيح الخاصة في التعليمات البرمجية أو ملفات التكوين. النهج المقبول بشكل شائع هو الوصول إليها كمتغيرات بيئة باستخدام النمط القياسي في اللغة التي تختارها. في App Service، تكون طريقة تعريف متغيرات البيئة من خلال إعدادات التطبيق (وخاصة بالنسبة لتطبيقات ‎.NET وسلاسل الاتصال). يتم تخزين إعدادات التطبيق وسلاسل الاتصال مشفرة في Azure، ويتم فك تشفيرها فقط قبل إدخالها في ذاكرة عملية التطبيق عند بدء تشغيل التطبيق. يتم تغيير مفاتيح التشفير بانتظام.

بدلا من ذلك، يمكنك دمج تطبيق App Service مع Azure Key Vault لإدارة البيانات السرية المتقدمة. من خلال الوصول إلى Key Vault بهوية مدارة، يمكن لتطبيق App Service الوصول بأمان إلى الأسرار التي تحتاج إليها.

عزل الشبكة

باستثناء مستوى التسعير المعزول ، تقوم جميع المستويات بتشغيل تطبيقاتك على البنية الأساسية للشبكة المشتركة في App Service. على سبيل المثال، تتم مشاركة عناوين IP العامة وموازنات التحميل الأمامية مع المستأجرين الآخرين. يمنحك المستوى المعزول عزلاً كاملاً للشبكة عن طريق تشغيل تطبيقاتك داخل بيئة خدمة التطبيق المخصصة. تعمل بيئة خدمة التطبيق في مثيلك الخاص من شبكة Azure الظاهرية. فهي تتيح لك:

  • خدمة تطبيقاتك من خلال نقطة نهاية عامة مخصصة، مع واجهات أمامية مخصصة.
  • خدمة التطبيق الداخلي باستخدام موازن تحميل داخلي (ILB)، والذي يسمح بالوصول فقط من داخل شبكة Azure الظاهرية. يحتوي ILB على عنوان IP من شبكتك الفرعية الخاصة، والذي يوفر عزلاً كاملاً لتطبيقاتك من الإنترنت.
  • استخدم ILB خلف جدار حماية تطبيق ويب (WAF). يوفر WAF حماية على مستوى المؤسسة لتطبيقاتك العامة، مثل حماية DDoS وتصفية URI ومنع حقن SQL.

حماية DDoS

بالنسبة لأحمال عمل الويب، نوصي بشدة باستخدام حماية Azure DDoS وجدار حماية تطبيق الويب للحماية من هجمات DDoS الناشئة. خيار آخر هو نشر Azure Front Door جنبا إلى جنب مع جدار حماية تطبيق الويب. يوفر Azure Front Door حماية على مستوى النظام الأساسي ضد هجمات DDoS على مستوى الشبكة.

لمزيد من المعلومات، اطلع على مقدمة حول بيئات App Service.