Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
externalip-webhook — CVE-2020-8554: هجوم الوسيط باستخدام LoadBalancer أو ExternalIPs | Kitploit
أدوات/GitHubGitHub/rancher/externalip-webhook
أمن الحاوياتتدقيق التكوينأمن الشبكاتأمن السحابةسوء التكوينأمن واجهات برمجة التطبيقاتArchived
GitHubrancher/externalip-webhook

externalip-webhook

CVE-2020-8554: هجوم الوسيط باستخدام LoadBalancer أو ExternalIPs

عرض المستودع
34منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

externalip-webhook

تم إنشاؤه لمعالجة CVE-2020-8554

ملاحظة: هذا المخطط (chart) مهمل لإصدار Kubernetes 1.21 وغير مدعوم بدءًا من 1.22. للتخفيف من CVE-2020-8554، قم بتمكين DenyServiceExternalIPs admission controller على المجموعة (cluster).

externalip-webhook هو webhook تحقق (validating webhook) يمنع الخدمات من استخدام عناوين IP خارجية عشوائية. يمكن لمسؤولي المجموعة (cluster) تحديد قائمة CIDRs المسموح باستخدامها كـ IP خارجي عن طريق تحديد المعامل allowed-external-ip-cidrs. سوف يسمح webhook فقط بإنشاء الخدمات التي لا تتطلب IP خارجي أو التي تكون عناوين IP الخارجية الخاصة بها ضمن النطاق المحدد من قبل المسؤول.

تم بناء هذا المستودع باستخدام kubebuilder.

النشر

لتقييد الـ IP الخارجي على CIDRs معينة، قم بإلغاء التعليق وتحديث allowed-external-ip-cidrs في webhook.yaml.

ملاحظة: إذا تم تمكين auth-proxy فقم بتحديث allowed-external-ip-cidrs في metrics_server_auth_proxy.yaml.

نشر webhook مبني مسبقًا

لنشر webhook باستخدام الملفات (manifests) في هذا المستودع، يجب أن يكون kustomize في مسار الأوامر (path). يمكنك تنزيل kustomize من هنا: https://kubernetes-sigs.github.io/kustomize/installation/

root@kitploit:~
make deploy

بناء ونشر webhook

root@kitploit:~
make docker-build IMG=DOCKER_IMAGE_TAG
make deploy IMG=DOCKER_IMAGE_TAG

بناء ونشر مخطط Helm (Helm chart)

تم إنشاء مخطط Helm rancher-externalip-webhook لتسهيل النشر.

لتقييد الـ IP الخارجي على CIDRs معينة، قم بتعيين قيمة allowedExternalIPCidrs في أمر helm

لبناء صورة Docker لـ webhook وإنشاء إصدار جديد للمخطط (chart)

root@kitploit:~
make rancher-ci

لإنشاء إصدار جديد للمخطط فقط

root@kitploit:~
make rancher-chart-ci

سيتم إنشاء مراجعة Helm chart تحت مجلد build/chart. أرشيف مخطط Helm build/chart/latest/rancher-externalip-webhook-<VERSION>.tgz ومجلد مخطط Helm build/chart/rancher-externalip-webhook

نشر المخطط

root@kitploit:~
helm -n externalip-webhook template rancher-externalip-webhook build/chart/latest/rancher-externalip-webhook-<VERSION>.tgz --output-dir . --set metrics.enabled=true --set metrics.prometheusExport=true
kubectl apply -R -f ./rancher-externalip-webhook

التكوين

تحديث Namespace الـ webhook

يعمل webhook افتراضيًا تحت ns externalip-validation-system. يمكن تغيير ذلك بتحديث namespace و namePrefix في ملف kustomization.yaml.

إنشاء الشهادة (Certificate) لـ webhook

يمكن إنشاء شهادات webhook إما من خلال cert-manager أو عن طريق تحميل الشهادات (certs). يشرح القسم التالي كيفية تحقيق ذلك.

استخدام cert-manager

قم بإلغاء التعليق عن جميع الأقسام التي تحتوي على 'CERTMANAGER' في ملف kustomization.yaml.

تحميل شهادات webhook

  1. قم بتحميل بيانات الشهادات (ca.crt, tls.crt و tls.key) كـ kubernetes secret باسم webhook-server-cert في نفس namespace مثل kustomization.yaml.
  2. قم بتحديث حقل caBundle في manifests.yaml.

تمكين نقطة النهاية للمقاييس (metrics endpoint)

يصدر webhook مقاييس webhook_failed_request_count كلما رفض عملية إنشاء أو تحديث خدمة.

التمكين بدون auth-proxy

قم بإلغاء التعليق عن --metrics-addr والقسم المقابل في containers.Port في webhook.yaml.

تمكين /metrics مع auth-proxy

  1. قم بإلغاء التعليق عن جميع الأقسام التي تحتوي على 'METRICS_SERVER_RBAC' في ملف kustomization.yaml.
  2. قم بإنشاء cluster role binding للـ cluster role في auth_proxy_client_clusterrole.yaml.

تصدير المقاييس إلى Prometheus

اتبع الخطوات المذكورة هنا لتصدير مقاييس webhook.

المجتمع، النقاش، المساهمة والدعم

تعرف على كيفية التفاعل مع مجتمع Kubernetes على صفحة المجتمع.

يمكنك التواصل مع القائمين على هذا المشروع عبر:

  • Slack
  • Mailing List

مدونة السلوك

المشاركة في مجتمع Kubernetes تحكمها مدونة سلوك Kubernetes.

تنزيل الأداة