FortiWeb WAF ๋กœ๊ทธ ์ˆ˜์ง‘

๋‹ค์Œ์—์„œ ์ง€์›:

์ด ๋ฌธ์„œ์—์„œ๋Š” Google Security Operations ์ „๋‹ฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FortiWeb ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฉํ™”๋ฒฝ (WAF) ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Google Security Operations์— ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ˆ˜์ง‘ ๋ผ๋ฒจ์€ ์›์‹œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ UDM ํ˜•์‹์œผ๋กœ ์ •๊ทœํ™”ํ•˜๋Š” ํŒŒ์„œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์˜ ์ •๋ณด๋Š” FORTINET_FORTIWEB ์ˆ˜์ง‘ ๋ผ๋ฒจ์ด ์žˆ๋Š” ํŒŒ์„œ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

FortiWeb WAF ๋กœ๊ทธ ๊ตฌ์„ฑ

FortiWeb WAF๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ Google Security Operations ์ „๋‹ฌ์ž๋กœ ์ „์†กํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

syslog ์ •์ฑ… ๋งŒ๋“ค๊ธฐ

  1. Fortinet FortiWeb ์ฝ˜์†”์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  2. Fortinet FortiWeb ์ฝ˜์†”์—์„œ Log & report > Log policy > Syslog policy๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ํ‘œ์‹œ๋˜๋Š” ์ƒˆ syslog ์ •์ฑ… ์ฐฝ์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • ์ •์ฑ… ์ด๋ฆ„ ํ•„๋“œ์— ๊ตฌ์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ •์ฑ…์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • IP ์ฃผ์†Œ ํ•„๋“œ์— ์›๊ฒฉ syslog ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ ๋˜๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ํฌํŠธ ํ•„๋“œ์— syslog ์„œ๋ฒ„์˜ ํฌํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • CSV ํ˜•์‹ ์‚ฌ์šฉ ์„ค์ • ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์„ ํƒ๋˜์–ด ์žˆ์œผ๋ฉด ์„ ํƒ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.
  5. ํ™•์ธ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

syslog ์œ ํ˜• ๋ฐ ๋กœ๊ทธ ์ˆ˜์ค€ ์‚ฌ์šฉ ์„ค์ •

  1. Fortinet FortiWeb ์ฝ˜์†”์—์„œ Log & report > Log config > Global log settings๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ‘œ์‹œ๋˜๋Š” ์ „์—ญ ๋กœ๊ทธ ์„ค์ • ์ฐฝ์—์„œ Syslog ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • Syslog ์ •์ฑ… ๋ชฉ๋ก์—์„œ ์•ž์„œ ๋งŒ๋“  syslog ์ •์ฑ…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ๋กœ๊ทธ ์ˆ˜์ค€ ๋ชฉ๋ก์—์„œ ์ˆ˜์ง‘ํ•  ๋กœ๊ทธ์˜ ์ตœ์†Œ ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ๊ธฐ๋Šฅ ๋ชฉ๋ก์—์„œ ๋กœ๊ทธ ๊ธฐ๋Šฅ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์ ์šฉ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋ฆฌ๊ฑฐ ๋งŒ๋“ค๊ธฐ

  1. Fortinet FortiWeb ์ฝ˜์†”์—์„œ Log & report > Log policy > Trigger policy๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ํ‘œ์‹œ๋˜๋Š” ์ƒˆ ํŠธ๋ฆฌ๊ฑฐ ์ •์ฑ… ์ฐฝ์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • ์ •์ฑ… ์ด๋ฆ„ ํ•„๋“œ์— ๊ตฌ์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ •์ฑ…์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • Syslog ์ •์ฑ… ๋ชฉ๋ก์—์„œ ์•ž์„œ ๋งŒ๋“  syslog ์ •์ฑ…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ํ™•์ธ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์ƒˆ๋กœ ๋งŒ๋“  ํŠธ๋ฆฌ๊ฑฐ๋กœ syslog ์ •์ฑ…์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ํ•„์š”ํ•œ ๋ชจ๋“  ์ด๋ฒคํŠธ๊ฐ€ Google Security Operations syslog ์ „๋‹ฌ์ž์— ๋กœ๊น…๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

FortiWeb WAF ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋„๋ก Google Security Operations ์ „๋‹ฌ์ž ๊ตฌ์„ฑ

  1. SIEM ์„ค์ • > ํฌ์›Œ๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ƒˆ ์ „๋‹ฌ์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ „๋‹ฌ์ž ์ด๋ฆ„ ํ•„๋“œ์— ์ „๋‹ฌ์ž์˜ ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์ œ์ถœ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌ์ž๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ  ์ˆ˜์ง‘๊ธฐ ๊ตฌ์„ฑ ์ถ”๊ฐ€ ์ฐฝ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  5. ์ˆ˜์ง‘๊ธฐ ์ด๋ฆ„ ํ•„๋“œ์— ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  6. ๋กœ๊ทธ ์œ ํ˜•์œผ๋กœ Fortinet Web Application Firewall์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  7. ์ˆ˜์ง‘๊ธฐ ์œ ํ˜•์œผ๋กœ Syslog๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  8. ๋‹ค์Œ ํ•„์ˆ˜ ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ํ”„๋กœํ† ์ฝœ: ์ˆ˜์ง‘๊ธฐ๊ฐ€ syslog ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์Šจํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ ํ”„๋กœํ† ์ฝœ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ์ฃผ์†Œ: ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์ƒ์ฃผํ•˜๊ณ  syslog ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์Šจํ•˜๋Š” ๋Œ€์ƒ IP ์ฃผ์†Œ ๋˜๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ํฌํŠธ: ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์ƒ์ฃผํ•˜๊ณ  syslog ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  ๋Œ€๊ธฐํ•˜๋Š” ๋Œ€์ƒ ํฌํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  9. ์ œ์ถœ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

Google Security Operations ์ „๋‹ฌ์ž์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google Security Operations UI๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ์ž ๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ „๋‹ฌ์ž๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด Google Security Operations ์ง€์›ํŒ€์— ๋ฌธ์˜ํ•˜์„ธ์š”.

ํ•„๋“œ ๋งคํ•‘ ์ฐธ์กฐ

์ด ํŒŒ์„œ๋Š” FORTINET FORTIWEB์˜ ๋กœ๊ทธ๋ฅผ ํ‚ค-๊ฐ’ (KV) ํ˜•์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ UDM์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. CEF ๋ฐ ๋น„CEF ํ˜•์‹ ๋กœ๊ทธ๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋กœ๊ทธ ํ˜•์‹์— ๋”ฐ๋ผ ํ•„๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๊ฐ’์„ ์ •๊ทœํ™”ํ•˜๋ฉฐ ์ ์ ˆํ•œ UDM ํ•„๋“œ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

UDM ๋งคํ•‘ ํ…Œ์ด๋ธ”

๋กœ๊ทธ ํ•„๋“œ UDM ๋งคํ•‘ ๋…ผ๋ฆฌ
action additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
action security_result.action_details action์ด 'ํ—ˆ์šฉ' ๋˜๋Š” '์ˆ˜๋ฝ'์ธ ๊ฒฝ์šฐ security_result.action_details์€ 'ALLOW'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. action๊ฐ€ 'Denied', 'deny', 'block' ๋˜๋Š” 'Block'์ธ ๊ฒฝ์šฐ security_result.action_details์€ 'BLOCK'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
app network.application_protocol ๊ฐ’์€ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ ํ›„ ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด HTTPS, HTTP, DNS, DHCP, SMB ์ค‘ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ์—๋งŒ
app_name additional.fields[].key ํ‚ค๊ฐ€ 'appName'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
app_name additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
backend_service additional.fields[].key ํ‚ค๊ฐ€ 'backend_service'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
backend_service additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cat security_result.category_details ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
client_level security_result.category client_level๊ฐ€ '์•…์„ฑ'์ธ ๊ฒฝ์šฐ security_result.category์ด 'NETWORK_MALICIOUS'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cn1 additional.fields[].value.string_value threatWeight ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cn1Label additional.fields[].key ํ‚ค๊ฐ€ cn1Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cn2 additional.fields[].value.string_value ๊ธธ์ด ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cn2Label additional.fields[].key ํ‚ค๊ฐ€ cn2Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cn3 additional.fields[].value.string_value signatureID ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cn3Label additional.fields[].key ํ‚ค๊ฐ€ cn3Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cs1 additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs1Label additional.fields[].key ํ‚ค๊ฐ€ cs1Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cs1 principal.user.product_object_id cs1Label์ด 'userID'์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ(๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์•ˆ ํ•จ) ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs2 additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs2Label additional.fields[].key ํ‚ค๊ฐ€ cs2Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cs2 principal.user.userid cs2Label์ด 'userName' (๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์•ˆ ํ•จ)๊ณผ ์ผ์น˜ํ•˜๊ณ  suid์ด ๋น„์–ด ์žˆ์œผ๋ฉด ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs3 additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs3Label additional.fields[].key ํ‚ค๊ฐ€ cs3Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cs3 metadata.severity cs3Label์ด 'level'์ด๊ณ  cs3์ด ๋น„์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs4 additional.fields[].value.string_value subType ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs4Label additional.fields[].key ํ‚ค๊ฐ€ cs4Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cs5 additional.fields[].value.string_value threatLevel ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs5Label additional.fields[].key ํ‚ค๊ฐ€ cs5Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
cs6 additional.fields[].value.string_value owaspTop10 ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
cs6Label additional.fields[].key ํ‚ค๊ฐ€ cs6Label ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
date metadata.event_timestamp.seconds time์™€ ๊ฒฐํ•ฉ๋˜์–ด ํŒŒ์‹ฑ๋˜์–ด ์—ํฌํฌ ์ดˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
dev_id principal.resource.id ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
devname principal.resource.name ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
device_event_class_id metadata.product_event_type CEF ํŒŒ์‹ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
device_product metadata.product_name CEF ํŒŒ์‹ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
device_vendor metadata.vendor_name CEF ํŒŒ์‹ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
device_version metadata.product_version CEF ํŒŒ์‹ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
dhost target.hostname ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
dpt target.port ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋˜๊ณ  ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
dst target.ip ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
dst_port target.port ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋˜๊ณ  ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
dstepid target.process.pid ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
dsteuid target.user.userid ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
event_name metadata.product_event_type CEF ํŒŒ์‹ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
http_agent network.http.parsed_user_agent ๊ฐ’์€ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ๋ฌธ์ž์—ด๋กœ ํŒŒ์‹ฑ๋ฉ๋‹ˆ๋‹ค.
http_method network.http.method ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
http_refer network.http.referral_url ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
http_session_id network.session_id ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
http_url target.url ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
http_version metadata.product_version ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
length additional.fields[].key ํ‚ค๊ฐ€ '๊ธธ์ด'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
length additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
log_type metadata.log_type 'FORTINET_FORTIWEB'์œผ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค.
main_type additional.fields[].key ํ‚ค๊ฐ€ 'mainType'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
main_type additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
message ๋‹ค์–‘ํ•œ ํ•„๋“œ grok ๋ฐ kv ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์‹ฑํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ•„๋“œ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
ml_allow_method additional.fields[].key ํ‚ค๊ฐ€ 'ml_allow_method'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_allow_method additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_arg_dbid additional.fields[].key ํ‚ค๊ฐ€ 'ml_arg_dbid'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_arg_dbid additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_domain_index additional.fields[].key ํ‚ค๊ฐ€ 'ml_domain_index'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_domain_index additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_log_arglen additional.fields[].key ํ‚ค๊ฐ€ 'ml_log_arglen'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_log_arglen additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_log_hmm_probability additional.fields[].key ํ‚ค๊ฐ€ 'ml_log_hmm_probability'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_log_hmm_probability additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_log_sample_arglen_mean additional.fields[].key ํ‚ค๊ฐ€ 'ml_log_sample_arglen_mean'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_log_sample_arglen_mean additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_log_sample_prob_mean additional.fields[].key ํ‚ค๊ฐ€ 'ml_log_sample_prob_mean'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_log_sample_prob_mean additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_svm_accuracy additional.fields[].key ํ‚ค๊ฐ€ 'ml_svm_accuracy'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_svm_accuracy additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_svm_log_main_types additional.fields[].key ํ‚ค๊ฐ€ 'ml_svm_log_main_types'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_svm_log_main_types additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_svm_log_match_types additional.fields[].key ํ‚ค๊ฐ€ 'ml_svm_log_match_types'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_svm_log_match_types additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ml_url_dbid additional.fields[].key ํ‚ค๊ฐ€ 'ml_url_dbid'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ml_url_dbid additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
monitor_status additional.fields[].key ํ‚ค๊ฐ€ 'monitor_status'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
monitor_status additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
msg metadata.description ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
owasp_top10 additional.fields[].key ํ‚ค๊ฐ€ 'owaspTop10'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
owasp_top10 additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
principal_app principal.application ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
principal_host principal.hostname ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
proto network.ip_protocol ๊ฐ’์€ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ ํ›„ ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
request target.url ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
requestMethod network.http.method ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
rt metadata.event_timestamp.seconds ์—ํฌํฌ ์ดํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์œผ๋กœ ํŒŒ์‹ฑ๋˜๊ณ  ์ดˆ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
security_result.severity security_result.severity severity_level์—์„œ ํŒŒ์ƒ๋จ ์›์‹œ ๋กœ๊ทธ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค๋ฅธ UDM ์‹ฌ๊ฐ๋„ ๊ฐ’์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์€ UNKNOWN_SEVERITY์ž…๋‹ˆ๋‹ค.
server_pool_name additional.fields[].key ํ‚ค๊ฐ€ 'server_pool_name'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
server_pool_name additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
service network.application_protocol ๊ฐ’์€ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ ํ›„ ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
service target.application ๊ฐ’์ด HTTPS, HTTP, DNS, DHCP ๋˜๋Š” SMB ์ค‘ ํ•˜๋‚˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ ํ›„ ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
severity security_result.severity severity์ด ๋น„์–ด ์žˆ๊ณ  cs3Label์ด 'level'์ธ ๊ฒฝ์šฐ cs3 ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ UDM ์‹ฌ๊ฐ๋„ ๊ฐ’ (LOW, HIGH ๋“ฑ)์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
signature_id security_result.rule_id ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
signature_subclass security_result.detection_fields[].key ํ‚ค๊ฐ€ 'signature_subclass'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
signature_subclass security_result.detection_fields[].value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
src principal.ip ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
src_country principal.location.country_or_region ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
src_ip principal.ip ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
src_port principal.port ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋˜๊ณ  ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
srccountry principal.location.country_or_region ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
sub_type additional.fields[].key ํ‚ค๊ฐ€ 'subType'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
sub_type additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
subtype target.resource.resource_subtype ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
suid principal.user.userid ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
threat_level additional.fields[].key ํ‚ค๊ฐ€ 'threatLevel'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
threat_level additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
threat_weight security_result.detection_fields[].key ํ‚ค๊ฐ€ 'threat_weight'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
threat_weight security_result.detection_fields[].value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
time metadata.event_timestamp.seconds date์™€ ๊ฒฐํ•ฉ๋˜์–ด ํŒŒ์‹ฑ๋˜์–ด ์—ํฌํฌ ์ดˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
user_id principal.user.product_object_id ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
user_name additional.fields[].key ํ‚ค๊ฐ€ 'userName'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
user_name additional.fields[].value.string_value ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
user_name principal.user.userid ๊ฐ’์ด ์ง์ ‘ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ metadata.event_type principal.ip๊ณผ target.ip์ด ๋ชจ๋‘ ์žˆ๋Š” ๊ฒฝ์šฐ 'NETWORK_CONNECTION'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. principal.ip ๋ฐ principal.user์ด ์žˆ๋Š” ๊ฒฝ์šฐ 'USER_UNCATEGORIZED'๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. principal.ip๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ 'STATUS_UPDATE'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ 'GENERIC_EVENT'๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ metadata.log_type 'FORTINET_FORTIWEB'์œผ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ metadata.product_name ๋กœ๊ทธ ํ˜•์‹์— ๋”ฐ๋ผ 'FORTINET FORTIWEB' ๋˜๋Š” 'FortiWEB Cloud'๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ metadata.vendor_name ๋กœ๊ทธ ํ˜•์‹์— ๋”ฐ๋ผ 'FORTINET' ๋˜๋Š” 'Fortinet'์œผ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ principal.resource.resource_type dev_id์ด ์žˆ์œผ๋ฉด 'DEVICE'๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค.

๋„์›€์ด ๋” ํ•„์š”ํ•˜์‹ ๊ฐ€์š”? ์ปค๋ฎค๋‹ˆํ‹ฐ ํšŒ์› ๋ฐ Google SecOps ์ „๋ฌธ๊ฐ€๋กœ๋ถ€ํ„ฐ ๋‹ต๋ณ€์„ ๋ฐ›์œผ์„ธ์š”.