๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ

[AWS] ์„œ๋ฒ„ ์„ค์ • AWS CloudFront, WAF

hyonie 2026. 3. 23. 13:17

 

๋ณ‘์› ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด์„œ ์„œ๋ฒ„์„ค์ • ๊ณผ์ •์—์„œ CloudFront, WAF ์„ค์ • ์™„๋ฃŒ ๋ผ๋Š” ๋ง์„ ์ ‘ํ•˜๊ฒŒ ๋๋‹ค.

์ฒ˜์Œ์—๋Š” "์™œ ๊ตณ์ด ์„ค์ •ํ•ด์•ผ ํ•˜๋‚˜"๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”๋ฐ, ์•Œ๊ณ ๋ณด๋‹ˆ ์†๋„+๋ณด์•ˆ์—์„œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ์˜€๋‹ค. 

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” CloudFront, WAF๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ๋ณ‘์›์‚ฌ์ดํŠธ์—์„œ ์ค‘์š”ํ•œ์ง€ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

๐Ÿ“‚ ๋ชฉ์ฐจ

     


    CloudFront = ์‚ฌ์ดํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์‹œ์Šคํ…œ

    AWS CloudFront๋Š” ํ•œ๋งˆ๋””๋กœ CDN(Content Delivery Network) ์ฆ‰, "์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์ค‘๊ฐ„ ์„œ๋ฒ„"๋‹ค.

     

    CloudFront๊ฐ€ ์ค‘๊ฐ„์—์„œ ๋Œ€์‹  ์‘๋‹ตํ•œ๋‹ค. (์‚ฌ์šฉ์ž CloudFront → ์„œ๋ฒ„ )

    ์ฃผ์š” ๊ธฐ๋Šฅ์œผ๋กœ๋Š” 

    1. ์†๋„ ๊ฐœ์„ 
      • ์ด๋ฏธ์ง€, CSS, JS ํŒŒ์ผ ์บ์‹ฑ
      • ์‚ฌ์šฉ์ž์™€ ๊ฐ€๊นŒ์šด ์„œ๋ฒ„์—์„œ ์ „๋‹ฌ
      • ๋ณ‘์› ์‚ฌ์ดํŠธ UX ํ–ฅ์ƒ (ํŽ˜์ด์ง€ ๋กœ๋”ฉ ๋น ๋ฆ„)
    2. ์„œ๋ฒ„ ๋ถ€ํ•˜ ๊ฐ์†Œ
      • ๋ชจ๋“  ์š”์ฒญ์ด ์„œ๋ฒ„๋กœ ๊ฐ€์ง€ ์•Š์Œ
      • CloudFront๊ฐ€ ๋Œ€์‹  ์ฒ˜๋ฆฌ
      • ์„œ๋ฒ„ ๋น„์šฉ ์ ˆ๊ฐ + ์•ˆ์ •์„ฑ ์ฆ๊ฐ€
    3. ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค ๋Œ€์‘
      • ํ•ด์™ธ์—์„œ๋„ ๋น ๋ฅธ ์ ‘์† ๊ฐ€๋Šฅ

     

    ์˜ˆ์‹œ๋กœ https://d123.cloudfront.net/image.jsp ์‹ค์ œ ์„œ๋ฒ„ ๋Œ€์‹  CloudFront ๊ฐ€ ์ด๋ฏธ์ง€ ์ „๋‹ฌ

    ์‰ฝ๊ฒŒ๋น„์œ ๋ฅผ ํ•˜์ž๋ฉด CloudFront๋ฅผ ๋ฐฐ๋‹ฌ ๋Œ€ํ–‰ ์„œ๋น„์Šค๋กœ ์ƒ๊ฐํ•˜๋ฉด ์Œ์‹์ (์„œ๋ฒ„)๋Œ€์‹  ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌ, ๊ณ ๊ฐ์—๊ฒŒ ๋” ๋นจ๋ฆฌ ๋„์ฐฉ

     

     

    WAF = ํ•ดํ‚น์„ ๋ง‰๋Š” ๋ณด์•ˆ ์‹œ์Šคํ…œ

    WAF๋ž€ ์›น ๋ฐฉํ™”๋ฒฝ์œผ๋กœ ์‚ฌ์ดํŠธ ์•ž๋‹จ์—์„œ "์ด์ƒํ•œ ์š”์ฒญ์„ ๊ฑธ๋Ÿฌ์ฃผ๋Š” ๋ณด์•ˆ ํ•„ํ„ฐ" ์—ญํ• ์„ ํ•œ๋‹ค.

    ๋™์ž‘ ๊ตฌ์กฐ๋กœ๋Š” WAF๊ฐ€ ๋จผ์ € ๊ฒ€์‚ฌ๋ฅผ ํ•œ๋‹ค. (์‚ฌ์šฉ์ž → WAF → CloudFront → ์„œ๋ฒ„ )

     

    ๋ง‰์•„์ฃผ๋Š” ๊ณต๊ฒฉ๋“ค

    • SQL Injection
    • XSS ๊ณต๊ฒฉ
    • ๋ด‡ ๊ณต๊ฒฉ
    • ๋น„์ •์ƒ ํŠธ๋ž˜ํ”ฝ

    ์˜ˆ์‹œ๋กœ ?id=1 OR 1=1 ๋กœ DB ํ•ดํ‚น ์‹œ๋„๋ฅผ ํ•˜๋ฉด WAF๊ฐ€ ์ฐจ๋‹จ์„ํ•œ๋‹ค.

    ์‰ฝ๊ฒŒ ๋น„์œ ๋ฅผ ํ•˜์ž๋ฉด WAF๋ฅผ ๊ฑด๋ฌผ ๊ฒฝ๋น„์›์— ๋น„์œ ํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ์ด์ƒํ•œ ์‚ฌ๋žŒ ์ถœ์ž…์ฐจ๋‹จ, ์œ„ํ—˜ํ•œ ํ–‰๋™ ์‚ฌ์ „ ๋ฐฉ์ง€~!

     

     

    CloudFront + WAF ๊ฐ™์ด ์“ฐ๋ฉด? 

    ๋ณด์•ˆ + ์†๋„ ๋‘˜๋‹ค ํ™•๋ณด ํ• ์ˆ˜ ์žˆ๋‹ค. (์‚ฌ์šฉ์ž → WAF (๋ณด์•ˆ) → CloudFront (์†๋„) → ์„œ๋ฒ„ )

     

     

    ์„ค์ • ์™„๋ฃŒ์‹œ 

    CloudFront 

    • ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ ์™„๋ฃŒ
    • ์บ์‹ฑ ์„ค์ • ์™„๋ฃŒ
    • HTTPS ์ ์šฉ

    WAF

    • ๊ธฐ๋ณธ ๋ณด์•ˆ ๋ฃฐ ์ ์šฉ
    • ๊ณต๊ฒฉ ํŒจํ„ด ์ฐจ๋‹จ ์„ค์ •

    ์ฒ˜์Œ์—๋Š” ๋‹จ์ˆœํžˆ ์„œ๋ฒ„ ์„ค์ • ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์‹ค์ œ๋กœ๋Š” ์„œ๋น„์Šค ํ’ˆ์งˆ์„ ๊ฒฐ์ •ํ•˜๋Š” ํ•ต์‹ฌ์š”์†Œ ์˜€๋‹ค.

    ํŠนํžˆ ๋ณ‘์› ์‚ฌ์ดํŠธ๋Š” ์ด๋ฆ„/์ „ํ™”๋ฒˆํ˜ธ, ์˜ˆ์•ฝ์ •๋ณด, ์ƒ๋‹ด๋‚ด์šฉ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ์„œ๋น„์Šค ์ด๋‹ค. 

    ๊ทธ๋ž˜์„œ ๋ณด์•ˆ๊ณผ ์†๋„๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. ๋ณ‘์›์‚ฌ์ดํŠธ ์ฒ˜๋Ÿผ ์‹ ๋ขฐ + ๊ฐœ์ธ์ •๋ณด๊ฐ€ ์ค‘์š”ํ•œ ์„œ๋น„์Šค๋ผ๋ฉด CloudFront์™€ WAF๋Š” ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ํ•„์ˆ˜๋ผ๊ณ  ๋А๊ผˆ๋‹ค.