
استغلال لـ CVE-2023-33246 يستهدف Apache RocketMQ 5.1.0، يتيح تنفيذ تعليمات برمجية عن بُعد عبر حقن حزمة مصممة في نقطة تحديث التهيئة الخاصة بـ broker.
Apache RocketMQ هي منصة توزيع رسائل وبث بيانات ذات زمن استجابة منخفض، وأداء عالٍ وموثوقية، وسعة تريليونية، وقابلية توسع مرنة.
توفر مجموعة متنوعة من الميزات:
ترشدك هذه الفقرة عبر خطوات تثبيت RocketMQ بطرق مختلفة. للتطوير والاختبار المحلي، سيتم إنشاء مثيل واحد فقط لكل مكون.
يعمل RocketMQ على جميع أنظمة التشغيل الرئيسية ويتطلب فقط تثبيت Java JDK الإصدار 8 أو أعلى.
للتحقق، قم بتشغيل java -version:
$ java -version
java version "1.8.0_121"
لمستخدمي Windows، انقر هنا لتنزيل الإصدار الثنائي 4.9.4 من RocketMQ،
قم بفك ضغطه إلى قرصك المحلي، مثل D:\rocketmq.
لمستخدمي macOS و Linux، نفذ الأوامر التالية:
# Download release from the Apache mirror
$ wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip
# Unpack the release
$ unzip rocketmq-all-4.9.4-bin-release.zip
جهز محطة طرفية وانتقل إلى الدليل المستخرج bin:
$ cd rocketmq-4.9.4/bin
1) بدء NameServer
سيستمع NameServer على 0.0.0.0:9876، تأكد من أن المنفذ غير مستخدم من قبل الآخرين على الجهاز المحلي، ثم قم بما يلي.
لمستخدمي macOS و Linux:
### start Name Server
$ nohup sh mqnamesrv &
### check whether Name Server is successfully started
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
لمستخدمي Windows، تحتاج أولاً إلى تعيين متغيرات البيئة:
ROCKETMQ_HOME="D:\rocketmq".ثم انتقل إلى دليل rocketmq، اكتب ونفذ:
$ mqnamesrv.cmd
The Name Server boot success...
2) بدء Broker
لمستخدمي macOS و Linux:
### start Broker
$ nohup sh bin/mqbroker -n localhost:9876 &
### check whether Broker is successfully started, eg: Broker's IP is 192.168.1.2, Broker's name is broker-a
$ tail -f ~/logs/rocketmqlogs/broker.log
The broker[broker-a, 192.169.1.2:10911] boot success...
لمستخدمي Windows:
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
يمكنك تشغيل RocketMQ على جهازك الخاص داخل حاويات Docker،
سيتم استخدام شبكة host لكشف منفذ الاستماع في الحاوية.
1) بدء NameServer
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) بدء Broker
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
يمكنك أيضاً تشغيل مجموعة RocketMQ داخل مجموعة Kubernetes باستخدام RocketMQ Operator.
قبل عملياتك، تأكد من تثبيت kubectl وملف kubeconfig ذي الصلة على جهازك.
1) تثبيت CRDs
### install CRDs
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
### check whether CRDs is successfully installed
$ kubectl get crd | grep rocketmq.apache.org
brokers.rocketmq.apache.org 2022-05-12T09:23:18Z
consoles.rocketmq.apache.org 2022-05-12T09:23:19Z
nameservices.rocketmq.apache.org 2022-05-12T09:23:18Z
topictransfers.rocketmq.apache.org 2022-05-12T09:23:19Z
### check whether operator is running
$ kubectl get pods | grep rocketmq-operator
rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0 93s
2) إنشاء مثيل مجموعة
### create RocketMQ cluster resource
$ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml
### check whether cluster resources is running
$ kubectl get sts
NAME READY AGE
broker-0-master 1/1 107m
broker-0-replica-1 1/1 107m
name-service 1/1 107m
نرحب دائماً بالمساهمات الجديدة، سواء كانت لتنظيفات بسيطة، ميزات جديدة كبيرة أو مكافآت مادية أخرى، لمزيد من التفاصيل انظر هنا.
رخصة Apache، الإصدار 2.0 حقوق النشر (C) مؤسسة برامج Apache
هذا التوزيع يتضمن برامج تشفير. قد تفرض الدولة التي تقيم فيها حالياً قيوداً على استيراد، حيازة، استخدام، و/أو إعادة التصدير إلى دولة أخرى من برامج التشفير. قبل استخدام أي برنامج تشفير، يرجى التحقق من قوانين بلدك ولوائحه وسياساته المتعلقة باستيراد، حيازة، استخدام، وإعادة تصدير برامج التشفير، لمعرفة ما إذا كان ذلك مسموحاً به. راجع http://www.wassenaar.org/ لمزيد من المعلومات.
قامت وزارة التجارة الأمريكية، مكتب الصناعة والأمن (BIS)، بتصنيف هذا البرنامج كرقم ضبط سلعة التصدير (ECCN) 5D002.C.1، والذي يشمل برامج أمان المعلومات التي تستخدم أو تؤدي وظائف تشفير بخوارزميات غير متماثلة. الشكل والطريقة التي يتم بها توزيع مؤسسة برامج Apache يجعلها مؤهلة للتصدير بموجب استثناء ترخيص تقنية التشفير غير المقيدة (TSU) (راجع لوائح إدارة التصدير BIS، القسم 740.13) لكل من الكود الهدف والكود المصدري.
ما يلي يوفر المزيد من التفاصيل حول برامج التشفير المضمنة:
يستخدم هذا البرنامج Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) لدعم المصادقة، وتشفير وفك تشفير البيانات المرسلة عبر الشبكة بين الخدمات.