[Wazuh] 골든 이미지에 에이전트 설치 후 VM 배포 시 문제
개요
Wazuh를 통해 다른 에이전트처럼 GCP 골든 이미지의 OS 취약점 진단을 진행해야 했는데 의문스러운 문제가 발생했다.
syslog를 불러오고자 하는 에이전트가 아닌 여러 다른 에이전트의 syslog가 섞여서 보이고 있었다.
full log를 확인하니 hostname에 골든 이미지뿐만 아니라 엄청 많은 서버가 보였다.
이 문제를 해결하기 위해서 여러가지 추론을 했고 잘 해결되어 기록해본다.
확인 내용
(1) 한 host의 syslog에 여러 개 agent.ip
agent.name을 vm-golden-image-ubuntu-22-04로 필터링했으면 에이전트는 하나여야 한다.
하지만 agent.ip 밸류가 4개 이상인 것을 확인할 수 있다.
처음엔 '와! 이 골든 이미지는 IP가 엄청 많은가?!'라고 ㅋㅋㅋㅋㅋ생각했다. 😄 그럴 리가 없지..
거기다 확인한 syslog를 보니 hostname이 골든 이미지가 아닌 docker worker라고 한다. 넌 누구세요.....?
이런 현상을 보이는 hostname 들은(골든 이미지의 syslog에 불청객으로 등장한)
Wazuh 에이전트에 실제로 등록되어 있지 않음을 확인했다.
원래 에이전트가 설치되어 있어야하는데 정상적으로 설치가 되지 않았거나 에이전트 등록이 되어 있지 않는 것 같았다.
(2) Wazuh의 hostname 식별 파일
Wazuh는 hostname을 기준으로 에이전트를 식별하는데,
특정 에이전트들은 골든 이미지의 hostname을 그대로 가지게 되어
1) 에이전트 등록에 실패, 2) 골든 이미지의 syslog로 인식한다고 추론했다.
(hostname이 같은 경우 Duplicated hostname으로 에이전트 등록이 실패하기 때문에)
Wazuh에서 에이전트를 인식하는 hostname은 /var/ossec/etc/client.keys 파일에 있다.
위 그림처럼 agent.id / agent.name / agent.ip / agent.key가 순차대로 나타나며,
이 agent.name이 모두 골든 이미지와 동일한 경우 이러한 문제가 발생할 것으로 보았다.
원인
골든 이미지에 Wazuh 에이전트를 설치 후 VM에 배포하는 경우 이러한 문제가 발생했다.
확인 내용에서처럼 /var/ossec/etc/client.keys에 골든 이미지의 agent.name으로 등록을 시도해서
설치는 되지만 서버에 등록되지 않아서 dashboard에도 나타나지 않는다.
해결 방법
에이전트의 /var/ossec/etc/client.keys 파일 내 두번째 value(hostname)가 hostname 명령어 결과와 동일한지 체크한다.
OS의 hostname과 /var/ossec/etc/client.keys의 두 번째 value(hostname)를 비교한다.
# 1️⃣ OS hostname과 client.keys의 hostname이 동일한 경우
if [ $hostname == $keys ]; then
문제가 없다. pass
# 2️⃣ OS hostname과 client.keys의 hostname이 상이한 경우
# Wazuh 에이전트 등록 인증을 재수행하고 restart
else [ $hostname != $keys ]; then
/var/ossec/bin/agent-auth -m $WAZUH_MANAGER_IP -G $WAZUH_GROUP
sudo systemctl stop wazuh-agent
sudo systemctl start wazuh-agent
fi
hostname과 client.keys의 agent name이 다른 경우는 client.keys에 hostname이 잘못 등록되었다는 의미이므로,
/var/ossec/bin/agent-auth -m $WAZUH_MANAGER_IP -G $WAZUH_GROUP 명령어를 통해
에이전트 등록 인증을 다시 수행하고 에이전트 서비스를 다시 시작하도록 하면 된다.
이렇게 하고 나니 골든 이미지의 syslog에서 더 이상 다른 에이전트의 로그는 나오지 않았고,
hostname 중복으로 등록에 실패했던 에이전트들도 신규로 잘 등록되었다.
회고
사실 처음에는 docker와 관련해서 문제가 있지 않을까하는 추상적인 생각으로부터 시작했다.
(특정 리전에 있는 에이전트만 문제가 있는지 찾아봤지만 문제 에이전트들의 공통점이 없어 구조상의 문제는 아닌 것을 알게 됐다.)
클라우드 데브옵스팀에 내용을 빠르게 공유하면서
골든 이미지에 Wazuh 에이전트를 설치해 해당 VM을 배포한 것을 알게 되었고,
나의 힘만으로는 상세하기 알기 어려운 부분들에 대해서
항상 자세히 설명해주시고 자료까지 작성해 공유해주셔서 매우 감사해하고 있다. 🙇♀️🙇♀️
물론 요즘 Wazuh 관련 이슈가 잘 해결되지 않거나 지연되는 경우도 있지만..
담당자분들과 협업하면서 서로 알고 있는 부분을 합쳐서 해결했을 때가 일하는 재미가 극대화되는 때인 것 같다.
어쨌든 앞으론 클라우드 쪽이나 docker쪽도 잘 아는 보안인이 되어보고 싶다!! :D