AOL์€ Moloch 2.3 ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ธ๋ฑ์‹ฑ ์‹œ์Šคํ…œ์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

AOL ํšŒ์‚ฌ ์ถœ์‹œ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท ์บก์ฒ˜, ์ €์žฅ ๋ฐ ์ƒ‰์ธํ™”๋ฅผ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ถœ์‹œ ๋ชฐ๋ก 2.3๋Š” ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ํ™œ๋™๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” C ์–ธ์–ด(Node.js/JavaScript์˜ ์ธํ„ฐํŽ˜์ด์Šค)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Linux ๋ฐ FreeBSD์—์„œ์˜ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ค€๋น„๊ฐ€ ๋œ ๊พธ๋Ÿฌ๋ฏธ CentOS์™€ Ubuntu์˜ ๋‹ค์–‘ํ•œ ๋ฒ„์ „์„ ์œ„ํ•ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” AOL ํŠธ๋ž˜ํ”ฝ ๋ณผ๋ฅจ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ์šฉ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๊ฐœ๋ฐฉํ˜• ๋Œ€์ฒด ํ”Œ๋žซํผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ 2012๋…„์— ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. AOL์— ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๋ฉด ์„œ๋ฒ„ ๋ฐฐํฌ๋กœ ์ธํ•ด ์ธํ”„๋ผ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ์–ดํ•˜๊ณ  ๋น„์šฉ์„ ํฌ๊ฒŒ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Moloch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  AOL ๋„คํŠธ์›Œํฌ์—์„œ ํŠธ๋ž˜ํ”ฝ์„ ์™„์ „ํžˆ ์บก์ฒ˜ํ•˜๋Š” ๋ฐ ๋“œ๋Š” ๋น„์šฉ์€ ์‚ฌ์šฉํ•  ๋•Œ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ƒ์—…์šฉ ์†”๋ฃจ์…˜ ์ด์ „์—๋Š” ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ์—์„œ๋งŒ ํŠธ๋ž˜ํ”ฝ์„ ์บก์ฒ˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ์ดˆ๋‹น ์ˆ˜์‹ญ ๊ธฐ๊ฐ€๋น„ํŠธ์˜ ์†๋„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ์–‘์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ ์–ด๋ ˆ์ด์˜ ํฌ๊ธฐ์— ์˜ํ•ด์„œ๋งŒ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
์„ธ์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์—”์ง„ ๊ธฐ๋ฐ˜ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ธ๋ฑ์‹ฑ๋ฉ๋‹ˆ๋‹ค. ํƒ„์„ฑ ๊ฒ€์ƒ‰.

Moloch์—๋Š” ๊ธฐ๋ณธ PCAP ํ˜•์‹์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์บก์ฒ˜ ๋ฐ ์ธ๋ฑ์‹ฑํ•˜๊ณ  ์ธ๋ฑ์‹ฑ๋œ ๋ฐ์ดํ„ฐ์— ๋น ๋ฅด๊ฒŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ•์ ๋œ ์ •๋ณด๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ˜ํ”Œ์„ ํƒ์ƒ‰ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ œ๊ณต API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด PCAP ํ˜•์‹์˜ ์บก์ฒ˜๋œ ํŒจํ‚ท๊ณผ JSON ํ˜•์‹์˜ ๊ตฌ๋ฌธ ๋ถ„์„๋œ ์„ธ์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ€์‚ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PCAP ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉด Wireshark์™€ ๊ฐ™์€ ๊ธฐ์กด ํŠธ๋ž˜ํ”ฝ ๋ถ„์„๊ธฐ์™€์˜ ํ†ตํ•ฉ์ด ํฌ๊ฒŒ ๋‹จ์ˆœํ™”๋ฉ๋‹ˆ๋‹ค.

Moloch๋Š” ์„ธ ๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ํŠธ๋ž˜ํ”ฝ ์บก์ฒ˜ ์‹œ์Šคํ…œ์€ ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋””์Šคํฌ์— PCAP ํ˜•์‹์˜ ๋คํ”„ ์“ฐ๊ธฐ, ์บก์ฒ˜๋œ ํŒจํ‚ท ๊ตฌ๋ฌธ ๋ถ„์„, ์„ธ์…˜(SPI, Stateful ํŒจํ‚ท ๊ฒ€์‚ฌ) ๋ฐ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ C ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. PCAP ํŒŒ์ผ์„ ์•”ํ˜ธํ™”๋œ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ํŠธ๋ž˜ํ”ฝ ์บก์ฒ˜ ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๊ณ  ์ธ๋ฑ์‹ฑ๋œ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ฐ PCAP ํŒŒ์ผ ์ „์†ก๊ณผ ๊ด€๋ จ๋œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Node.js ํ”Œ๋žซํผ ๊ธฐ๋ฐ˜ ์›น ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. API.
  • Elasticsearch ๊ธฐ๋ฐ˜์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ.

์›น ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ผ๋ฐ˜ ํ†ต๊ณ„, ์—ฐ๊ฒฐ ๋งต, ๋„คํŠธ์›Œํฌ ํ™œ๋™ ๋ณ€ํ™”์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ ์‹œ๊ฐ์  ๊ทธ๋ž˜ํ”„๋ถ€ํ„ฐ ๊ฐœ๋ณ„ ์„ธ์…˜ ์—ฐ๊ตฌ, ์‚ฌ์šฉ๋œ ํ”„๋กœํ† ์ฝœ ์ปจํ…์ŠคํŠธ์—์„œ ํ™œ๋™ ๋ถ„์„, PCAP ๋คํ”„์˜ ๋ฐ์ดํ„ฐ ๊ตฌ๋ฌธ ๋ถ„์„์„ ์œ„ํ•œ ๋„๊ตฌ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋ณด๊ธฐ ๋ชจ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

AOL์€ Moloch 2.3 ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ธ๋ฑ์‹ฑ ์‹œ์Šคํ…œ์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

AOL์€ Moloch 2.3 ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ธ๋ฑ์‹ฑ ์‹œ์Šคํ…œ์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

AOL์€ Moloch 2.3 ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ธ๋ฑ์‹ฑ ์‹œ์Šคํ…œ์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

AOL์€ Moloch 2.3 ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ธ๋ฑ์‹ฑ ์‹œ์Šคํ…œ์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

ะ’ ์ƒˆ๋กœ์šด ๋ฌธ์ œ:

  • Elasticsearch์˜ ์ƒ‰์ธ ์ƒ์„ฑ์„ ์œ„ํ•ด ์œ ํ˜• ์—†๋Š” ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Lua์— ํŠธ๋ž˜ํ”ฝ ์บก์ฒ˜ ํ•„ํ„ฐ์˜ ์˜ˆ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • QUIC ํ”„๋กœํ† ์ฝœ์˜ 46๊ฐœ ์ดˆ์•ˆ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœํ† ์ฝœ ๊ตฌ๋ฌธ ๋ถ„์„์„ ์œ„ํ•œ ์ฝ”๋“œ๊ฐ€ ์žฌ์ž‘์—…๋˜์–ด ์ด๋”๋„ท ๋ฐ IP ์ˆ˜์ค€ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ๊ตฌ๋ฌธ ๋ถ„์„๊ธฐ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • arp, bgp, igmp, isis, lldp, ospf ๋ฐ pim ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํŒŒ์„œ์™€ ์•Œ๋ ค์ง€์ง€ ์•Š์€ unkEthernet ๋ฐ unkIpProtocol ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ํŒŒ์„œ๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŒŒ์„œ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์˜ต์…˜(disableParsers)์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์„ค์ • ํŽ˜์ด์ง€์—์„œ ์„ค์ •๋œ ์ฐจํŠธ์— ์ •์ˆ˜ ํ•„๋“œ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์›น ์ธํ„ฐํŽ˜์ด์Šค์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ ํŽ˜์ด์ง€๋ฅผ ์Šคํฌ๋กคํ•  ๋•Œ ๊ทธ๋ž˜ํ”„์™€ ์ œ๋ชฉ์„ ๊ณ ์ •ํ•˜๊ณ  ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๋ถ€๋ถ„์˜ ํƒ์ƒ‰ ๋ชจ์Œ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆจ๊ฒจ์ ธ ์žˆ๊ฑฐ๋‚˜ ์ถ•์†Œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€