티스토리 뷰

반응형

 

🟨 Wazuh indexer란?

Elasticsearch 데이터베이스를 이용하여 이벤트 데이터를 저장하고 쿼리할 수 있는 기능을 제공
보안 이벤트를 효과적으로 수집, 저장, 분석하고 대응할 수 있도록 함

 

🟨 Wazuh indexer 설치 및 설정

1. 공개키 및 저장소 설정

하지 않았다면 노드별로 수행해야 한다고 하였다.

soya@wazuh-indexer-node:~# apt-get install gnupg apt-transport-https
soya@wazuh-indexer-node:~# 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
soya@wazuh-indexer-node:~# 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
soya@wazuh-indexer-node:~# apt-get update

 

2. indexer 패키지 설치

설치되는 데까지 하급 성능의 경우..약 1분정도 소요되었다.

soya@wazuh-indexer-node:~# apt-get -y install wazuh-indexer=4.6.0-1

 

3. /etc/wazuh-indexer/opensearch.yml 구성

빨간 테두리 : 변경해야 할 부분

노란 테두리 : 변경하지 않아야 할 부분 

노란 테두리 부분의 경우 pem 파일 경로 설정인데,

indexer-key와 같은 부분은 인증서 배포 시 바꿔서 진행하기에 노드 이름과 혼동해서 변경하지 말 것

  • network.host: IP 주소 또는 호스트 이름. SSL 인증서에서 언급했던 config.yml 파일과 동일한 주소여야 함.
  • node.name: config.yml 파일에 정의된 Wazuh 인덱서 노드 이름
  • cluster.initial_master_nodes: config.yml 파일에 정의된 indexer 노드 이름(master 인덱서 노드를 뜻하므로 단일 인덱서 노드 구조의 경우 node.name과 동일하게 작성)
  • discovery.seed_hosts: Wazuh 인덱서를 단일 노드로 구성하는 경우는 주석처리, 다중 노드 구성의 경우 마스터 indexer 클러스터가 될 indexer 서버의 IP로 작성

 

4. indexer에 SSL 인증서 배포

NODE_NAME을 config.yml에 설정했던 인덱서 노드명으로 정의

soya@wazuh-indexer-node:~# NODE_NAME=indexer-node-name

각 SSL 인증서들을 indexer 노드명으로 붙여 /etc/wazuh-indexer/certs에 배포하고,

다시 indexer.pem, indexer-key.pem으로 파일명을 바꾸는 내용이다.

(config.yml에서 파일명을 다 바꾸지 않아도 되는 것을 고려한 듯)

chmod, chown 부분은 미설정 시 pem 파일을 읽지 못하므로 생략할 수 없다.

 

 

5. wazuh 인덱서 구동

soya@wazuh-indexer-node:~# mkdir /etc/wazuh-indexer/certs
soya@wazuh-indexer-node:~# tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
soya@wazuh-indexer-node:~# mv -n /etc/wazuh-indexer/certs/$NODE_NAME.pem /etc/wazuh-indexer/certs/indexer.pem
soya@wazuh-indexer-node:~# mv -n /etc/wazuh-indexer/certs/$NODE_NAME-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
soya@wazuh-indexer-node:~# chmod 500 /etc/wazuh-indexer/certs
soya@wazuh-indexer-node:~# chmod 400 /etc/wazuh-indexer/certs/*
soya@wazuh-indexer-node:~# chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs

📛 여기서, Failed to start wazuh-indexer (Wazuh-indexer service Failed with result: exit-code) 오류가 발생한다면

1) 설정 파일에 오타가 있는지..설치가 누락된 의존성 패키지가 없는지 확인.
2) network.host, node.name, cluster.initial_master_nodes와 더불어
특히 plugins.security.nodes_dn의 CN에 인덱서 노드명을 잘 적었는지 확인해야 함
3) 설정파일 변경 시에는 systemlctl start만 남발하지 말고 systemctl stop 후 재구동을 해야 함.

 

📛 특히 <4. SSL 인증서 배포>를 수행하지 않으면 

Failed to start Wazuh-indexer. wazuh-indexer.service: Failed with result 'exit-code',

journalctl -xeu wazuh-indexer.service for details 에러가 발생한다.

아래는 감.사하게도.. 정상 상태로 돌아와준 서비스

 

 

6. 인덱서 클러스터 최초 초기화

초기화 스크립트 실행

soya@wazuh-indexer-node:~# /usr/share/wazuh-indexer/bin/indexer-security-init.sh

9200 port로 curl 명령어 수행하여 설치 마무리 확인

soya@wazuh-indexer-node:~# curl -k -u admin:admin https://<WAZUH_INDEXER_IP>:9200

 

반응형
댓글
반응형
Recent Post.
Recent Reply.
Thanks for comming.
오늘은
명이 방문했어요
어제는
명이 방문했어요