Search

ELK Stack, Wazuh 연동 (최종)

시간대 설정

timedatectl sudo timedatectl set-timezone Asia/Seoul timedatectl
Bash
복사

필수 구성 요소 설치

apt-get update
Bash
복사
apt-get install -y apt-transport-https zip unzip lsb-release curl gnupg
Bash
복사

ELK 설치

Elastic Stack 저장소 추가

GPG 키 설치

curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/elasticsearch.gpg --import && chmod 644 /usr/share/keyrings/elasticsearch.gpg
Bash
복사

저장소 추가

echo "deb [signed-by=/usr/share/keyrings/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list
Bash
복사

패키지 정보 업데이트

apt-get update
Bash
복사

Elasticsearch 설치 및 구성

패키지 설치

apt-get install elasticsearch=7.16.2
Bash
복사

설정파일 수정

sudo vi /etc/elasticsearch/elasticsearch.yml
Bash
복사
아래내용 수정
23번 : 주석해제
56번 : 0.0.0.0
70번 : 주석해제
74번 : 주석해제

서비스 활성화 및 시작

systemctl daemon-reload systemctl enable elasticsearch systemctl start elasticsearch
Bash
복사

확인

systemctl status elasticsearch curl -XGET http://localhost:9200
Bash
복사

Wazuh 서버 설치

Wazuh 저장소 추가

GPG 키 설치

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
Bash
복사

저장소 추가

echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list
Bash
복사

패키지 정보 업데이트

apt-get update
Bash
복사

Wazuh manager 설치

패키지 설치

apt-get install -y wazuh-manager=4.5.4-1
Bash
복사

활성화 및 시작

systemctl daemon-reload systemctl enable wazuh-manager systemctl start wazuh-manager
Bash
복사

확인

systemctl status wazuh-manager
Bash
복사

Filebeat 설치

패키지 설치

apt-get install filebeat=7.16.2
Bash
복사

미리 구성된 Filebeat 구성파일 다운

curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.5/tpl/elastic-basic/filebeat_all_in_one.yml
Bash
복사
해당 구성파일은 Wazuh 알림을 Elasticsearch로 전달하는 데 사용

Elasticsearch에 대한 알림 템플릿을 다운로드

curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.5.4/extensions/elasticsearch/7.x/wazuh-template.json chmod go+r /etc/filebeat/wazuh-template.json
Bash
복사

Filebeat용 Wazuh 모듈 다운로드

curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.2.tar.gz | tar -xvz -C /usr/share/filebeat/module
Bash
복사

Filebeat.yml 수정

sudo vi /etc/filebeat/filebeat.yml
Bash
복사
ssl 관련 부분 주석처리
18번 : http
19~23번 : 주석처리

서비스 활성화 및 시작

systemctl daemon-reload systemctl enable filebeat systemctl start filebeat
Bash
복사

테스트

filebeat test output
Bash
복사
OK 확인

Kibana 설치 및 구성

Kibana 설치

패키지 설치

apt-get install kibana=7.16.2
Bash
복사

디렉토리 생성

mkdir /usr/share/kibana/data chown -R kibana:kibana /usr/share/kibana
Bash
복사

Wazuh Kibana 플러그인 설치

Kibana 홈 디렉토리에서 수행
cd /usr/share/kibana sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.5.4_7.16.2-1.zip
Bash
복사

kibana.yml 수정

sudo vi /etc/kibana/kibana.yml
Bash
복사
7번 : “0.0.0.0”

서비스 활성화 및 시작

systemctl daemon-reload systemctl enable kibana systemctl start kibana
Bash
복사

저장소 비활성화

sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/elastic-7.x.list apt-get update
Bash
복사

Wazuh Agent 추가 (Windows)

Sysmon 연동

Sysmon 설치

압축해제 후 관리자 권한으로 cmd 실행
Sysmon.exe -i -accepteula
Bash
복사

설치 확인

이벤트 로그에서 Sysmon 정상 동작 확인

로그 수집을 위한 설정 추가

<localfile> <location>Microsoft-Windows-Sysmon/Operational</location> <log_format>eventchannel</log_format> </localfile>
Bash
복사

연동 확인

서버측

에이전트 추가

sudo /var/ossec/bin/manage_agents A
Bash
복사
agent name 및 IP 입력

키 값 추출

E
Bash
복사
아래 키 값 저장

에이전트 db 초기화

sudo systemctl stop wazuh-manager sudo rm /var/ossec/queue/db/global.db sudo systemctl start wazuh-manager
Bash
복사

에이전트 측 (Windows)

wazuh-agent-4.5.4-1.msi 설치

C:\Program Files (x86)\ossec-agentwin32ui.exe 실행

Agent 시작

Manager IP 및 앞서 확인한 키 값 입력 후 Save
Start

확인

Kibana 에서 연동된 것을 확인할 수 있음

Agent 추가 (Linux)

Wazuh 저장소 추가

GPG 키 설치

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
Bash
복사

저장소 추가

echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list
Bash
복사

패키지 정보 업데이트

apt-get update
Bash
복사

Wazuh 에이전트 배치

에이전트 설치

WAZUH_MANAGER="<Wazuh_manager_ip>" apt-get install wazuh-agent=4.5.4-1
Bash
복사

설정

sudo vi /var/ossec/etc/ossec.conf
Plain Text
복사

에이전트 추가 (서버)

sudo /var/ossec/bin/manage_agents A E
Bash
복사

에이전트 관리도구 실행

서버측에서 윈도우와 동일하게 에이전트 추가 진행 (키 생성)
I 눌러서 서버에서 얻은 키 복사
sudo /var/ossec/bin/manage_agents I
Bash
복사

서비스 활성화 및 시작

systemctl daemon-reload systemctl enable wazuh-agent systemctl start wazuh-agent
Bash
복사

최종확인

아래와 같이 Kibana 에서 확인 가능

업데이트 비활성화

sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list apt-get update
Bash
복사

Wazuh 에이전트 제거

apt-get remove wazuh-agent
Bash
복사

설치 다른 버전

curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.5.4-1_amd64.deb && sudo WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='WDB' dpkg -i ./wazuh-agent.deb
Plain Text
복사

비활성화

systemctl disable wazuh-agent systemctl daemon-reload
Bash
복사
패킷비트
https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-7.16.2-windows-x86_64.zip
Bash
복사

Packetbeat 연동

윈도우

WinPcap 설치

Packetbeat 설치

주소창에 입력
https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-7.16.2-windows-x86_64.zip
Bash
복사

zip 파일 압축 해제

packetbeat.yml 수정

14번
packetbeat.interfaces.device: 1
165번
host: "<server_IP:5601>”
193번
hosts: ["<server_IP>:9200"]

Packetbeat 설정 진행

packetbeat.exe setup -e
Bash
복사

실행

packetbeat.exe -e
Bash
복사

서비스로 등록

수정
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Bash
복사
등록
.\install-service-packetbeat.ps1
PowerShell
복사
시작
Start-Service packetbeat
PowerShell
복사

리눅스

Packetbeat 설치 및 압축해제

curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-7.16.2-linux-x86_64.tar.gz tar xzvf packetbeat-7.16.2-linux-x86_64.tar.gz
Bash
복사

사용가능한 인터페이스 확인

cd packetbeat-7.16.2-linux-x86_64 ./packetbeat devices
Bash
복사

packet.yml 수정

14번 : packetbeat.interfaces.device: "ens33”
165번 : host: "<server_IP>:5601”
192번 : hosts: ["<server_IP>:9200"]
최하단에 아래 내용 추가
seccomp: default_action: allow
Bash
복사

설정 적용

./packetbeat setup -e
Bash
복사

실행

./packetbeat -e
Bash
복사

Kibana 에서 확인

Packetbeat 서비스로 등록 (리눅스)

packetbeat.service 파일 생성

sudo vi /etc/systemd/system/packetbeat.service
Bash
복사
아래 내용 작성
[Unit] Description=Packetbeat Service Documentation=https://www.elastic.co/guide/en/beats/packetbeat/current/index.html Wants=network-online.target After=network-online.target [Service] ExecStart=/home/kisec/packetbeat-7.16.2-linux-x86_64/packetbeat -c /home/kisec/packetbeat-7.16.2-linux-x86_64/packetbeat.yml -e Restart=always User=root Group=root Environment="GODEBUG=netdns=go" [Install] WantedBy=multi-user.target /root/packetbeat-7.16.2-linux-x86_64
Bash
복사
ExecStart 부분은 packetbeat 실행 파일 및 설정 파일의 위치

서비스 파일 권한 설정

sudo chmod 644 /etc/systemd/system/packetbeat.service
Bash
복사

서비스 활성화 및 실행

sudo systemctl daemon-reload sudo systemctl enable packetbeat sudo systemctl start packetbeat
Bash
복사

서비스 상태 확인

sudo systemctl status packetbeat
Bash
복사