Docker에서 프로덕션 수준의 Wazuh SIEM을 구축한 방법 (VMware, AWS, GCP용 커스텀 규칙 포함)

발행: (2026년 5월 2일 PM 08:21 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

대부분의 Wazuh 설정에서 발생하는 문제

Wazuh를 바로 사용하면 일반적인 Linux 알림을 제공합니다. 유용하지만 잡음이 많습니다. 제가 필요했던 것은:

  • Docker 컨테이너 악용(특권 실행, 의심스러운 마운트, 암호화 채굴)에 맞춘 탐지 규칙
  • VMware vCenter 모니터링 – 스냅샷 남용, vMotion 이벤트, 인증 무차별 대입
  • AWS CloudTrailGCP Audit Log 이상 징후를 Wazuh 규칙에 매핑
  • 수십 대의 머신에 하나씩 SSH 접속하지 않고 에이전트를 대규모로 배포할 수 있는 방법
  • 실험실(4 GB RAM)과 프로덕션 모두에서 동작하는 솔루션

스택 구성

┌─────────────────────────────────┐
│  Wazuh Manager  :1514 / :55000 │
│  Wazuh Indexer  :9200          │
│  Wazuh Dashboard :5601        │
│  NGINX (optional reverse proxy)│
└─────────────────────────────────┘
         ↑ agents on port 1514
Linux servers · Windows servers · Docker hosts · vCenter
         ↑ log forwarding
AWS CloudTrail (S3) · GCP Pub/Sub

모든 구성은 docker compose 로 실행됩니다. 테스트용으로 리소스 사용량을 줄여주는 docker-compose.lab.yml 오버레이도 포함되어 있습니다.

사용자 정의 탐지 규칙

rules/ 디렉터리에는 각 환경별 규칙 세트가 들어 있습니다.

Docker (rules/docker/)

  • 컨테이너 exec 이벤트
  • 특권 컨테이너 생성
  • 호스트 네임스페이스 남용 (--pid=host, --network=host)
  • 의심스러운 바인드 마운트 (/etc, /var/run/docker.sock)
  • 암호화 채굴 시그니처

VMware (rules/vmware/)

  • VM 전원 상태 변화
  • 스냅샷 생성/삭제 (랜섬웨어 지표)
  • 호스트 연결 끊김 이벤트
  • vCenter 로그인 무차별 대입

AWS (rules/aws/)

  • IAM 정책 변경
  • 0.0.0.0/0 로 열려 있는 보안 그룹
  • MFA 없이 콘솔 로그인
  • CloudTrail 비활성화 또는 삭제

GCP (rules/gcp/)

  • 공개 버킷 생성
  • 0.0.0.0/0 로 열려 있는 방화벽 규칙
  • IAM 정책 변경
  • 허용된 지역 외에 Compute 인스턴스 생성

Ansible 에이전트 배포

레포지토리에는 에이전트 설치를 자동화하는 Ansible 플레이북이 포함되어 있습니다.

# 인벤토리 내 모든 Linux 호스트에 배포
ansible-playbook -i inventories/production playbooks/deploy-linux-agent.yml

# Windows 호스트 (WinRM 사용)
ansible-playbook -i inventories/production playbooks/deploy-windows-agent.yml

네트워크 탐지 스크립트가 서브넷을 스캔하고 Ansible 인벤토리를 생성한 뒤 바로 배포 파이프라인에 전달합니다:

make onboard SUBNET=10.0.0.0/24

한 번의 명령: 스캔 → 탐지 → 에이전트 배포 → 검증.

시작하기

git clone https://github.com/GiulioSavini/wazuh-docker-monitoring-platform.git
cd wazuh-docker-monitoring-platform

make preflight        # Docker, 커널 파라미터, 디스크, 포트 검증
cp .env.example .env  # 비밀번호 등 설정
make init             # TLS 인증서 생성
make deploy           # 스택 구동

대시보드는 몇 분 후 https://localhost:5601 에서 확인할 수 있습니다.

실험실 모드 vs 프로덕션 모드

RAM이 제한된 홈랩에서 실행 중인가요? 실험실 오버레이를 사용하세요:

docker compose -f docker-compose.yml -f docker-compose.lab.yml up -d

Wazuh Indexer 힙과 매니저 메모리 제한을 8 GB 머신에 맞게 낮춰줍니다.

앞으로의 계획

예정 로드맵:

  • Wazuh 클러스터 모드(멀티‑노드 매니저)
  • Kubernetes Helm 차트
  • SOAR 연동 (Shuffle / TheHive)
  • Sigma 규칙 자동 임포트
  • 자동화된 컴플라이언스 대시보드(PCI‑DSS, CIS)

VMware, Docker, 혹은 클라우드 인프라를 사용하고 상용 SIEM 없이도 제대로 된 보안 가시성을 원한다면 한 번 시도해 보세요. PR 및 규칙 기여를 환영합니다.

https://github.com/GiulioSavini/wazuh-docker-monitoring-platform

0 조회
Back to Blog

관련 글

더 보기 »