تصحيح نظام التشغيل ووقت التشغيل في خدمة تطبيقات Azure

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

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

  • كيف ومتى يتم تطبيق تحديثات نظام التشغيل؟
  • كيف يتم تصحيح خدمة التطبيقات ضد نقاط الضعف الكبيرة (مثل يوم الصفر)؟
  • ما إصدارات نظام التشغيل ووقت التشغيل التي تقوم بتشغيل تطبيقاتك؟

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

كيف ومتى يتم تطبيق تحديثات نظام التشغيل؟

يدير Azure تصحيح نظام التشغيل على مستويين، الخوادم الفعلية والأجهزة الظاهرية للضيف (VMs) التي تقوم بتشغيل موارد App Service. يتم تحديث كلاهما شهريا ، والذي يتوافق مع جدول Patch Tuesday الشهري. يتم تطبيق هذه التحديثات تلقائيا، بطريقة تضمن اتفاقية مستوى الخدمة عالية التوفر لخدمات Azure.

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

كيف يتعامل Azure مع الثغرات الأمنية الكبيرة؟

عندما تتطلب نقاط الضعف الشديدة تصحيحا فوريا ، مثل نقاط الضعف في يوم الصفر ، يتم التعامل مع التحديثات ذات الأولوية العالية على أساس كل حالة على حدة.

ابق على اطلاع دائم بإعلانات الأمان الهامة في Azure من خلال زيارة مدونة أمان Azure.

متى يتم تحديث أوقات تشغيل اللغة المدعومة أو إضافتها أو إهمالها؟

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

ملاحظة

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

تحديثات التصحيح الجديدة

يتم تطبيق تحديثات التصحيح إلى إصدار .NET أو PHP أو Java SDK أو Tomcat تلقائيا عن طريق الكتابة فوق التثبيت الحالي بأحدث إصدار. يتم تثبيت تحديثات تصحيح Node.js جنبا إلى جنب مع الإصدارات الحالية (على غرار الإصدارات الرئيسية والثانوية في القسم التالي). يمكن تثبيت إصدارات تصحيح Python الجديدة يدويا من خلال ملحقات الموقع ، جنبا إلى جنب مع عمليات تثبيت Python المدمجة.

الإصدارات الرئيسية والثانوية الجديدة

عند إضافة إصدار رئيسي أو ثانوي جديد ، يتم تثبيته جنبا إلى جنب مع الإصدارات الموجودة. يمكنك ترقية تطبيقك يدويا إلى الإصدار الجديد. إذا قمت بتكوين إصدار وقت التشغيل في ملف تكوين (مثل web.config و package.json) ، فأنت بحاجة إلى الترقية بنفس الطريقة. إذا استخدمت إعداد خدمة التطبيقات لتكوين إصدار وقت التشغيل، فيمكنك تغييره في مدخل Azure أو عن طريق تشغيل أمر Azure CLI في Cloud Shell، كما هو موضح في الأمثلة التالية:

az webapp config set --net-framework-version v4.7 --resource-group <groupname> --name <appname>
az webapp config set --php-version 7.0 --resource-group <groupname> --name <appname>
az webapp config appsettings set --settings WEBSITE_NODE_DEFAULT_VERSION=~14 --resource-group <groupname> --name <appname>
az webapp config set --python-version 3.8 --resource-group <groupname> --name <appname>
az webapp config set --java-version 1.8 --java-container Tomcat --java-container-version 9.0 --resource-group <groupname> --name <appname>

ملاحظة

يستخدم هذا المثال "بناء جملة tilde" الموصى به لاستهداف أحدث إصدار متوفر من وقت تشغيل Node.js 16 على Windows App Service.

كيف يمكنني الاستعلام عن حالة تحديث نظام التشغيل ووقت التشغيل على مثيلاتي؟

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

يوضح الجدول التالي كيفية استخدام إصدارات Windows ووقت تشغيل اللغة التي تقوم بتشغيل تطبيقاتك:

المعلومات أين يمكن العثور عليها
النسخة Windows راجع https://<appname>.scm.azurewebsites.net/Env.cshtml (ضمن معلومات النظام)
إصدار ‎.NET في ، قم بتشغيل الأمر التالي في https://<appname>.scm.azurewebsites.net/DebugConsoleموجه الأوامر:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
إصدار .NET Core في ، قم بتشغيل الأمر التالي في https://<appname>.scm.azurewebsites.net/DebugConsoleموجه الأوامر:
dotnet --version
إصدار PHP في ، قم بتشغيل الأمر التالي في https://<appname>.scm.azurewebsites.net/DebugConsoleموجه الأوامر:
php --version
إصدار Node.js الافتراضي في Cloud Shell، قم بتشغيل الأمر التالي:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
إصدار Python في ، قم بتشغيل الأمر التالي في https://<appname>.scm.azurewebsites.net/DebugConsoleموجه الأوامر:
python --version
إصدار جافا في ، قم بتشغيل الأمر التالي في https://<appname>.scm.azurewebsites.net/DebugConsoleموجه الأوامر:
java -version

ملاحظة

يتم تأمين الوصول إلى موقع HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packagesالتسجيل ، حيث يتم تخزين المعلومات الموجودة على تصحيحات "KB ".

المزيد من الموارد

مركز التوثيق: الأمان
64 بت ASP.NET Core على خدمة تطبيقات Azure