핵심: 내부에서 관찰한 행동에 외부 정보를 붙이고, 담당자가 확인할 수 있는 곳으로 경고를 전달한다.
한눈에 보는 흐름

왜 배웠는가?
파일이나 IP가 수상해도 내부 기록만으로 판단하기 어려웠다. 또 Wazuh 대시보드를 계속 보고 있을 수 없어서 알림 전달 경로가 필요했다.
핵심 개념
- Threat Intelligence(TI): 공격과 관련된 외부 정보를 판단에 참고하는 것.
- FIM: 파일이 추가·변경됐는지 감시하는 기능.
- VirusTotal: 파일 해시 등에 대한 여러 보안 엔진의 결과를 참고하는 서비스.
- AbuseIPDB: IP의 신고 이력과 평판을 참고하는 서비스.
- Webhook: 이벤트가 생기면 정해 둔 URL로 데이터를 보내는 알림 통로.
실제 기록 1 · 파일 변화에 외부 판단을 붙였다
박윤하의 글에는 파일 추가·변경 감지 → 해시 조회 → Wazuh 결과 확인 과정이 있다.
테스트용 EICAR 파일을 넣고 경고를 확인했으며, 빈 파일은 악성 결과가 아닌 것으로 기록했다. 같은 “파일 추가”라도 조회 결과를 붙이면 판단이 구체화된다.
연동 검증은 EICAR 파일과 빈 파일을 사용한 테스트 조건에서 진행됐다.
실제 VirusTotal 연동 결과

화면의 핵심:
integration: virustotal, malicious: 1, source.file: /etc/test2.txt. 파일 변화에 대한 조회 결과가 Wazuh에 돌아온 화면이다.출처: 박윤하의 TI 연동 글에 첨부된 화면.
실제 기록 2 · IP 평판을 연동하며 규칙 충돌을 발견했다
AbuseIPDB는 사용자 정의 스크립트와 탐지 규칙을 연결했다. 테스트 SSH 실패 로그를 입력해 조회 결과를 확인하는 과정에서 기존 CloudWatch 규칙 ID와 겹쳐 표시가 혼동되는 문제를 남겼다.
배운 점: API가 응답하는 것뿐 아니라 결과가 올바른 규칙·이름으로 분류되는지 확인해야 한다.
추가 기록에는 반복 조회를 줄이는 캐시, 조회 실패 기록, API 키 관리와 여러 Agent에 설정을 배포하는 문제도 등장한다.
실제 기록 3 · Wazuh 경고를 Discord로 보냈다
김태형은 Wazuh의 사용자 정의 연동 스크립트를 만들고, 실행 권한과 설정을 맞춰 Discord 웹훅으로 경고를 보내는 과정을 기록했다.
첨부 화면에는 규칙 ID·장비·경고 수준·내용이 담긴 Discord 메시지가 보인다. 경고가 대시보드 밖으로 전달된 근거다.
실제 Discord 수신 화면

화면의 핵심: 발생 시각, 장비, 규칙 ID, 경고 수준, 내용. 설정한 조건의 경고가 Discord로 전달됐음을 보여준다.
출처: 김태형의 Discord 연동 글에 첨부된 화면.
배운 점과 후속 과제
- 외부 점수 하나만으로 공격 여부를 확정하지 않고 내부 행동과 함께 판단한다.
- 알림 전달은 대응의 출발점이다. 담당자가 확인하고 어떤 조치를 할지는 따로 정한다.
- API 키와 웹훅 URL의 보관·교체, 규칙 ID 충돌, 중복 알림을 점검한다.
원문과 작성자
- Wazuh Alert를 Discord로 — 김태형

