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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kubernetes-log4j-cve-2021-44228-node-agent — Kubernetes DaemonSet الذي ينشر تصحيحًا ساخنًا على مستوى JVM للتخفيف من Log4j2 CVE-2021-44228 عن طريق تعطيل عمليات بحث JNDI عبر جميع الحاويات وأجهزة JVM المضيفة. | Kitploit
أدوات/GitHubGitHub/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent
ماسحات الثغرات الأمنيةأمن الحاوياتتحليل الثغرات الأمنيةأمن السحابةDevSecOpsالاستجابة للحوادثArchived
GitHubaws-samples/kubernetes-log4j-cve-2021-44228-node-agent

kubernetes-log4j-cve-2021-44228-node-agent

الأكثر شعبية

عرض الكل →

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

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

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

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

Kubernetes DaemonSet الذي ينشر تصحيحًا ساخنًا على مستوى JVM للتخفيف من Log4j2 CVE-2021-44228 عن طريق تعطيل عمليات بحث JNDI عبر جميع الحاويات وأجهزة JVM المضيفة.

عرض المستودع
216منذ 3 سنواتلم تتم المراجعة بعد

!!!! إشعار بإيقاف الخدمة !!!!

هذا المشروع قيد الإيقاف كما هو موضح أدناه.

  • 2023-01-01 - لن يتم تحديث هذا المستودع بعد الآن
  • 2023-04-01 - سيتم إيقاف هذا المستودع بشكل دائم

سيتوقف المشروع عن قبول المشكلات (issues) ولن يتم تحديثه اعتبارًا من 2023-01-01. بعد هذا التاريخ، سيكون هذا المشروع غير مدعوم ولن يتم إنشاء أي إصدارات أو قطع أثرية (artifacts) جديدة مرتبطة به.

سيتم أرشفة مستودع المشروع بشكل دائم (سيصبح للقراءة فقط) اعتبارًا من 2023-04-01.

كما هو مذكور في وثائق المشروع الأصلية، كان هذا الإجراء دائمًا بمثابة إجراء مؤقت لمساعدة مستخدمي Kubernetes، ولم يوفر سوى تخفيف جزئي للتعرض الأمني الناتج عن Log4j2 CVE-2021-44228 و CVE-2021-45046. يُوصى بشدة أن يقوم جميع مستخدمي Log4j بالتحديث إلى إصدار مصحح من المشروع للتخفيف الكامل من أي مخاطر مرتبطة بهذه الثغرات الأمنية (CVEs).

ماذا لو كنت لا أزال أرغب في استخدام هذا؟

ستظل القطع الأثرية للإصدارات (release artifacts) المرتبطة بأحدث إصدار متاحة بشكل دائم لمستهلكي هذا المشروع الذين يستمرون في نشره في بيئات Kubernetes الخاصة بهم. على وجه التحديد، بيان DaemonSet و صورة الحاوية العامة لـ ECR ستظل متاحة بعد الإيقاف، ولكن لن يتم دعمها أو تحديثها بعد الآن.

وكيل عقدة Apache Log4j2 CVE-2021-44228

طورت AWS RPM يقوم بتطبيق تصحيح ساخن على مستوى JVM يعطل عمليات بحث JNDI من مكتبة Log4j2، مما يخفف من Log4j2 CVE-2021-44228 و CVE-2021-45046.

وكيل عقدة Apache Log4j2 CVE-2021-44228 هو مشروع مفتوح المصدر بناه فريق Kubernetes في AWS. وهو مصمم للعمل كـ DaemonSet للتخفيف من تأثير Log4j2 CVE-2021-44228، الذي يؤثر على التطبيقات التي تعمل بإصدارات Apache Log4j2 < 2.15.0 عند معالجة المدخلات من مصادر غير موثوقة. تشغيل DaemonSet هذا سيصحح JVMs التي تعمل داخل الحاويات وكذلك على المضيف.

ما يفعله: سيتم تثبيت إدخال cron (cron entry) على كل عقدة عاملة يقوم بتشغيل عملية تبحث عن JVMs قيد التشغيل وتحقق وكيلًا يخفف من ثغرة Log4J2. سيتم تصحيح جميع JVMs، بما في ذلك تلك التي تعمل داخل الحاويات، بهذه الطريقة. حاليًا، تم تكوين عملية التصحيح الساخن للتشغيل كل 30 دقيقة مع تمويه زمني (jitter) لمدة 15 دقيقة. يمكن أن تتراوح النافذة الفعلية من 15 إلى 45 دقيقة بين عمليات التشغيل.

ملاحظة: يمكنك العثور على معلومات إضافية حول ثغرة Log4j2 واستجابة AWS في نشرة أمان AWS.

ملاحظة: في 20/4/22، تم تحديث الصورة (الإصدار v0.0.16) بأحدث تصحيح لنظامي Amazon Linux 1 و 2. إذا قمت بتثبيت إصدار سابق من DaemonSet هذا وما زال قيد التشغيل، فيجب عليك إعادة تطبيق ملف daemonset.yaml لتثبيت أحدث RPM. إذا لم تعد بحاجة إلى تصحيح log4j، فيجب عليك حذف DaemonSet وإلغاء تثبيت RPM حيث أن الإصدارات الأقدم من RPM (< 1.1-16) تحتوي على ثغرة أمنية يمكن أن تسمح للمهاجم بالهروب من الحاوية والحصول على وصول إلى المضيف الأساسي.

ملاحظة: الإصدار 1.3-5 يعالج ALAS2-2022-1806 و ALAS-2022-1601. انظر ترقية الصلاحية المحلية إلى الجذر في Amazon Linux "log4j hotpatch" <1.3-5 للحصول على معلومات إضافية.

تعليمات التثبيت

  1. قم بتطبيق البيان (manifest):
root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent/main/daemonset.yaml
  1. تحقق من السجلات (logs) لواحد أو أكثر من Pods الخاصة بـ DaemonSet الخاص بك.

قم بفحص نقطي لـ Pod واحد:

root@kitploit:~
kubectl get pods -l job=node-patch-installer -n node-configuration-daemonset
root@kitploit:~
kubectl logs <pod-name> -c node-patch-installer -n node-configuration-daemonset

أو احصل على تأكيد لكل عقدة:

root@kitploit:~
kubectl logs -l job=node-patch-installer -c node-patch-installer -n node-configuration-daemonset | grep 'installed'

إذا كان التثبيت ناجحًا، سيكون السطر الأخير في ملف السجل هو installed and verified (مثبت وتم التحقق منه) وإلا سيتم تسجيل خطأ.

اعتبارات

  • هذا المشروع يهدف إلى العمل كإجراء تخفيف مؤقت وأفضل جهد ممكن حتى تتمكن من تحديث تبعية Log4j2 في جميع تطبيقات Kubernetes الخاصة بك المستندة إلى Java إلى إصدار Log4j 2.15.0 على الأقل. لا تعتمد على هذا الوكيل كإجراء تخفيف طويل الأمد. قد تساعدك هذه الأداة في تخفيف المخاطر عندما لا يكون تحديث التبعيات ممكنًا على الفور.
  • DaemonSet مدعوم على توزيعات Amazon Linux (AL) و Amazon Linux 2 (AL2) و Debian Linux مثل Ubuntu. Bottlerocket غير مدعوم لأنه لا يتضمن غلاف (shell) أو مدير حزم. إذا كنت تستخدم log4j على Bottlerocket، فسيتم التعامل مع CVE بواسطة Hotdog.
  • نظرًا لأن DaemonSets لا تعمل على AWS Fargate، فإن أي Pods تعمل على Fargate في مجموعات Amazon EKS لن يتم تصحيحها بواسطة هذا الوكيل.
  • مع تكرار التشغيل الافتراضي البالغ 30 دقيقة، فإن الوكيل أكثر ملاءمة للحاويات طويلة الأمد.
  • يعمل RPM فقط مع توزيعات Java التالية:
    • Credo
    • Corretto
    • OpenJDK
  • إذا كانت عُقد العمل الخاصة بك في بيئة معزولة (sandboxed) بدون اتصال بالإنترنت، يمكنك سحب الصورة من ECR ودفعها إلى سجل خاص. بدلاً من ذلك، يمكنك تعديل makefile في دليل الصورة لبناء الصورة الناتجة ودفعها إلى سجل خاص. قم بتحرير spec.template.spec.initContainers.image الخاص بـ DaemonSet في ملف daemonset.yaml ليعكس URI:tag الجديد للصورة، ثم قم بتطبيق البيان على مجموعتك.

حول ثغرة CVE-2021-44228

ميزات JNDI في Apache Log4j2 < 2.15.0 المستخدمة في التهيئة ورسائل السجل والمعاملات لا تحمي من نقاط النهاية LDAP وغيرها من نقاط النهاية ذات الصلة بـ JNDI التي يتحكم فيها المهاجم. يمكن للمهاجم الذي يمكنه التحكم في رسائل السجل أو معاملات رسائل السجل تنفيذ كود تعسفي يتم تحميله من خوادم LDAP عند تمكين استبدال الرسائل (message lookup substitution). في إصدارات Log4j2 < 2.15.0، تم تعطيل هذا السلوك افتراضيًا. يمكن العثور على التفاصيل الكاملة في نشرة CVE.

يمكنك العثور على معلومات إضافية حول ثغرة Log4j2 في نشرة أمان AWS.

كيف يعمل هذا

طورت AWS RPM يقوم بتطبيق تصحيح ساخن على مستوى JVM يعطل عمليات بحث JNDI من مكتبة Log4j2، مما يخفف من مشكلة Log4j2 التي تنطبق على JVMs على المضيف وكذلك JVMs التي تعمل داخل الحاويات. يقوم هذا المشروع بتغليف RPM كـ DaemonSet لـ Kubernetes.

عند التثبيت، سيتم تشغيل عملية على كل عقدة عاملة تبحث عن JVMs قيد التشغيل وتحقق وكيلًا في JVM للتخفيف من ثغرة Log4j2. يحاول الوكيل تصحيح طريقة lookup() لجميع النسخ المحملة من org.apache.logging.log4j.core.lookup.JndiLookup لإرجاع السلسلة Patched JndiLookup::lookup() بشكل غير مشروط. تم تصميم هذا لمعالجة ثغرة CVE-2021-44228 لتنفيذ الكود عن بُعد في Log4j2 دون إعادة تشغيل عملية Java.

تم تكوين هذه العملية افتراضيًا للتشغيل كل 30 دقيقة، وستضيف طبقة حماية في المجموعات حيث لم يتم بعد تصحيح التطبيقات بإصدار Log4j2 محدث.

يمكنك العثور على مزيد من التفاصيل حول التصحيح الساخن في مدونة AWS مفتوحة المصدر.

صورة الحاوية مستضافة في مستودع ECR العام الخاص بـ aws-containers.

تنزيل الأداة