일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 세마포어
- 프로그래머스
- cve-2024-6387
- 리버싱
- 디포전 2급
- Best of the Best
- 디포전
- 뮤텍스
- 논문리뷰
- DLL 사이드로딩
- bob
- Active Directory
- 정보기
- cve-2022-26923
- BoB 12기
- race condition
- 코드엔진
- h4ckinggame
- CodeEngn
- 디지털 포렌식 전문가 2급
- 필기
- BoB 12기 최종합격 후기
- 디지털 포렌식 트랙
- 정보보안기사
- dll side-loading
- malware
- Today
- Total
SEO
[SOC] 오픈소스 SIEM 솔루션 Wazuh에 대해 알아보자 본문
Wazuh란?
Wazuh는 XDR과 SIEM 기능을 제공하는 통합 보안 플랫폼입니다. 온프레미스, 가상화, 컨테이너, 클라우드 기반 환경에서 데이터 자산을 보호하는 강력한 오픈소스 도구로, 조직이 다양한 보안 위협으로부터 시스템을 보호할 수 있도록 지원합니다.
Wazuh의 주요 기능은 다음과 같습니다.
- 위협 탐지 및 대응
- 실시간 로그 분석 및 이벤트 수집을 통해 보안 위협을 탐지하고 대응
- 로그 데이터 분석 및 시각화를 통한 보안 이벤트 관리
- 무결성 검사
- 파일 및 디렉터리의 변경 사항을 모니터링하여 무단 변경을 탐지
- 취약점 탐지 및 관리
- 운영체제 및 애플리케이션의 취약점을 정기적으로 검사하여 보안 상태를 평가하고 패치가 필요한 영역을 파악
- HIDS (호스트 기반 침입 탐지 시스템)
- 각 호스트에서 실행되는 프로세스, 네트워크 활동 및 시스템 로그를 모니터링하여 침입 시도 감지
Wazuh는 오픈소스답게 문서화가 굉장히 잘되어있습니다. 다른 step-by-step 블로그를 보지 않아도 공식 문서만으로 구축이 가능합니다. 더 자세한 사항들은 아래 공식 문서를 참고해주시길 바랍니다.
https://documentation.wazuh.com/current/getting-started/index.html
Getting started with Wazuh · Wazuh documentation
User manual, installation and configuration guides. Learn how to get the most out of the Wazuh platform.
documentation.wazuh.com
Wazuh 아키텍처
Wazuh의 아키텍처는 크게 Wazuh Agent, Wazuh Server, Wazuh Indexer, Wazuh Dashboard 네 가지 주요 구성 요소로 나뉩니다.
- Wazuh Agent: 각 엔드포인트에 설치되어 보안 데이터를 수집하고, 변경 사항을 모니터링합니다. 감지된 보안 이벤트는 Wazuh Server로 전송됩니다.
- Wazuh Server: 전체 보안 데이터의 수집, 분석 및 경고 생성 역할을 수행하는 핵심 요소입니다. 분석된 데이터는 보안 경고 및 원본 이벤트로 분류됩니다.
- Wazuh Indexer: 검색 및 데이터 분석 엔진으로, Wazuh Server에서 처리한 보안 이벤트를 저장하고, 이를 Wazuh Dashboard에서 검색할 수 있도록 합니다.
- Wazuh Dashboard: 웹 기반 UI를 제공하며, 보안 이벤트 시각화 및 분석 기능을 제공합니다.
Wazuh 공식 문서에서 제공한 구조도를 통해 전체 데이터 흐름을 더욱 쉽게 파악할 수 있습니다.
각각의 요소의 동작 방식을 공식 문서 사진과 함께 조금 더 자세히 설명하겠습니다.
Wazuh 에이전트
- 서버와의 통신을 통해 로그를 전송하며, Syslog, SSH, API를 통해 로그를 직접 서버로 제출하는 Agentless 방식도 지원합니다.
Agentless 방식
- 에이전트를 설치할 수 없는 장비(방화벽, 스위치, 라우터 등)에서도 로그 데이터를 수집할 수 있도록 하는 것
-
- 기본적으로 AES-256 암호화를 사용하여 데이터를 보호합니다.
Wazuh 서버
- 에이전트로부터 전달받은 데이터를 디코딩 및 분석한 후, 특정 룰셋과 비교하여 이벤트를 처리합니다.
- 분석 후 다음 두 가지 파일에 로그를 저장합니다. (서버는 리눅스 환경에서만 설치 가능한 것으로 알고 있습니다)
- /var/ossec/logs/archives/archives.json: 모든 이벤트 저장
- /var/ossec/logs/alerts/alerts.json: 특정 규칙을 위반한 이벤트만 저장
- 분석된 데이터는 Filebeat를 통해 Wazuh Indexer로 전송됩니다.
Filebeat
- Elastic Stack에서 사용되는 경량 로그 수집기로, 발생하는 로그 파일을 수집하여 Elasticsearch나 Logstash로 전송하는 역할을 합니다.
Wazuh Indexer
- 분석된 로그 데이터를 색인화 및 저장하는 역할을 합니다.
- 싱글 노드 또는 멀티 노드 클러스터로 운영 가능합니다.
싱글 노드 vs 멀티 노드방식 설명 장점 단점
싱글 노드 | 단일 서버에서 인덱서 실행 | 설정이 간단하고 운영이 쉬움 | 장애 발생 시 전체 서비스 다운 |
멀티 노드 클러스터 | 여러 개의 노드(서버)에서 인덱서를 운영 | 데이터 이중화, 성능 확장 가능 | 운영 및 관리가 복잡 |
- 로그를 저장하는 인덱서는 여러 클라이언트에서 공유할 수 있고, Kibana에서 중앙 집중적으로 분석이 가능합니다.
- 기본적으로 9200/TCP (REST API), 9300-9400/TCP (클러스터 내부 통신) 포트를 사용합니다.
Wazuh 대시보드
- Wazuh 서버의 RESTful API (55000/TCP) 를 통해 데이터를 시각화하고 설정을 관리합니다.
- 보안 이벤트 및 취약점 탐지 결과를 한눈에 확인할 수 있습니다.
[Agent] --> [Wazuh Server] --> [Wazuh Indexer] --> [Dashboard]
그렇기 때문에 기본적인 동작 구조는 위와 같습니다.
기타
- Wazuh의 로그는 JSON 또는 txt 형태로 저장되며, 일 단위로 압축 및 해시 처리를 합니다.
- 저장소 관리 방식은 일정 기간 이후로 로그를 삭제하도록 cron job 설정이 가능하며, Wazuh Indexer의 스냅샷을 이용해 백업이 가능합니다.
- 단일 노드에서도 운영 가능하지만, 많은 데이터 처리 시 다중 노드 클러스터를 구성하는 것이 좋습니다.
- Wazuh Server와 Wazuh Indexer를 별도 호스트에 배포하여 부하를 분산시키는 방법도 존재합니다.
'Security > BlueTeam' 카테고리의 다른 글
[SOC] Docker를 이용한 Wazuh 구축 (0) | 2025.02.14 |
---|