Splunk ๋ก๊น
๋ฐ ๋ถ์ ์์คํ
์ ๋ฌ์์ ํ๋งค ์ข
๋ฃ์ ๊ด๋ จํ์ฌ ์ด ์๋ฃจ์
์ ๋ฌด์์ผ๋ก ๋์ฒดํ ์ ์๋์ง์ ๋ํ ์๋ฌธ์ด ์๊ฒผ์ต๋๋ค. ๋ค์ํ ์๋ฃจ์
์ ์ต์ํด์ง ํ, ์ ๋ ์ค์ ๋จ์ฑ์ ์ํ ์๋ฃจ์
์ ๊ฒฐ์ ํ์ต๋๋ค. "ELK ์คํ". ์ด ์์คํ
์ ๊ตฌ์ถํ๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง๋ง ๊ฒฐ๊ณผ์ ์ผ๋ก ์กฐ์ง ๋ด ์ ๋ณด๋ณด์ ์ฌ๊ณ ์ ๋ํ ํํฉ์ ๋ถ์ํ๊ณ ์ ์ํ๊ฒ ๋์ํ ์ ์๋ ๋งค์ฐ ๊ฐ๋ ฅํ ์์คํ
์ ์ป์ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ฌ ์๋ฆฌ์ฆ์์๋ ELK ์คํ์ ๊ธฐ๋ณธ(๋๋ ์๋ ์๋ ์์) ๊ธฐ๋ฅ์ ์ดํด๋ณด๊ณ , ๋ก๊ทธ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ํ ๋ฐ ๋์๋ณด๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ, ๋ก๊ทธ ์์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์๋ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. Check Point ๋ฐฉํ๋ฒฝ ๋๋ OpenVas ๋ณด์ ์ค์บ๋. ๋จผ์ ELK ์คํ์ด ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋์ด ์๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
"ELK ์คํ" ์ธ ๊ฐ์ง ์คํ ์์ค ํ๋ก์ ํธ์ ์ฝ์ด์
๋๋ค. ํ์ฑ ๊ฒ์, ๋ก๊ทธ ๋์ฌ ะธ ํค๋ฐ ๋. ๋ชจ๋ ๊ด๋ จ ํ๋ก์ ํธ์ ํจ๊ป Elastic์์ ๊ฐ๋ฐํ์ต๋๋ค. Elasticsearch๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๊ฒ์, ๋ถ์ ์์คํ
์ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ ์ ์ฒด ์์คํ
์ ํต์ฌ์
๋๋ค. Logstash๋ ์ฌ๋ฌ ์์ค์์ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ๋ก๊ทธ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ค์ ์ด๋ฅผ Elasticsearch ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ณด๋ด๋ ์๋ฒ ์ธก ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์
๋๋ค. Kibana๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ Elasticsearch์ ์ฐจํธ์ ๊ทธ๋ํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ ์ ์์ต๋๋ค. Kibana๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ ์๋ ์์ต๋๋ค. ๋ค์์ผ๋ก ๊ฐ ์์คํ
์ ๊ฐ๋ณ์ ์ผ๋ก ๋ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ก๊ทธ ๋์ฌ
Logstash๋ ๋ค์ํ ์์ค์ ๋ก๊ทธ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ ํธ๋ฆฌํฐ๋ก, ๋ฉ์์ง์์ ํ๋์ ํด๋น ๊ฐ์ ์ ํํ ์ ์๊ณ ๋ฐ์ดํฐ ํํฐ๋ง ๋ฐ ํธ์ง๋ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ชจ๋ ์กฐ์์ด ๋๋๋ฉด Logstash๋ ์ด๋ฒคํธ๋ฅผ ์ต์ข
๋ฐ์ดํฐ ์ ์ฅ์๋ก ๋ฆฌ๋๋ ์
ํฉ๋๋ค. ์ ํธ๋ฆฌํฐ๋ ๊ตฌ์ฑ ํ์ผ์ ํตํด์๋ง ๊ตฌ์ฑ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ธ logstash ๊ตฌ์ฑ์ ์ฌ๋ฌ ๊ฐ์ ์์ ์ ๋ณด ์คํธ๋ฆผ(์
๋ ฅ), ์ด ์ ๋ณด์ ๋ํ ์ฌ๋ฌ ํํฐ(ํํฐ) ๋ฐ ์ฌ๋ฌ ๊ฐ์ ๋๊ฐ๋ ์คํธ๋ฆผ(์ถ๋ ฅ)์ผ๋ก ๊ตฌ์ฑ๋ ํ์ผ์
๋๋ค. ํ๋ ์ด์์ ๊ตฌ์ฑ ํ์ผ์ฒ๋ผ ๋ณด์ด์ง๋ง ๊ฐ์ฅ ๊ฐ๋จํ ๋ฒ์ ์์๋(์๋ฌด ์์
๋ ์ํํ์ง ์์) ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
input {
}
filter {
}
output {
}
INPUT์์๋ ๋ก๊ทธ๊ฐ ์ ์ก๋ ํฌํธ์ ํ๋กํ ์ฝ์ ํตํด ๋๋ ์ ํ์ผ์ด๋ ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ ํ์ผ์ ์ฝ์ ํด๋๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. FILTER์์๋ ํ๋ ๊ตฌ๋ฌธ ๋ถ์, ๊ฐ ํธ์ง, ์ ๋งค๊ฐ๋ณ์ ์ถ๊ฐ ๋๋ ์ญ์ ๋ฑ ๋ก๊ทธ ํ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. FILTER๋ ๋ค์ํ ํธ์ง ์ต์ ์ ์ฌ์ฉํ์ฌ Logstash์ ์ ๋ฌ๋๋ ๋ฉ์์ง๋ฅผ ๊ด๋ฆฌํ๋ ํ๋์ ๋๋ค. ์ถ๋ ฅ์์๋ ์ด๋ฏธ ๊ตฌ๋ฌธ ๋ถ์๋ ๋ก๊ทธ๋ฅผ ๋ณด๋ด๋ ์์น๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. Elasticsearch์ธ ๊ฒฝ์ฐ ๊ฐ์ด ์๋ ํ๋๊ฐ ์ ์ก๋๋ JSON ์์ฒญ์ด ์ ์ก๋๊ฑฐ๋ ๋๋ฒ๊ทธ์ ์ผ๋ถ๋ก stdout์ผ๋ก ์ถ๋ ฅ๋๊ฑฐ๋ ํ์ผ์ ๊ธฐ๋ก๋ ์ ์์ต๋๋ค.
ํ์ฑ
์ฒ์์ Elasticsearch๋ ์ ์ฒด ํ
์คํธ ๊ฒ์์ ์ํ ์๋ฃจ์
์ด์ง๋ง ์์ฌ์ด ํ์ฅ, ๋ณต์ ๋ฐ ๊ธฐํ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ถ๊ฐ ํธ์ ์์ค์ ๊ฐ์ถ๊ณ ์์ด ์ ํ์ด ๋งค์ฐ ํธ๋ฆฌํ๊ณ ๋์ฉ๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๊ณ ๋ถํ ํ๋ก์ ํธ์ ์ ํฉํ ์๋ฃจ์
์ด ๋์์ต๋๋ค. Elasticsearch๋ ๋น๊ด๊ณํ(NoSQL) JSON ๋ฌธ์ ์ ์ฅ์์ด์ Lucene ์ ์ฒด ํ
์คํธ ๊ฒ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฒ์ ์์ง์
๋๋ค. ํ๋์จ์ด ํ๋ซํผ์ Java Virtual Machine์ด๋ฏ๋ก ์์คํ
์ ์๋ํ๋ ค๋ฉด ๋ง์ ์์ ํ๋ก์ธ์์ RAM ๋ฆฌ์์ค๊ฐ ํ์ํฉ๋๋ค.
Logstash๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฟผ๋ฆฌ API๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ด์ค๋ ๊ฐ ๋ฉ์์ง๋ ๊ด๊ณํ SQL์ ํ
์ด๋ธ๊ณผ ์ ์ฌํ "๋ฌธ์"๋ก ์์ธํ๋ฉ๋๋ค. ๋ชจ๋ ๋ฌธ์๋ SQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฌํ ์ธ๋ฑ์ค์ ์ ์ฅ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ฌธ์์ ์:
{
"_index": "checkpoint-2019.10.10",
"_type": "_doc",
"_id": "yvNZcWwBygXz5W1aycBy",
"_version": 1,
"_score": null,
"_source": {
"layer_uuid": [
"dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0",
"dbee3718-cf2f-4de0-8681-529cb75be9a6"
],
"outzone": "External",
"layer_name": [
"TSS-Standard Security",
"TSS-Standard Application"
],
"time": "1565269565",
"dst": "103.5.198.210",
"parent_rule": "0",
"host": "10.10.10.250",
"ifname": "eth6",
]
}
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ชจ๋ ์์ ์ ์ธ๋ฑ์ค๋ณ๋ก ๋ฌธ์๋ฅผ ์์ฑํ๊ฑฐ๋ ์ง๋ฌธ-๋ต๋ณ ํ์์ ์ผ๋ถ ํต๊ณ๋ฅผ ์์ฑํ๋ REST API๋ฅผ ์ฌ์ฉํ๋ JSON ์์ฒญ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์์ฒญ์ ๋ํ ๋ชจ๋ ์๋ต์ ์๊ฐํํ๊ธฐ ์ํด ์น ์๋น์ค์ธ Kibana๋ฅผ ์์ฑํ์ต๋๋ค.
ํค๋ฐ ๋
Kibana๋ฅผ ์ฌ์ฉํ๋ฉด Elasticsearch ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ํต๊ณ๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ง๋ง ๋ต๋ณ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ง์ ์๋ฆ๋ค์ด ๊ทธ๋ํ์ ๋์๋ณด๋๊ฐ โโ๊ตฌ์ถ๋ฉ๋๋ค. ์ด ์์คํ ์๋ Elasticsearch ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๊ธฐ๋ฅ๋ ์์ต๋๋ค. ๋ค์ ๊ธฐ์ฌ์์๋ ์ด ์๋น์ค์ ๋ํด ๋ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด์ ๊ตฌ์ถ ๊ฐ๋ฅํ Check Point ๋ฐฉํ๋ฒฝ ๋ฐ OpenVas ์ทจ์ฝ์ ์ค์บ๋์ฉ ๋์๋ณด๋์ ์๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
Check Point ๋์๋ณด๋์ ์, ๊ทธ๋ฆผ์ ํด๋ฆญํ ์ ์์ต๋๋ค.
OpenVas์ฉ ๋์๋ณด๋์ ์, ๊ทธ๋ฆผ์ ํด๋ฆญํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ด ๋ฌด์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋์ง ์ดํด ๋ณด์์ต๋๋ค. ELK ์คํ, ์ฐ๋ฆฌ๋ ์ฃผ์ ์ ํ์ ๋ํด ์กฐ๊ธ ์๊ฒ ๋์์ผ๋ฉฐ, ๋์ค์๋ Logstash ๊ตฌ์ฑ ํ์ผ ์์ฑ, Kibana์ ๋์๋ณด๋ ์ค์ , API ์์ฒญ, ์๋ํ ๋ฑ์ ๋ํด ์์๋ณด๋ ๊ณผ์ ์ ๋ณ๋๋ก ๊ณ ๋ คํ ๊ฒ์ ๋๋ค!
๊ทธ๋ฌ๋ ๊ณ์ ์ง์ผ๋ด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค(
์ถ์ฒ : habr.com