
استغلال للثغرة CVE-2023-37582 يستهدف Apache RocketMQ، وهي منصة مراسلة موزعة ذات زمن استجابة منخفض، إنتاجية عالية، ودعم للرسائل المعاملاتية، المصادقة، والتشفير.
Apache RocketMQ هي منصة رسائل وبث موزعة مع زمن انتقال منخفض وأداء عالٍ وموثوقية، وسعة بمستوى تريليون، وقابلية توسع مرنة.
توفر مجموعة متنوعة من الميزات:
توجهك هذه الفقرة خلال خطوات تثبيت RocketMQ بطرق مختلفة. للتطوير والاختبار المحلي، سيتم إنشاء مثيل واحد فقط لكل مكون.
يعمل RocketMQ على جميع أنظمة التشغيل الرئيسية ويتطلب فقط تثبيت Java JDK الإصدار 8 أو أعلى. للتحقق، قم بتشغيل java -version:
$ java -version
java version "1.8.0_121"
لمستخدمي Windows، انقر هنا لتنزيل إصدار RocketMQ الثنائي 4.9.3، وفك ضغطه إلى القرص المحلي لديك، مثل D:\rocketmq.
لمستخدمي macOS و Linux، قم بتنفيذ الأوامر التالية:
# Download release from the Apache mirror
$ wget https://archive.apache.org/dist/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zip
# Unpack the release
$ unzip rocketmq-all-4.9.3-bin-release.zip
قم بتجهيز طرفية وانتقل إلى دليل bin المستخرج:
$ cd rocketmq-4.9.3/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) إنشاء مجموعة (Cluster Instance)
### 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 License, Version 2.0 حقوق النشر (C) مؤسسة برمجيات أباتشي
يتضمن هذا التوزيع برامج تشفير. قد تفرض الدولة التي تقيم فيها حاليًا قيودًا على استيراد أو حيازة أو استخدام أو إعادة تصدير برامج التشفير إلى دولة أخرى. قبل استخدام أي برنامج تشفير، يرجى التحقق من قوانين وأنظمة وسياسات بلدك المتعلقة باستيراد أو حيازة أو استخدام أو إعادة تصدير برامج التشفير، لمعرفة ما إذا كان ذلك مسموحًا به. راجع http://www.wassenaar.org/ لمزيد من المعلومات.
قامت وزارة التجارة الأمريكية، مكتب الصناعة والأمن (BIS)، بتصنيف هذا البرنامج على أنه رقم ضوابط تصدير السلع (ECCN) 5D002.C.1، والذي يتضمن برامج أمن المعلومات التي تستخدم أو تؤدي وظائف تشفير باستخدام خوارزميات غير متماثلة. يجعل شكل وطبيعة توزيع مؤسسة برمجيات أباتشي هذا البرنامج مؤهلاً للتصدير بموجب استثناء ترخيص استثناء تكنولوجيا البرامج غير المقيدة (TSU) للترميز (انظر لوائح إدارة التصدير الخاصة بـ BIS، القسم 740.13) لكل من الكود الهدفي والكود المصدري.
يوفر ما يلي مزيدًا من التفاصيل حول برامج التشفير المضمنة:
يستخدم هذا البرنامج Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) لدعم المصادقة وتشفير وفك تشفير البيانات المرسلة عبر الشبكة بين الخدمات.