이 문서는 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
- Wazuh 서버:
서비스 상태 확인:
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 공식 문서를 참조하세요.