Kubernetes Container Platform الإصدار الجديد 1.13 يزيل الثغرات الحرجة (CVE-2018-1002105)، مما يسمح لأي مستخدم بالتحكم الكامل في مجموعة من الحاويات المعزولة. تم إصلاح المشكلة أيضًا في التحديثات 1.10.11 و 1.11.5 و 1.12.3.
في الثغرة الأمنية الموجودة في Kubernetes ، من أجل تنفيذ الهجوم ، يكفي إرسال طلب مصمم خصيصًا عبر واجهة برمجة التطبيقات لتحديد الخلفيات المتاحة (طلب الاكتشاف).
حول ثغرة Kubernetes
نظرًا لحدوث خطأ ، يترك هذا النوع من الطلبات اتصال الشبكة مفتوحًا ، مما يسمح باستخدام خادم API (kube-apiserver) كوسيط لإرسال الطلبات إلى أي خادم باستخدام الاتصال الذي تم إنشاؤه مع خادم API.
وفقا لذلك، الطلبات المُعاد توجيهها عبر هذه الاتصالات ستتم معالجتها بواسطة الواجهة الخلفية كطلبات خادم API داخلي، يتم إرسالها باستخدام معلمات مصادقة خادم API.
بشكل افتراضي، يتمتع جميع مستخدمي Kubernetes المصادق عليهم وغير المصادق عليهم بالقدرة على إرسال الطلبات من خلال واجهة برمجة تطبيقات الاكتشاف ، والتي تكون كافية لشن هجوم.
لذلك ، يمكن لأي مستخدم Kubernetes لا يتمتع بامتيازات ولديه إمكانية الوصول إلى واجهة برمجة التطبيقات التحكم بشكل كامل في البنية التحتية بأكملها ، على سبيل المثال عن طريق إرسال طلب لتشغيل التعليمات البرمجية الخاصة به على المضيف.
بالإضافة إلى السيطرة على البنية التحتية لـ Kubernetes ، يمكن أن تنطبق الثغرة الأمنية أيضًا على الهجمات التي تستهدف العملاء من خلال التلاعب بخدمات العملاء المستندة إلى السحابة.
تتجلى المشكلة في جميع إصدارات Kubernetes ، بدءًا من الإصدار 1.0.
لذلك ، يتم تشجيع جميع مسؤولي Kubernetes على تحديث أنظمتهم بشكل عاجل للمشكلات الحالية ، بالإضافة إلى مراجعة سجلات النظام بحثًا عن أي نشاط ضار محتمل.
كحل للحماية من الهجمات من المستخدمين غير المصرح لهم ، يمكنهم تعطيل الوصول المجهول إلى واجهة برمجة التطبيقات باستخدام الخيار "–anonymous-auth = false" وإلغاء حقوق تنفيذ عمليات exec / attach / portforward.
وتجدر الإشارة بشكل منفصل إلى أنه في سجلات Kubernetes ، لا يتم تسجيل الهجوم باستخدام الطلبات غير المصرح بها على الإطلاق ، لذلك كان من الممكن تحديد ما إذا كان التسوية ممكنًا فقط من خلال الإشارات غير المباشرة.
حول إصدار Kubernetes 1.13 الجديد وما الجديد
في هذا الإصدار الجديد من Kubernetes 1.13 تم تثبيت واجهة CSI (واجهة تخزين الحاوية) ، مما يسمح لك بإنشاء مكونات إضافية لدعم أنظمة التخزين المتعددة.
يوفر CSI واجهة واحدة لتخصيص المستودعات ، والإرفاق ، والتركيب ، مما يتيح لك توفير المكونات الإضافية للتكامل مع خدمات التخزين المختلفة دون الحاجة إلى إجراء تغييرات على قاعدة رموز Kubernetes.
بشكل افتراضي ، يتم استخدام خادم CoreDNS DNS.
تتم كتابة CoreDNS بلغة Go وتتميز بهندسة معمارية مرنة قائمة على البرنامج المساعد.
على سبيل المثال ، وظائف محددة مثل اكتشاف خدمة Kubernetes ، والتراكم المتري لنظام مراقبة بروميثيوس ، والتكامل مع نظام تخزين التكوين ، إلخ. يتم تنفيذها من خلال المكونات الإضافية.
تم تثبيت Kubeadm كواجهة مبسطة لإدارة مجموعة Kubernetes، والذي يسمح لك بإجراء عمليات مثل إنشاء ونشر مجموعة على الكمبيوتر الحالي ، وتكوين المكونات الأساسية لـ Kubernete ، وتوصيل العقد وإزالتها ، وإجراء عمليات الترقية ؛
يتم تقديم واجهة تجريبية لإنشاء مكونات إضافية للتكامل مع أنظمة المراقبة التابعة لجهات خارجية.
سجل المكونات الإضافية لجهاز Kubelet المستقر من حيث الخدمة ، والذي يوفر وسيلة للوصول إلى Kubelet من المكونات الإضافية.
تم تثبيت جدولة توزيع الحاويات TAVS (Topology Aware Volume Scheduling) ، مع مراعاة هيكل أقسام البودات (مع مراعاة القيود الموضوعة للعقد والمناطق).
ذهبنا إلى مرحلة الاختبار التجريبي لـ APIServer DryRun ، وفريق Kubectl Diff والقدرة على استخدام أجهزة الكتل الأولية كمصادر بيانات ثابتة (مصدر حجم ثابت).
إذا كنت تريد معرفة المزيد عن هذا الإصدار الجديد علبة قم بزيارة الرابط التالي.