
Exploit pour CVE-2023-33246 ciblant Apache RocketMQ 5.1.0, permettant l'exécution de code à distance via l'injection de paquets forgés dans le point de terminaison de mise à jour de configuration du courtier.
Apache RocketMQ est une plateforme de messagerie et de streaming distribuée avec une faible latence, des performances et une fiabilité élevées, une capacité au niveau du trillion et une évolutivité flexible.
Il offre une variété de fonctionnalités :
Ce paragraphe vous guide à travers les étapes d'installation de RocketMQ de différentes manières. Pour le développement et les tests locaux, une seule instance sera créée pour chaque composant.
RocketMQ fonctionne sur tous les principaux systèmes d'exploitation et nécessite seulement l'installation d'un JDK Java version 8 ou supérieure.
Pour vérifier, exécutez java -version :
$ java -version
java version "1.8.0_121"
Pour les utilisateurs Windows, cliquez ici pour télécharger la version binaire 4.9.4 de RocketMQ, décompressez-la sur votre disque local, par exemple D:\rocketmq.
Pour les utilisateurs macOS et Linux, exécutez les commandes suivantes :
# 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
Préparez un terminal et placez-vous dans le répertoire bin extrait :
$ cd rocketmq-4.9.4/bin
1) Démarrer NameServer
NameServer écoutera sur 0.0.0.0:9876, assurez-vous que ce port n'est pas utilisé par d'autres sur la machine locale, puis procédez comme suit.
Pour les utilisateurs macOS et 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...
Pour les utilisateurs Windows, vous devez d'abord définir les variables d'environnement :
ROCKETMQ_HOME="D:\rocketmq".Ensuite, changez de répertoire pour accéder à rocketmq, tapez et exécutez :
$ mqnamesrv.cmd
The Name Server boot success...
2) Démarrer Broker
Pour les utilisateurs macOS et 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...
Pour les utilisateurs Windows :
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
Vous pouvez exécuter RocketMQ sur votre propre machine dans des conteneurs Docker,
le réseau host sera utilisé pour exposer le port d'écoute dans le conteneur.
1) Démarrer NameServer
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) Démarrer Broker
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
Vous pouvez également exécuter un cluster RocketMQ dans un cluster Kubernetes en utilisant RocketMQ Operator.
Avant vos opérations, assurez-vous que kubectl et le fichier kubeconfig associé sont installés sur votre machine.
1) Installer les 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) Créer une instance de cluster
### 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
Nous accueillons toujours les nouvelles contributions, qu'il s'agisse de nettoyages mineurs, de grandes nouvelles fonctionnalités ou d'autres récompenses matérielles, plus de détails ici.
Apache License, Version 2.0 Copyright (C) Apache Software Foundation
Cette distribution inclut un logiciel cryptographique. Le pays dans lequel vous résidez actuellement peut avoir des restrictions sur l'importation, la possession, l'utilisation et/ou la réexportation vers un autre pays, des logiciels de chiffrement. AVANT d'utiliser un logiciel de chiffrement, veuillez vérifier les lois, réglementations et politiques de votre pays concernant l'importation, la possession, l'utilisation et la réexportation de logiciels de chiffrement, pour voir si cela est autorisé. Voir http://www.wassenaar.org/ pour plus d'informations.
Le Département du Commerce des États-Unis, Bureau de l'Industrie et de la Sécurité (BIS), a classé ce logiciel sous le numéro de contrôle des exportations (ECCN) 5D002.C.1, qui inclut les logiciels de sécurité de l'information utilisant ou effectuant des fonctions cryptographiques avec des algorithmes asymétriques. La forme et la manière de cette distribution Apache Software Foundation la rendent éligible à l'exportation sous l'exception de licence ENC Technology Software Unrestricted (TSU) (voir les Règlements d'Administration des Exportations du BIS, Section 740.13) pour le code objet et le code source.
Ce qui suit fournit plus de détails sur le logiciel cryptographique inclus :
Ce logiciel utilise Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) pour prendre en charge l'authentification, et le chiffrement et déchiffrement des données envoyées sur le réseau entre les services.