
Exploit para CVE-2023-37582 dirigido a Apache RocketMQ, una plataforma de mensajería distribuida con baja latencia, alto rendimiento y soporte para mensajería transaccional, autenticación y cifrado.
Apache RocketMQ es una plataforma distribuida de mensajería y streaming con baja latencia, alto rendimiento y fiabilidad, capacidad a nivel de billones y escalabilidad flexible.
Ofrece una variedad de características:
Este párrafo te guía a través de los pasos para instalar RocketMQ de diferentes formas. Para el desarrollo y las pruebas locales, solo se creará una instancia de cada componente.
RocketMQ se ejecuta en todos los sistemas operativos principales y solo requiere que esté instalado un JDK de Java versión 8 o superior.
Para comprobarlo, ejecuta java -version:
$ java -version
java version "1.8.0_121"
Para usuarios de Windows, haz clic aquí para descargar la versión binaria 4.9.3 de RocketMQ,
descomprímela en tu disco local, por ejemplo D:\rocketmq.
Para usuarios de macOS y Linux, ejecuta los siguientes comandos:
# 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
Prepara una terminal y accede al directorio bin extraído:
$ cd rocketmq-4.9.3/bin
1) Iniciar NameServer
NameServer escuchará en 0.0.0.0:9876; asegúrate de que el puerto no lo esté usando otro proceso en la máquina local y, a continuación, haz lo siguiente.
Para usuarios de macOS y 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...
Para usuarios de Windows, primero debes configurar las variables de entorno:
ROCKETMQ_HOME="D:\rocketmq".Luego cambia al directorio de rocketmq, escribe y ejecuta:
$ mqnamesrv.cmd
The Name Server boot success...
2) Iniciar Broker
Para usuarios de macOS y 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...
Para usuarios de Windows:
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
Puedes ejecutar RocketMQ en tu propia máquina dentro de contenedores Docker;
se utilizará la red host para exponer el puerto de escucha en el contenedor.
1) Iniciar NameServer
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) Iniciar Broker
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
También puedes ejecutar un clúster de RocketMQ dentro de un clúster de Kubernetes utilizando RocketMQ Operator.
Antes de comenzar, asegúrate de que kubectl y el archivo kubeconfig correspondiente estén instalados en tu máquina.
1) Instalar 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) Crear la instancia del clúster
### 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
Siempre damos la bienvenida a nuevas contribuciones, ya sea para limpiezas triviales, grandes nuevas funciones u otras recompensas materiales; más detalles aquí.
Apache License, Version 2.0 Copyright (C) Apache Software Foundation
Esta distribución incluye software criptográfico. El país en el que resides actualmente puede tener restricciones sobre la importación, posesión, uso y/o reexportación a otro país de software de cifrado. ANTES de utilizar cualquier software de cifrado, consulta las leyes, regulaciones y políticas de tu país relativas a la importación, posesión o uso, y reexportación de software de cifrado, para comprobar si está permitido. Consulta http://www.wassenaar.org/ para obtener más información.
El Departamento de Comercio del Gobierno de los EE. UU., Oficina de Industria y Seguridad (BIS), ha clasificado este software como Número de Control de Exportación de Productos (ECCN) 5D002.C.1, que incluye software de seguridad de la información que utiliza o realiza funciones criptográficas con algoritmos asimétricos. La forma y manera de esta distribución de la Apache Software Foundation la hace elegible para exportación bajo la excepción de Licencia ENC Technology Software Unrestricted (TSU) (véanse las Regulaciones de Administración de Exportaciones del BIS, Sección 740.13), tanto para código objeto como para código fuente.
Lo siguiente proporciona más detalles sobre el software criptográfico incluido:
Este software utiliza Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) para ofrecer soporte de autenticación, así como cifrado y descifrado de los datos enviados a través de la red entre servicios.