
Эксплойт для 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 выполните следующие команды:
# Загрузка релиза из зеркала 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:
### Запуск NameServer
$ nohup sh mqnamesrv &
### Проверка успешности запуска NameServer
$ 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, например: IP брокера 192.168.1.2, имя брокера 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) Установка CRD
### Установка CRD
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
### Проверка успешности установки CRD
$ 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
### Проверка, работает ли оператор
$ 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 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/) для поддержки аутентификации, а также шифрования и дешифрования данных, передаваемых по сети между сервисами.