
CVE-2023-37582 के लिए शोषण जो Apache RocketMQ को लक्षित करता है, एक वितरित संदेश प्लेटफ़ॉर्म जिसमें कम विलंबता, उच्च थ्रूपुट, और लेन-देन संदेश, प्रमाणीकरण, और एन्क्रिप्शन के लिए समर्थन है।
Apache RocketMQ एक वितरित संदेश और स्ट्रीमिंग प्लेटफ़ॉर्म है जिसमें कम विलंबता, उच्च प्रदर्शन और विश्वसनीयता, ट्रिलियन-स्तरीय क्षमता और लचीली स्केलेबिलिटी है।
यह विभिन्न प्रकार की सुविधाएँ प्रदान करता है:
यह पैराग्राफ आपको विभिन्न तरीकों से RocketMQ स्थापित करने के चरणों के माध्यम से मार्गदर्शन करता है। स्थानीय विकास और परीक्षण के लिए, प्रत्येक घटक के लिए केवल एक उदाहरण बनाया जाएगा।
RocketMQ सभी प्रमुख ऑपरेटिंग सिस्टम पर चलता है और इसके लिए केवल Java JDK संस्करण 8 या उच्चतर स्थापित होना आवश्यक है।
जाँच करने के लिए, java -version चलाएँ:
$ java -version
java version "1.8.0_121"
Windows उपयोगकर्ताओं के लिए, 4.9.3 RocketMQ बाइनरी रिलीज़ डाउनलोड करने के लिए यहाँ क्लिक करें,
इसे अपनी स्थानीय डिस्क पर अनज़िप करें, जैसे D:\rocketmq।
macOS और Linux उपयोगकर्ताओं के लिए, निम्नलिखित कमांड निष्पादित करें:
# Apache मिरर से रिलीज़ डाउनलोड करें
$ wget https://archive.apache.org/dist/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zip
# रिलीज़ को अनज़िप करें
$ 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 उपयोगकर्ताओं के लिए:
### Name Server प्रारंभ करें
$ nohup sh mqnamesrv &
### जाँचें कि Name Server सफलतापूर्वक प्रारंभ हुआ है या नहीं
$ 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 उपयोगकर्ताओं के लिए:
### Broker प्रारंभ करें
$ nohup sh bin/mqbroker -n localhost:9876 &
### जाँचें कि Broker सफलतापूर्वक प्रारंभ हुआ है या नहीं, उदा: Broker का IP 192.168.1.2 है, Broker का नाम 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...
आप अपनी मशीन पर Docker कंटेनरों के भीतर RocketMQ चला सकते हैं,
कंटेनर में सुनने वाले पोर्ट को उजागर करने के लिए 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 Operator का उपयोग करके Kubernetes क्लस्टर के भीतर RocketMQ क्लस्टर भी चला सकते हैं।
अपने संचालन से पहले, सुनिश्चित करें कि आपकी मशीन पर kubectl और संबंधित kubeconfig फ़ाइल स्थापित है।
1) CRDs स्थापित करें
### CRDs स्थापित करें
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
### जाँचें कि CRDs सफलतापूर्वक स्थापित हुए हैं या नहीं
$ 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
### जाँचें कि operator चल रहा है या नहीं
$ kubectl get pods | grep rocketmq-operator
rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0 93s
2) क्लस्टर इंस्टेंस बनाएँ
### RocketMQ क्लस्टर संसाधन बनाएँ
$ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml
### जाँचें कि क्लस्टर संसाधन चल रहे हैं या नहीं
$ 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 सॉफ्टवेयर फाउंडेशन वितरण का रूप और तरीका इसे ऑब्जेक्ट कोड और स्रोत कोड दोनों के लिए लाइसेंस अपवाद ENC टेक्नोलॉजी सॉफ्टवेयर अनरेस्ट्रिक्टेड (TSU) अपवाद (BIS निर्यात प्रशासन विनियम, धारा 740.13 देखें) के तहत निर्यात के लिए पात्र बनाता है।
निम्नलिखित शामिल क्रिप्टोग्राफ़िक सॉफ्टवेयर पर अधिक विवरण प्रदान करता है:
यह सॉफ्टवेयर प्रमाणीकरण, और सेवाओं के बीच नेटवर्क पर भेजे गए डेटा के एन्क्रिप्शन और डिक्रिप्शन का समर्थन करने के लिए Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) का उपयोग करता है।