F5 BIG-IP APM ๋กœ๊ทธ ์ˆ˜์ง‘

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

์ด ๋ฌธ์„œ์—์„œ๋Š” Google Security Operations ์ „๋‹ฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ F5 BIG-IP Access Policy Manager (APM) ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

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

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

F5 BIG-IP APM ๊ตฌ์„ฑ

  1. ๊ด€๋ฆฌ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BIG-IP ๊ตฌ์„ฑ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํฌํ„ธ์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ๋ณธ > ์‹œ์Šคํ…œ > ๋กœ๊ทธ > ๊ตฌ์„ฑ > ์›๊ฒฉ ๋กœ๊น…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์†์„ฑ ์„น์…˜์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • ์›๊ฒฉ IP ํ•„๋“œ์— Google Security Operations ํฌ์›Œ๋” IP ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • ์›๊ฒฉ ํฌํŠธ ํ•„๋“œ์— ๋†’์€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์—…๋ฐ์ดํŠธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    APM์˜ ๋กœ๊ทธ์˜ ๊ฒฝ์šฐ Berkeley Software Distribution (BSD) syslog ํ˜•์‹๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

    ์ˆ˜์ง‘๊ธฐ๋Š” APM์˜ ์„œ๋ช…์„ ๊ธฐ๋ฐ˜์œผ๋กœ APM ๋กœ๊ทธ๋งŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. F5 BIG-IP APM ์ด๋ฒคํŠธ ์ˆ˜์ง‘๊ธฐ๋Š” LTM 11.6~12.1.1 ๊ธฐ๊ธฐ์˜ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ๋กœ๊ทธ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    iRule์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ถŒ์žฅ๋˜๋Š” iRule ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Google Security Operations๋Š” ๋‹ค์Œ iRule ํ˜•์‹๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    # log_header_requests
    ###################################################################################
    #################################################
    # Purpose: logs header information to Local Traffic log
    # #
    #
    # Update-Log Date By Description
    # Created 02/07/2020 E01961 Initial implementation
    #
    #
    ###################################################################################
    ################################################
    when HTTP_REQUEST {
    set LogString "Client [IP::client_addr]:[TCP::client_port] -> [HTTP::host]
    [HTTP::uri]"
    log local5. "================="
    log local5. "$LogString (request)"
    foreach aHeader [HTTP::header names] {
    log local5. "$aHeader: [HTTP::header value $aHeader]"
    }
    # set UserID [URI::query "?[HTTP::payload]" "UserID"]
    # log local0. "User $UserID attempted login from [IP::client_addr] and referer:
    [HTTP::header "Referer"]"
    # log local0. "============================================="
    }
    when HTTP_RESPONSE {
    log local5. "=================="
    log local5. "$LogString (response) - status: [HTTP::status]"
    foreach aHeader [HTTP::header names] {
    log local5. "$aHeader: [HTTP::header value $aHeader]"
    }
    # log local0. "============================================="
    

F5 BIG-IP DNS ๊ตฌ์„ฑ

F5 BIG-IP DNS๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ž‘์—…์„ ์‹คํ–‰ํ•˜์„ธ์š”.

์›๊ฒฉ ๋กœ๊น… ์„œ๋ฒ„ ํ’€ ๋งŒ๋“ค๊ธฐ

  1. ๊ธฐ๋ณธ ํƒญ์—์„œ DNS > ์ „์†ก > ๋ถ€ํ•˜ ๋ถ„์‚ฐ > ํ’€ ๋˜๋Š” ๋กœ์ปฌ ํŠธ๋ž˜ํ”ฝ > ํ’€์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ‘œ์‹œ๋˜๋Š” ํ’€ ๋ชฉ๋ก ์ฐฝ์—์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ํ‘œ์‹œ๋˜๋Š” ์ƒˆ ํ’€ ์ฐฝ์˜ ์ด๋ฆ„ ํ•„๋“œ์— ํ’€์˜ ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์ƒˆ ๊ตฌ์„ฑ์› ์„น์…˜์—์„œ ํ’€์— ํฌํ•จํ•  ๊ฐ ์›๊ฒฉ ๋กœ๊น… ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    1. ์ฃผ์†Œ ํ•„๋“œ์— Google Security Operations ํฌ์›Œ๋” IP ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ๋…ธ๋“œ ๋ชฉ๋ก์—์„œ ๋…ธ๋“œ ์ฃผ์†Œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์„œ๋น„์Šค ํฌํŠธ ํ•„๋“œ์— ์„œ๋น„์Šค ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ๋ชฉ๋ก์—์„œ ์„œ๋น„์Šค ์ด๋ฆ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ์›๊ฒฉ ๋กœ๊น… ํฌํŠธ๋ฅผ ๊ตฌ์„ฑํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  5. ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•œ ํ›„ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์›๊ฒฉ ๊ณ ์† ๋กœ๊ทธ ๋Œ€์ƒ ๋งŒ๋“ค๊ธฐ

  1. ๊ธฐ๋ณธ ํƒญ์—์„œ ์‹œ์Šคํ…œ > ๋กœ๊ทธ > ๊ตฌ์„ฑ > ๋กœ๊ทธ ๋Œ€์ƒ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ‘œ์‹œ๋˜๋Š” ๋กœ๊ทธ ๋Œ€์ƒ ์ฐฝ์—์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฆ„ ํ•„๋“œ์— ์ด ๋Œ€์ƒ์˜ ๊ณ ์œ ํ•˜๊ณ  ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์œ ํ˜• ๋ชฉ๋ก์—์„œ ์›๊ฒฉ ๊ณ ์† ๋กœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  5. ํ’€ ์ด๋ฆ„ ๋ชฉ๋ก์—์„œ BIG-IP ์‹œ์Šคํ…œ์ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์›๊ฒฉ ๋กœ๊ทธ ์„œ๋ฒ„ ํ’€์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. ํ”„๋กœํ† ์ฝœ ๋ชฉ๋ก์—์„œ ๊ณ ์† ๋กœ๊น… ํ’€ ๋ฉค๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  7. ์™„๋ฃŒ๋จ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํ˜•์‹์ด ์ง€์ •๋œ ์›๊ฒฉ ๊ณ ์† ๋กœ๊ทธ ๋Œ€์ƒ ๋งŒ๋“ค๊ธฐ

  1. Main(๊ธฐ๋ณธ) ํƒญ์—์„œ System(์‹œ์Šคํ…œ) > Logs(๋กœ๊ทธ) > Configuration(๊ตฌ์„ฑ) > Log Destinations(๋กœ๊ทธ ๋Œ€์ƒ)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ‘œ์‹œ๋˜๋Š” ๋กœ๊ทธ ๋Œ€์ƒ ์ฐฝ์—์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฆ„ ํ•„๋“œ์— ์ด ๋Œ€์ƒ์˜ ๊ณ ์œ ํ•˜๊ณ  ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์œ ํ˜• ๋ชฉ๋ก์—์„œ ์„œ์‹์ด ์ง€์ •๋œ ๋กœ๊น… ๋Œ€์ƒ์„ ์›๊ฒฉ syslog๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ BIG-IP ์‹œ์Šคํ…œ์ด ์„œ์‹์ด ์ง€์ •๋œ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์„ ๋กœ๊ทธ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋„๋ก ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  5. ์œ ํ˜• ๋ชฉ๋ก์—์„œ ๋กœ๊ทธ ํ˜•์‹์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. ์ „์†ก ๋Œ€์ƒ ํƒญ์—์„œ ๊ณ ์† ๋กœ๊ทธ ๋Œ€์ƒ ๋ชฉ๋ก์„ ์„ ํƒํ•œ ๋‹ค์Œ BIG-IP ์‹œ์Šคํ…œ์—์„œ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์›๊ฒฉ syslog ์„œ๋ฒ„ ํ’€์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋Œ€์ƒ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  7. ์™„๋ฃŒ๋จ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์‹œ์ž ๋งŒ๋“ค๊ธฐ

  1. ๊ธฐ๋ณธ ํƒญ์—์„œ ์‹œ์Šคํ…œ > ๋กœ๊ทธ > ๊ตฌ์„ฑ > ๋กœ๊ทธ ๊ฒŒ์‹œ์ž๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ‘œ์‹œ๋˜๋Š” ๋กœ๊ทธ ๊ฒŒ์‹œ์ž ์ฐฝ์—์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฆ„ ํ•„๋“œ์— ๊ฒŒ์‹œ์ž๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ๋กœ๊ทธ ๊ฒŒ์‹œ์ž ๋ชฉ๋ก์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชฉ๋ก์—์„œ ์ด์ „์— ๋งŒ๋“  ๋Œ€์ƒ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ชฉ์ ์ง€๋ฅผ ์„ ํƒํ•œ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด << ์ด๋™์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  6. ํ˜•์‹์ด ์ง€์ •๋œ ๋Œ€์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์›๊ฒฉ ์‹œ์Šคํ…œ ๋กœ๊ทธ, Splunk, ArcSight์™€ ๊ฐ™์ด ๋กœ๊ทธ ์„œ๋ฒ„์™€ ์ผ์น˜ํ•˜๋Š” ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋Œ€์ƒ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  7. ์™„๋ฃŒ๋จ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋งž์ถค DNS ๋กœ๊น… ํ”„๋กœํ•„ ๋งŒ๋“ค๊ธฐ

  1. Main ํƒญ์—์„œ DNS > Delivery > Profiles > Other DNS Logging ๋˜๋Š” Local traffic > Profiles > Others > DNS logging์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ‘œ์‹œ๋˜๋Š” DNS ๋กœ๊น… ํ”„๋กœํ•„ ๋ชฉ๋ก ์ฐฝ์—์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฆ„ ํ•„๋“œ์— ํ”„๋กœํ•„์˜ ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  4. ๋กœ๊ทธ ๊ฒŒ์‹œ์ž ๋ชฉ๋ก์—์„œ BIG-IP ์‹œ์Šคํ…œ์ด DNS ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ์ „์†กํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  5. BIG-IP ์‹œ์Šคํ…œ์—์„œ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.
    • ๋ชจ๋“  DNS ์ฟผ๋ฆฌ๋ฅผ ๋กœ๊น…ํ•˜๋ ค๋ฉด ์ฟผ๋ฆฌ ๋กœ๊น… ์„ค์ •์—์„œ ์‚ฌ์šฉ ์„ค์ • ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์„ ํƒ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • ๋ชจ๋“  DNS ์‘๋‹ต์„ ๋กœ๊น…ํ•˜๋ ค๋ฉด ์‘๋‹ต ๋กœ๊น… ์„ค์ •์—์„œ ์‚ฌ์šฉ ์„ค์ •๋œ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ์—์„œ ์ „์†กํ•œ ์ฟผ๋ฆฌ ID๋ฅผ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์— ํฌํ•จํ•˜๋ ค๋ฉด ์ฟผ๋ฆฌ ID ํฌํ•จ ์„ค์ •์—์„œ ์‚ฌ์šฉ ์„ค์ •๋œ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. ์™„๋ฃŒ๋จ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์Šค๋„ˆ์— DNS ๋กœ๊น… ํ”„๋กœํ•„ ์ถ”๊ฐ€

  1. Main ํƒญ์—์„œ DNS > Delivery > Listeners > DNS listener๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ์„œ๋น„์Šค ์„น์…˜์˜ DNS ํ”„๋กœํ•„ ๋ชฉ๋ก์—์„œ ์ด์ „์— ๊ตฌ์„ฑํ•œ DNS ํ”„๋กœํ•„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์—…๋ฐ์ดํŠธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

F5 BIG-IP APM ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋„๋ก Google Security Operations ์ „๋‹ฌ์ž ๊ตฌ์„ฑ

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

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

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

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

์ด F5 BIG-IP APM ํŒŒ์„œ๋Š” syslog ๋ฉ”์‹œ์ง€์—์„œ ํ•„๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค (tmsh, tmm, apmd, httpd ๋˜๋Š” ๊ธฐํƒ€)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ถ”์ถœ๋œ ํ•„๋“œ๋ฅผ UDM์— ๋งคํ•‘ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋กœ๊ทธ ํ˜•์‹์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ฌ๊ฐ๋„, ์œ„์น˜, ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ๊ฐ™์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.

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

๋กœ๊ทธ ํ•„๋“œ UDM ๋งคํ•‘ ๋…ผ๋ฆฌ
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ principal.application ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ application ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
bytes_in network.received_bytes ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ bytes_in ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์™€ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
bytes_out network.sent_bytes ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ bytes_out ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์™€ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
cmd_data principal.process.command_line ๊ฐ’์€ kv ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ cmd_data ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
destination_ip target.ip ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ destination_ip ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
destination_port target.port ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ destination_port ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์™€ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
ํด๋” principal.process.file.full_path ๊ฐ’์€ kv ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ folder ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
geoCountry principal.location.country_or_region ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ geoCountry ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
geoState principal.location.state ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ geoState ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
inner_msg security_result.description ๋‹ค๋ฅธ ๊ตฌ์ฒด์ ์ธ ์„ค๋ช…์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ฐ’์€ grok ํ•„ํ„ฐ์— ์˜ํ•ด ์ถ”์ถœ๋œ inner_msg ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
ip_protocol network.ip_protocol ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ ip_protocol ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
principal_hostname principal.hostname ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ principal_hostname ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
principal_ip principal.ip ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ principal_ip ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
process_id principal.process.pid ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ process_id ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
์—ญํ•  user_role.name ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ role ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. role ํ•„๋“œ์— 'admin' (๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์•ˆ ํ•จ)์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ ๊ฐ’์€ 'ADMINISTRATOR'๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
์ค„์ด๋Š” ๊ฒƒ์„ security_result.severity_details syslog ๋ฉ”์‹œ์ง€์˜ ์›๋ž˜ ๊ฐ’์ด ์—ฌ๊ธฐ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์€ ์กฐ๊ฑด๋ถ€ ๋กœ์ง์„ ์‚ฌ์šฉํ•˜์—ฌ severity ํ•„๋“œ์—์„œ ํŒŒ์ƒ๋ฉ๋‹ˆ๋‹ค.
CRITICAL -> CRITICAL
ERR -> ERROR
ALERT, EMERGENCY -> HIGH
INFO, NOTICE -> INFORMATIONAL
DEBUG -> LOW
WARN -> MEDIUM
source_ip principal.ip ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ source_ip ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
source_port principal.port ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ source_port ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์™€ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
์ƒํƒœ security_result.summary ๊ฐ’์€ kv ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ status ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
ํƒ€์ž„์Šคํƒฌํ”„ metadata.event_timestamp, timestamp ๊ฐ’์€ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ timestamp ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์™€ ํƒ€์ž„์Šคํƒฌํ”„ ๊ฐ์ฒด๋กœ ํŒŒ์‹ฑ๋ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ event ๊ฐ์ฒด์˜ timestamp ํ•„๋“œ๋„ ์ด ๊ฐ’์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž principal.user.userid ์ด ๊ฐ’์€ 'id' ๋˜๋Š” 'ID' ์ ‘๋‘์‚ฌ๋ฅผ ์‚ญ์ œํ•œ ํ›„ grok ํ•„ํ„ฐ๋กœ ์ถ”์ถœ๋œ user ํ•„๋“œ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๊ฐ’์€ ๋‹ค๋ฅธ ํ•„๋“œ์˜ ์กด์žฌ์— ๋”ฐ๋ผ ํŒŒ์ƒ๋ฉ๋‹ˆ๋‹ค.
user๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ: USER_UNCATEGORIZED
source_ip ๋ฐ destination_ip๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ: NETWORK_CONNECTION
principal_ip ๋˜๋Š” principal_hostname๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ: STATUS_UPDATE
๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ: GENERIC_EVENT 'BIGIP_APM'์œผ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค. 'F5'๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค. result ํ•„๋“œ๊ฐ€ 'failed'์ด๋ฉด ๊ฐ’์ด 'BLOCK'์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

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