
CVE-2023-33246 익스플로잇, Apache RocketMQ 5.1.0 대상, 브로커의 업데이트 구성 엔드포인트에 조작된 패킷을 주입하여 원격 코드 실행을 가능하게 함.
[![Build Status][maven-build-image]][maven-build-url] [![CodeCov][codecov-image]][codecov-url] [![Maven Central][maven-central-image]][maven-central-url] [![Release][release-image]][release-url] [![License][license-image]][license-url] [![Average Time to Resolve An Issue][percentage-of-issues-still-open-image]][pencentage-of-issues-still-open-url] [![Percentage of Issues Still Open][average-time-to-resolve-an-issue-image]][average-time-to-resolve-an-issue-url] [![Twitter Follow][twitter-follow-image]][twitter-follow-url]
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) 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/를 참조하십시오.