๐ŸŽฏย ๋ชฉํ‘œ์„ค์ •

ํŒ€ ๊ทผ๋‘์šด ์ธํ”„๋ผ์˜ SIEM ์ฝ”์–ด์ธ Wazuh๊ฐ€ ๊ฐ ์—”๋“œํฌ์ธํŠธ์— ์„ค์น˜๋œ Agent๋กœ๋ถ€ํ„ฐ์˜ ๋กœ๊ทธ, S3 ๋ฒ„ํ‚ท์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” AWS ์‹œ์Šคํ…œ(CloudTrail, VPC Flow Logs, ALB Access Logs, WAF Logs, GuardDuty Findings) ์ด๋ฒคํŠธ๋“ค์„ Wazuh Manager๊ฐ€ ์ˆ˜์ง‘ํ•ด ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ์ด๋ฒคํŠธ๋ฅผ ์ค‘์•™ ์ˆ˜์ง‘ํ•˜๊ณ , ํƒ์ง€๋ฃฐ์— ๋งคํ•‘๋œ Alert๋ฅผ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋Œ€์‹œ๋ณด๋“œ์˜ Alert๋ฅผ ํ™•์ธํ•˜๊ณ , ์‹œ์Šคํ…œ์˜ ์œ„ํ˜‘์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, 24์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ๋งŒ ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋”ฐ๋ผ์„œ, ์ด๋ฒˆ ๊ณผ์ •์—์„œ๋Š” Wazuh์—์„œ Alert๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŒ€ ๋””์Šค์ฝ”๋“œ ์ฑ„๋„๋กœ ์•Œ๋ฆผ์„ ๋ณด๋‚ด ๊ด€๋ฆฌ์ž๊ฐ€ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ณด๊ณ  ์žˆ์ง€ ์•Š์•„๋„, Alert๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์˜ˆ์ •์ด๋‹ค.

๐Ÿง‘๐Ÿปโ€๐Ÿ”งย ๊ตฌ์ถ•๊ณผ์ •

๊ตฌ์ถ•ํ•˜๊ธฐ ์ „, ๋จผ์ € ์›นํ›…(Webhook) ๊ฐœ๋…์„ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ณด์ž. ์›นํ›…์€ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” HTTP ๊ธฐ๋ฐ˜์˜ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์ด๋‹ค.

์ˆ˜์‹  ์ธก ์›นํ›… URL์„ ์†ก์‹  ์ธก์— ๋“ฑ๋กํ•ด ๋‘๋ฉด, ์†ก์‹  ์ธก์— ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ HTTP POST ์š”์ฒญ์œผ๋กœ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  ์ธก์œผ๋กœ ๋ณด๋‚ด๊ณ , ์ˆ˜์‹  ์ธก์€ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ ๋‚ด๋ถ€์ ์œผ๋กœ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•ด ์•Œ๋ฆผ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

sequenceDiagram
	participant A as ์ˆ˜์‹  ์ธก
	participant B as ์†ก์‹  ์ธก
	A-->B: 1๏ธโƒฃ ์ˆ˜์‹  ์ธก ์›นํ›… URL์„ ์†ก์‹  ์ธก์— ๋“ฑ๋ก
	B->>B: 2๏ธโƒฃ ํŠน์ • ์ด๋ฒคํŠธ ๋ฐœ์ƒ
	B->>A: 3๏ธโƒฃ HTTP POST ์š”์ฒญ(์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ)
	A->>A: 4๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ๋ฐ ๋‚ด๋ถ€ ๋กœ์ง ์ฒ˜๋ฆฌ<br/>(์•Œ๋ฆผ ์ƒ์„ฑ)
	A->>B: 5๏ธโƒฃ ์„ฑ๊ณต ์‘๋‹ต (HTTP 2XX)

๋””์Šค์ฝ”๋“œ๋Š” ์ด๋Ÿฌํ•œ ์›นํ›… ๊ธฐ๋Šฅ์„ ๋งค์šฐ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ง€์›ํ•ด์ค€๋‹ค.

์•Œ๋ฆผ์„ ๋ฐ›์„ ํ…์ŠคํŠธ ์ฑ„๋„์„ ์„ ํƒํ•˜๊ณ , ์„ค์ •์—์„œ ์›นํ›„ํฌ ๋งŒ๋“ค๊ธฐ๋ฅผ ํ†ตํ•ด ์›นํ›…์„ ์ƒ์„ฑํ•œ๋‹ค.

image.png

๊ทธ๋Ÿฌ๋ฉด ์›นํ›„ํฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด์„œ ์›นํ›„ํฌ URL(https://discord.com/โ€ฆ)์ด ๊ฐ™์ด ์ƒ์„ฑ๋˜์–ด, ๋””์Šค์ฝ”๋“œ๊ฐ€ ์›นํ›…์„ ํ†ตํ•ด ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ค€๋น„๋ฅผ ๋งˆ์นœ๋‹ค.

์›นํ›„ํฌ URL์€ ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ถŒํ•œ์„ ๊ฐ€์ง„ ํ† ํฐ๊ฐ’์ด ํฌํ•จ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค. ๋…ธ์ถœ๋  ๊ฒฝ์šฐ, ๋ˆ„๊ตฌ๋‚˜ ๋‚ด ์ฑ„๋„์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

์ด์ œ ์ˆ˜์‹  ์ธก(๋””์Šค์ฝ”๋“œ)์—์„œ ์ค€๋น„์‚ฌํ•ญ์€ ๋๋‚ฌ๋‹ค. ๋‹ค์Œ์œผ๋กœ๋Š” ์†ก์‹  ์ธก(Wazuh) ์„ค์ •์„ ์ง„ํ–‰ํ•ด๋ณด์ž.

Wazuh Manager๋Š” Integrator๋ผ๋Š” ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์™ธ๋ถ€ API ๋ฐ ์•Œ๋ฆผ ๋„๊ตฌ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด์ฃผ๊ณ  ์žˆ๋‹ค. https://documentation.wazuh.com/current/user-manual/manager/integration-with-external-apis.html#virustotal

๊ธฐ๋ณธ์ ์œผ๋กœ Slack, PagerDuty, VirusTotal, Shuffle, Maltiverse์— ๋Œ€ํ•œ ์—ฐ๋™ ์Šคํฌ๋ฆฝํŠธ๋Š” ์ œ๊ณตํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋””์Šค์ฝ”๋“œ์˜ ๊ฒฝ์šฐ๋Š” ์ „์†ก ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณ„๋„๋กœ ์ž‘์„ฑํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

custom- ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์‚ฌ์šฉ์ž ์ •์˜ ์—ฐ๋™ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. Wazuh Manager ์‰˜์— ์ ‘์†ํ•ด, /var/ossec/integrations/ ๊ฒฝ๋กœ์— ๊ฐ€๋ณด๋ฉด ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๊ธฐ๋ณธ ํ†ตํ•ฉ ์„œ๋น„์Šค๋“ค์˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

image.png

์šฐ๋ฆฌ๋Š” ๋””์Šค์ฝ”๋“œ์™€ ์—ฐ๋™ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฒฝ๋กœ์— custom-discord๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค.(์ง€ํ”ผํ‹ฐ ๋„์›€โ€ฆ)