
CVE-2023-33246 के लिए शोषण जो Apache RocketMQ 5.1.0 को लक्षित करता है, ब्रोकर के अपडेट कॉन्फ़िगरेशन एंडपॉइंट में तैयार पैकेट इंजेक्शन के माध्यम से दूरस्थ कोड निष्पादन सक्षम करता है।
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...
आप अपनी मशीन पर 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 स्थापित करें
### 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 License, Version 2.0 कॉपीराइट (C) Apache Software Foundation
इस वितरण में क्रिप्टोग्राफ़िक सॉफ़्टवेयर शामिल है। आप जिस देश में वर्तमान में रहते हैं, उस देश में एन्क्रिप्शन सॉफ़्टवेयर के आयात, कब्ज़े, उपयोग और/या किसी अन्य देश में पुनः निर्यात पर प्रतिबंध हो सकते हैं। किसी भी एन्क्रिप्शन सॉफ़्टवेयर का उपयोग करने से पहले, कृपया यह देखने के लिए अपने देश के कानूनों, विनियमों और नीतियों की जाँच करें कि क्या यह अनुमत है। अधिक जानकारी के लिए http://www.wassenaar.org/ देखें।
अमेरिकी सरकार के वाणिज्य विभाग, उद्योग और सुरक्षा ब्यूरो (BIS) ने इस सॉफ़्टवेयर को निर्यात वस्तु नियंत्रण संख्या (ECCN) 5D002.C.1 के रूप में वर्गीकृत किया है, जिसमें असममित एल्गोरिदम के साथ क्रिप्टोग्राफ़िक फ़ंक्शन का उपयोग या प्रदर्शन करने वाला सूचना सुरक्षा सॉफ़्टवेयर शामिल है। इस Apache Software Foundation वितरण का रूप और तरीका इसे ऑब्जेक्ट कोड और स्रोत कोड दोनों के लिए लाइसेंस अपवाद ENC टेक्नोलॉजी सॉफ़्टवेयर अनरेस्ट्रिक्टेड (TSU) अपवाद (BIS निर्यात प्रशासन विनियम, धारा 740.13 देखें) के तहत निर्यात के लिए पात्र बनाता है।
निम्नलिखित शामिल क्रिप्टोग्राफ़िक सॉफ़्टवेयर पर अधिक विवरण प्रदान करता है:
यह सॉफ़्टवेयर सेवाओं के बीच नेटवर्क पर भेजे गए डेटा के प्रमाणीकरण और एन्क्रिप्शन और डिक्रिप्शन का समर्थन करने के लिए Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) का उपयोग करता है।