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

الملخص

بالإضافة إلى السماح للمستخدمين توفير كييبيرس سة الخاصة بهم للمصادقة، منصة مايكروسوفت أزور يعتمد على كييبيرس سة لتمكين بعض ميزات تضاف إلى الجهاز الظاهري (VM) عند النشر. لقد اكتشفنا مؤخرا، في بعض الحالات المحدودة، المفاتيح العمومية من هذه الشهادات "منصة أزور" قد بشكل غير متوقع تضاف إلى ملف.ssh/الأخرى. يتم تغيير نطاق هذه السيناريوهات فقط على حالة التي يتم توفير الجهاز الظاهري باستخدام تهيئة مجموعة النظراء ويقوم المستخدم بتحديد ميزات Azure إضافية تعتمد على الشهادات، مثل هوية خدمة إدارة النظام.

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

لمزيد من المعلومات، انتقل إلى CVE 2019 0816.

مزيد من المعلومات

تفاصيل السيناريو

ويعرف منطق سحابة الأولية المذكورة في قسم "الملخص" موجودة في الصور Azure 18.04 أوبونتو بالإضافة إلى 7.4/7.5/7.6 العام RHEL معاينة والصور الأولية سحابة CentOS 7.4 حاليا. قد توجد أيضا في صور مخصصة باستخدام أنظمة التشغيل هذه.    في حالة تمكين إحدى الميزات التالية أثناء تقديم إحدى الصور لينكس، ربما تظهر مفاتيح إضافية، غير متوقع في ملف.ssh/الأخرى، مثل أي مما يلي:

  • هوية مدارة

  • ملحقات بالإعدادات المحمية

  • نشر VM مع مفاتيح مفتاح المخزن في VM

تعريف وإصلاح نظام رصد السفن الموجودة

تعريف

للتحقق من مفاتيح إضافية، راجع ملف المفاتيح المعتمدة (ملف.ssh/الأخرى vi) لتحديد ما إذا تم إضافة مفاتيح إضافية لم تكن ترغب في تضمين.

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

إذا لم تكن تعرف أو لا يمكن التمييز بين أي من المفاتيح العامة في.ssh/الأخرى الملف الذي حددته للمصادقة، اتبع الخطوات التالية:

  1. مراجعة قوالب النشر الخاص بك:

    1. سة المفاتيح العمومية

    2. سة مفاتيح في تكوين سحابة التهيئة

  2. استرداد منشورة سة مفاتيح في وقت الإنشاء من داخل الجهاز الظاهري، إذا كان لديك وصول سودو/الجذر. للقيام بذلك، اتبع الخطوات التالية:

    1. تحقق من تكوين سحابة الأولية التي تم تمريرها في CustomData: sudo cat /var/lib/waagent/ovf-env.xml | grep "<ns1:CustomData>"استخدم قيمة CustomData وثم فك ترميز base64 الاستخدام للحصول على المفاتيح العمومية التي يمكنك نشرها: echo "<customData value>" | base64 -D

    2. بدلاً من ذلك، تحقق في مثيل تعريف بيانات الخدمة (إيمدس) لمعرفة سة المفتاح العام الذي تم تمريره في سة خاصية المفتاح العام من "إنشاء الجهاز الظاهري": curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/publicKeys?api-version=2018-04-02&format=json"

إصلاح

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

تشغيل المعالجة بالاتصال بالجهاز الظاهري بشكل تفاعلي، أو استخدام ملحق برنامج نصي مخصص أو RunCommand عبر عدة VMs.

نشر باستخدام الملحقات التي محمية الإعدادات أو هوية مدارة VMs

استخدام البرنامج النصي التالي لإزالة المفاتيح العمومية من الشهادات التي تم نشرها مع ملحقات VM أو هوية مدارة. سيؤدي هذا الأمر إلى إزالة المفاتيح التي تم تحديدها توفدها VM أو إذا تم نشر الجهاز الظاهري باستخدام مفاتيح "مفتاح المخزن" .

هام

نوصي بعمل نسخة احتياطية الملف الأخرى قبل تشغيل هذا البرنامج النصي.

 

#!/bin/bash
set -e

# /var/lib/waagent has *.crt files that include the crt files corresponding to 
# the user provided public keys and one additional .crt file from MSI.
# This script converts the content of the .crt file into the ssh public key and
# remove it from the authorized_keys file
readarray -t CRT_FILES < <(grep -l -E "(Microsoft.ManagedIdentity|Windows Azure)" /var/lib/waagent/*.crt)
for ((i=0; i < ${#CRT_FILES[@]}; i++))
do
    PUBKEY=$(openssl x509 -in "${CRT_FILES[$i]}" -pubkey -noout | ssh-keygen -f /dev/stdin -i -m PKCS8)
    sed -i -e "\@$PUBKEY@d" $HOME/.ssh/authorized_keys
Done 

بعد تشغيل البرنامج النصي، تحقق من ملف ssh/الأخرى لضمان موجودة فقط معروفة عامة مفتاح (مفاتيح).

نشر باستخدام "مفتاح المخزن أسرار" VMs

لتحديد ما إذا كان قد تمت إضافة المفتاح عند نشر باستخدام "مفتاح المخزن مفاتيح"، اتبع الخطوات التالية:

  1. الحصول على اسم شهادة "مفتاح المخزن" التي يمكنك نشرها باستخدام الجهاز الظاهري أو مراجعة تعليمات برمجية النشر CLI من الألف إلى الياء أو قوالب ARM تشغيل هذه "المبادرة القطرية من الألف إلى الياء": az vm show --resource-group <resourceGroupName> --name <vmName> | grep certificateUrlسوف تظهر الاستجابة اسم الشهادة: "certificateUrl": "https://<keyVaultname>.vault.azure.net/secrets/<certName>/xxxxxxxxxxxxx"

  2. تحميل الشهادة: az keyvault certificate download --vault-name <keyVaultName> --name <certName> --encoding PEM --file public.pem

  3. استخراج المفتاح العمومي: openssl x509 -in public.pm -pubkey -noout | ssh-keygen -f /dev/stdin -i -m PKCS8

  4. مقارنة الإخراج من الخطوة السابقة إلى شهادات المتبقية في ملف ssh/الأخرى. vi .ssh/authorized_keys file

الحل

صور موقع التسوق azure

الإصلاحات التي طبقت على الحرف الأول مجموعة النظراء في صور Azure المعرفة:

  • Canonical:UbuntuServer:18.04-LTS:18.04.201902190

  • Canonical:UbuntuServer:18.10-DAILY:18.10.201903200

  • RedHat:RHEL:7-RAW-CI:7.6.2019030421

  • OpenLogic:CentOS-CI:7-CI:7.6.20190306

صور مخصصة

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

صور 18.04 أوبونتو

لتحديث صورة مصدر مخصصة، يجب إجراء التعديلات التالية:

  • قم بتحرير الملف التالي: /etc/cloud/cloud.cfg.d/90-azure.cfg

  • أضف التعليمات البرمجية التالية إلى نهاية الملف.

هام

يجب إضافة التعليمات البرمجية تماما كما هو موضح، بما في ذلك المسافات.

datasource:
   Azure:
     agent_command: [service, walinuxagent, start]

RHEL 7.4/7.5/7.6 وصور CentOS 7.6

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

الخطوة 1

قم بتحرير الملف التالي:

/etc/cloud/cloud.cfg.d/91-azure_datasource.cfg

هام

يجب إضافة التعليمات البرمجية تماما كما هو موضح، بما في ذلك المسافات.

أضف الأسطر التالية إلى نهاية الملف:

datasource:
   Azure:
     agent_command: [systemctl, start, waagent, --no-block]

الخطوة 2

تحديث تكوين عامل كما يلي:

cp /lib/systemd/system/waagent.service /etc/systemd/system/waagent.service
sed -i 's/After=network-online.target/WantedBy=cloud-init.service\\nAfter=network.service systemd-networkd-wait-online.service/g' /etc/systemd/system/waagent.service
systemctl daemon-reload

حزم تهيئة مجموعة النظراء

تكون كافة حزم سحابة الأولية التي تتضمن إصلاح يجري استكمالها. Microsoft بدراسة هذه المشكلة وسيتم نشر مزيد من المعلومات في هذه المقالة عندما تصبح متاحة.

المتداولة:

س 1: Microsoft استطاع الوصول إلى الجهاز الظاهري الخاص بي؟

A1: يتم استخدام مفاتيح التشفير لإدارة الهويات وملحقات لم يتم تصميمها للوصول بموظفي Microsoft. لدينا عمليات لمراقبة وتسجيل ومنع هذا النوع من الوصول. وكاحتياط أمان، نستعرض كافة السجلات للتأكد من أن تم الوصول إليها لم مفاتيح العملاء بشكل غير ملائم. الشهادات المخزنة في "مفتاح المخزن" التي يتم الرجوع إليها في عملية نشر VM أو فمس، موظفي Microsoft لا يحصلون أي أسرار.

Q2: هل كافة التهيئة سحابة نشر برمجيات المصدر المفتوح والإصدارات المتأثرة؟

A2: لا. ولقد رأينا هذه المسألة الرئيسية غريبة يحدث فقط في أنظمة التشغيل المحددة. لم نر ذلك يحدث في الإصدارات السابقة من نظام التشغيل Ubuntu. هذا بسبب استخدام الأنظمة إليه مختلفة لتعيين المفاتيح العمومية.

س 3: هل الحزم الأولية سحابة المتأثرة لتوزيعات لينكس تشمل الإصلاح؟

A3: نحن نعمل على إضافة الإصلاحات للحزم للإصدارات المتأثرة وسوف نقوم بتحديث هذه المقالة عند الانتهاء من ذلك العمل.

س 4: Microsoft تلقائياً بتحديث أية VMs المتأثرة؟

A4: لا. Microsoft لن تتغير محتويات نظام رصد السفن أن تزويد مسبقاً.

س 5: سياساتنا الأمان منعي من تشغيل VM Linux بمحتوى خارجي في الأخرى. ماذا يمكن عمله حيال هذا اليوم؟

A5: يمكنك إزالة خط المخالف بأمان من الملف الأخرى. لن يؤثر هذا على زوج SSH الذي قمت بإنشائه والتحكم أو هوية مدارة. يمكنك القيام بذلك يدوياً أو بواسطة تشغيل البرنامج النصي أو الأمر المخصص عبر أي أسطول المتأثرة.

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

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

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×