본문 바로가기

서버 리뷰/Wazuh

Wazuh 구축 가이드

728x90
반응형

이 문서는 Wazuh 올인원(All-in-one) 배포를 Ubuntu 22.04 서버에 설치하는 과정을 안내합니다. Wazuh는 보안 모니터링, 로그 분석, 침입 탐지 및 규정 준수를 위한 오픈소스 플랫폼입니다.

전제 조건

  • 운영 체제: Ubuntu 22.04 (64-bit)
  • 최소 하드웨어 요구사항:
    • CPU: 2코어 이상
    • RAM: 8GB 이상 (16GB 권장)
    • 디스크: 20GB 이상의 여유 공간 (로그 데이터에 따라 증가)
  • 네트워크: 인터넷 연결 및 방화벽에서 필요한 포트 개방 (TCP 1514, 1515, 1516, 514, 55000 등)
  • 권한: 루트 또는 sudo 권한
  • 필요 패키지: curl, apt-transport-https, lsb-release

설치 단계

1. 시스템 업데이트 및 필수 패키지 설치

시스템을 최신 상태로 업데이트하고 필수 패키지를 설치합니다.

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl apt-transport-https lsb-release gnupg2

2. Wazuh 저장소 추가

Wazuh의 공식 저장소를 추가하여 최신 패키지를 다운로드할 수 있도록 설정합니다.

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
chmod 644 /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update

3. Wazuh 올인원 컴포넌트 설치

Wazuh는 Wazuh 서버, Elasticsearch, Filebeat, Kibana를 단일 서버에 설치하는 올인원 배포를 지원합니다.

3.1 Wazuh 관리 서버 설치

sudo apt install -y wazuh-manager
sudo systemctl enable wazuh-manager
sudo systemctl start wazuh-manager

3.2 Elasticsearch 설치

Elasticsearch는 Wazuh의 로그 데이터를 저장하고 검색하는 데 사용됩니다.

sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update
sudo apt install -y elasticsearch

Elasticsearch 설정 파일(/etc/elasticsearch/elasticsearch.yml)을 편집하여 단일 노드 설정을 활성화합니다.

sudo nano /etc/elasticsearch/elasticsearch.yml

다음 설정을 추가 또는 수정:

network.host: 127.0.0.1
http.port: 9200
discovery.type: single-node

Elasticsearch 서비스 시작:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

3.3 Filebeat 설치 및 설정

Filebeat는 Wazuh 데이터를 Elasticsearch로 전송합니다.

sudo apt install -y filebeat

Wazuh에서 제공하는 Filebeat 설정 파일을 다운로드하고 적용합니다:

curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.x/filebeat/filebeat.yml

Filebeat 설정에서 Wazuh 서버와 Elasticsearch 주소를 확인하고, 필요 시 수정:

sudo nano /etc/filebeat/filebeat.yml

Wazuh의 Filebeat 모듈 설치:

sudo filebeat modules enable wazuh

Filebeat 서비스 시작:

sudo systemctl enable filebeat
sudo systemctl start filebeat

3.4 Kibana 설치 및 설정

Kibana는 Wazuh 데이터의 시각화 및 관리 인터페이스를 제공합니다.

sudo apt install -y kibana

Kibana 설정 파일(/etc/kibana/kibana.yml)을 편집:

sudo nano /etc/kibana/kibana.yml

다음 설정을 추가 또는 수정:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://127.0.0.1:9200"]

Wazuh Kibana 플러그인 설치:

sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh-4.8.0-1.zip

Kibana 서비스 시작:

sudo systemctl enable kibana
sudo systemctl start kibana

4. Wazuh 초기 설정

Wazuh 관리자 비밀번호 설정 및 기본 인증 정보 생성:

sudo /var/ossec/bin/wazuh-control start

기본 사용자 이름과 비밀번호는 Kibana에서 확인 가능하며, /var/ossec/api/configuration/auth/user 디렉토리에서 수정 가능.

5. Wazuh 에이전트 설치 (클라이언트 호스트)

Wazuh 에이전트를 모니터링 대상 호스트에 설치하여 데이터를 수집합니다.

5.1 에이전트 설치 (Ubuntu 예시)

sudo apt install -y wazuh-agent

5.2 Wazuh 서버에 에이전트 등록

Wazuh 서버에서 에이전트 키 생성:

sudo /var/ossec/bin/manage_agents

에이전트 호스트에서 서버 IP와 키를 설정:

sudo nano /var/ossec/etc/ossec.conf
<client>
  <server>
    <address>WAZUH_SERVER_IP</address>
  </server>
</client>

에이전트 서비스 시작:

sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

6. 웹 인터페이스 접속

브라우저에서 http://<SERVER_IP>:5601에 접속하여 Kibana 대시보드에 로그인합니다. 기본 Wazuh 플러그인을 통해 보안 이벤트, 로그, 위협 탐지 정보를 확인할 수 있습니다.

7. 방화벽 설정

필요한 포트를 열어 Wazuh 컴포넌트 간 통신을 보장합니다:

sudo ufw allow proto tcp from any to any port 1514,1515,1516,514,55000,5601,9200

8. 문제 해결

  • 로그 확인:

    • Wazuh 서버: /var/ossec/logs/ossec.log
    • Elasticsearch: /var/log/elasticsearch/elasticsearch.log
    • Kibana: /var/log/kibana/kibana.log
  • 서비스 상태 확인:

    sudo systemctl status wazuh-manager
    sudo systemctl status elasticsearch
    sudo systemctl status filebeat
    sudo systemctl status kibana

추가 참고 사항

  • 규모 확장: 대규모 환경에서는 분산 배포(Wazuh 서버, Elasticsearch 클러스터, Kibana 분리)를 고려하세요.
  • 백업: /var/ossec/etc/ 디렉토리와 Elasticsearch 데이터를 정기적으로 백업하세요.
  • 업데이트: Wazuh 패키지를 최신 버전으로 유지하려면 sudo apt upgrade를 주기적으로 실행하세요.

자세한 정보는 Wazuh 공식 문서를 참조하세요.

반응형