
تخفيف CVE-2020-8554 باستخدام Policy Controller في Anthos
يحتوي هذا المستودع على ملفات تكوين لاستخدام Policy Controller، والتي تعتمد على مشروع OPA Gatekeeper مفتوح المصدر، لمنع Kubernetes Services من الوصول إلى عناوين IP العامة.
التنبيه الأمني لهذه المشكلة ينص على:
تم اكتشاف مشكلة أمنية في Kubernetes تؤثر على المجموعات متعددة المستأجرين. إذا كان بإمكان مهاجم محتمل إنشاء أو تعديل services و pods، فقد يكون قادرًا على اعتراض حركة المرور من pods (أو nodes) الأخرى في المجموعة.
تم تصنيف هذه المشكلة على أنها متوسطة الخطورة (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L)، وتم تعيينها CVE-2020-8554.
يمكن للمهاجم القادر على إنشاء خدمة ClusterIP وتعيين حقل spec.externalIPs اعتراض حركة المرور إلى عنوان IP ذلك. يمكن للمهاجم القادر على تحديث status (وهي عملية مميزة ولا ينبغي عادةً منحها للمستخدمين) لخدمة LoadBalancer تعيين status.loadBalancer.ingress.ip لتأثير مماثل.
يحتوي هذا المستودع على Template و Constraint يقيدان Services بقائمة مسموح بها محددة من عناوين IP العامة، وبالتالي يحدان من قدرة المهاجم على إضافة عناوين IP خارج القيم الموثوقة.
يمكنك تطبيق هذه السياسات باستخدام Policy Controller، والذي يتم تضمينه كجزء من Anthos Config Management. لتخصيص عناوين IP المسموح بها، قم بتعديل أو إضافة عناصر إلى قائمة "allowedIPs" في k8sExternalIPs_constraint.yaml.
إذا كنت ترغب فقط في منع عنوان IP في نطاق CIDR محدد، فاستخدم الملفين k8sExternalIPsCIDR_constraint.yaml و k8sExternalIPsCIDR_template.yaml. على سبيل المثال، إذا كنت تريد منع المهاجم من تعيين حقل spec.externalIPs إلى نطاق CIDR الافتراضي لـ Kubernetes Services.