근두운 팀프로젝트 과정 중 AWS SecOps 인프라에서 발생하는 모든 보안 이벤트를 수집하여 상관 분석을 도와주는 Wazuh SIEM 구축 과정을 정리해 보려고 한다.
Wazuh SIEM 을 선택하게 된 이유부터 Wazuh 구축에 필요한 EC2, VPC, Security Group, IAM Role 생성 그리고, Wazuh Agent 로그를 수집해 Dashboard 에서 확인하는 과정을 소개할 예정이다.
우선 AWS 에서 활용할 수 있는 SIEM 후보를 비교해보았다.
| 구분 | Wazuh | ELK 스택 | AWS OpenSearch |
|---|---|---|---|
| 운영 형태 | 자체 구축 중심 | 자체 구축 또는 Elastic Cloud | AWS 관리형 |
| Agent 기반 수집 | Wazuh Agent 제공 | Elastic Agent 제공 | 별도 수집기 구성 필요 |
| 커스텀 룰 | XML 기반 커스텀 룰 | Elastic Security 탐지 규칙 | Sigma・커스텀 룰 지원 |
| 자동 대응 | Active Response | 커넥터・워크플로 기능 | AWS 서비스 및 외부 시스템 연동 |
| 운영 복잡도 | 중간 | 중간 ~ 높음 | 상대적으로 낮음 |
| 비용 | 소프트웨어 무료, | ||
| AWS 인프라 비용만 발생 | 배포・기능에 따라 다름 | 사용량 기반 관리형 비용 |
세 가지 SIEM 후보 중, Wazuh 를 선택하게 되었고 그 이유는 다음과 같다.
추가로, Wazuh 는 오픈소스 기반 SIEM/XDR 플랫폼으로 SIEM 기능에 더해 XDR 의 기능도 하고 있어, Agent 를 통해 엔드포인트의 활동(로그, 프로세스, 파일)을 행위 기반으로 탐지할 수 있다.
이러한 특징들을 고려하여 우리 프로젝트에서는 Wazuh SIEM 을 선택하였다.
Wazuh 는 Agent, Server(Manager), Indexer, Dashboard 로 구성되어 있다.
각 구성요소가 하는 역할은 다음 표와 같다.
| 구분 | 역할 |
|---|---|
| Agent | EC2 인스턴스와 같은 엔드포인트에 설치되어 로그, 파일, 프로세스, 설정, 취약점 정보를 수집 |
| Server | 디코더와 탐지룰을 통해 Agent 또는 외부 로그 소스로부터의 이벤트를 수신・분석하여 Alert 생성 |
| Indexer | OpenSearch 기반, 탐지 결과와 보안 이벤트를 저장・검색 |
| Dashboard | Alert 와 보안 데이터를 시각화하여 웹 UI 제공 |
기본적인 흐름은 Agent 가 엔드포인트 로그를 Server 로 전달하게 되면 Server 는 디코더를 통해 로그의 필드를 분류하고 이를 탐지룰과 매칭하여 Alert 를 생성, 관리자는 이를 Dashboard 에서 확인할 수 있게 된다.
서버의 행위를 자세히 보면 다음 예시처럼 동작한다.