
Apache RocketMQ(低レイテンシー、高スループット、トランザクショナルメッセージング、認証、暗号化をサポートする分散メッセージングプラットフォーム)を標的としたCVE-2023-37582用エクスプロイト。
Apache RocketMQ は、低レイテンシ、高性能、高信頼性、兆レベルの容量、そして柔軟なスケーラビリティを備えた分散メッセージングおよびストリーミングプラットフォームです。
さまざまな機能を提供します:
この段落では、さまざまな方法で RocketMQ をインストールする手順を説明します。 ローカルでの開発とテストでは、各コンポーネントにつき 1 つのインスタンスのみが作成されます。
RocketMQ は主要なオペレーティングシステムすべてで動作し、Java JDK バージョン 8 以降がインストールされていることだけが必要です。
確認するには、java -version を実行してください:
$ java -version
java version "1.8.0_121"
Windows ユーザーは、こちら をクリックして 4.9.3 RocketMQ バイナリリリースをダウンロードし、
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...
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) CRD をインストールする
### 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 Copyright (C) Apache Software Foundation
この配布物には暗号化ソフトウェアが含まれています。現在お住まいの国では、暗号化ソフトウェアの輸入、所持、使用、および/または他国への再輸出に関して制限がある場合があります。 暗号化ソフトウェアを使用する前に、暗号化ソフトウェアの輸入、所持、使用、および再輸出に関するお住まいの国の法律、規制、および方針を確認し、これが許可されているかどうかを確認してください。詳細については http://www.wassenaar.org/ を参照してください。
米国政府商務省産業安全保障局 (BIS) は、このソフトウェアを輸出商品管理番号 (ECCN) 5D002.C.1 に分類しています。これは、非対称アルゴリズムを使用または実行する暗号化機能を備えた情報セキュリティソフトウェアを含みます。この Apache Software Foundation 配布物の形式および方法により、オブジェクトコードとソースコードの両方について、ライセンス例外 ENC Technology Software Unrestricted (TSU) 例外 (BIS 輸出管理規則 第740.13条を参照) に基づく輸出が認められます。
以下に、含まれる暗号化ソフトウェアの詳細を示します:
このソフトウェアは Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) を使用して、サービス間でネットワーク経由で送信されるデータの認証、暗号化、および復号化をサポートしています。