[AWS] WAF

WAF๋Š” Web Application Firewall์˜ ์ค€๋ง๋กœ, ๋ง ๊ทธ๋Œ€๋กœ ์›น์šฉ ๋ฐฉํ™”๋ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋‹ค. OS์—์„œ ๋งํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค.

์•…์˜์ ์ธ DoS, DDoS ๊ณต๊ฒฉ์ด๋‚˜ ๊ธฐํƒ€ ๋ณด์•ˆ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ์ ‘๊ทผ๋“ค์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์„ ๋„์™€์ค€๋‹ค.

๋ณดํ†ต ์„œ๋ฒ„ ์•ž๋‹จ์œผ๋กœ ๋…ธ์ถœ๋˜๋Š” ์„œ๋น„์Šค์ธ Cloudfront, Application Load Balancer, API Gateway(REST), AppSync ์ •๋„์—๋งŒ ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค.

์ „๋ฌธ WAF ์—…์ฒด๋“ค์˜ ์ œํ’ˆ๋ณด๋‹ค๋Š” ์กฐ๊ธˆ ๋ถ€์กฑํ•œ ์ ์ด ์žˆ์ง€๋งŒ, ๊ทธ๋Ÿฐ๋Œ€๋กœ ์“ฐ๊ธฐ์—๋Š” ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ๊ฒƒ ๊ฐ™๋‹ค.





๋น„์šฉ

๋”ฑํžˆ ๋ญ ์—„์ฒญ๋‚˜๊ฒŒ ๋น„์‹ผ๊ฑด ์•„๋‹ˆ๋ผ๋„ ๋น„์šฉ์ด ๋‹ค๋‹ฅ๋‹ค๋‹ฅ ์ž˜ ๋‚˜๊ฐ„๋‹ค.
ACL์ด๋‚˜ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ• ๋•Œ๋งˆ๋‹ค ๊ณ ์ •๊ธˆ์•ก์ด ์ข€ ๋‚˜๊ฐ€๊ณ , ๋˜ ์š”์ฒญ์ด ๋“ค์–ด์˜จ๋งŒํผ ๋‚˜์˜ค๋Š”๋ฐ๋‹ค

๋˜ ์ด๋Ÿฐ์ €๋Ÿฐ ํŠน์ˆ˜์˜ต์…˜์„ ์“ฐ๋ฉด ๊ณจ๊ณ ๋ฃจ ๋œฏ์–ด๊ฐ„๋‹ค.

์ž์„ธํ•œ ๊ฒƒ์€ ๋น„์šฉํ‘œ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค.
https://aws.amazon.com/ko/waf/pricing/




ACL ์ƒ์„ฑํ•˜๊ธฐ

๋‚ด๊ฐ€ ๊ธฐ์กด์— ์“ฐ๋˜ API Gateway์— ํ•œ๋ฒˆ ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ๋‹ค.

create web acl ํด๋ฆญ


๋ฆฌ์ „์„ ํด๋ฆญํ•˜๊ณ , ์ด๋ฆ„์„ ์จ์ค€ ๋‹ค์Œ์—, ์–ด๋–ค ๋ฆฌ์†Œ์Šค์— ๋‹ฌ ๊ฒƒ์ธ์ง€๋ฅผ ๊ณ ๋ฅธ๋‹ค.

๋‚ด ๊ฒฝ์šฐ์—”

๊ทธ๋ƒฅ Cloudfront๋ฅผ ์—ฐ๋™ํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๊ณ  ๋‚˜๋ฉด ์ด๋ ‡๊ฒŒ ๊ทœ์น™์„ ๋ญ˜ ์ถ”๊ฐ€ํ• ์ง€๋ฅผ ๊ณ ๋ฅด๊ฒŒ ํ•ด์ฃผ๋Š”๋ฐ

์™ ์ง„ ๋ชฐ๋ผ๋„ ๊ทœ์น™์— ์šฉ๋Ÿ‰์ด๋ž€๊ฒŒ ์žˆ์–ด์„œ ์ดํ•ฉ์ด 1500 ์ดํ•˜๊ฐ€ ๋˜๋„๋ก ์ ๋‹นํžˆ ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค.
Add Rules๋ฅผ ๋ˆ„๋ฅด๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๊ทœ์น™์„ ๊ณจ๋ผ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.




๊ธฐ๋ณธ ์ œ๊ณต ๊ทœ์น™


๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๊ทœ์น™๋“ค์ด ์ข€ ์žˆ๋‹ค.
manager rule groups๋ฅผ ์„ ํƒํ•œ๋‹ค.


์ € ๊ณ„์ • ํƒˆ์ทจ ๋ฐฉ์ง€๋‚˜ ๋ด‡ ์ปจํŠธ๋กค์€ ์ถ”๊ฐ€ ์š”๊ธˆ์ด ๋“ค์–ด๊ฐ€๋Š” ๋น„์‹ผ ๋†ˆ๋“ค์ด๋‹ค.
๊ณ„์ • ํƒˆ์ทจ๋Š” ๋กœ๊ทธ์ธ์„ ๋ฌด์ฐจ๋ณ„๋กœ ๋‚ ๋ฆฌ๋ฉด์„œ ๋šซ์œผ๋ ค๊ณ  ํ•˜๋Š” ์‹œ๋„๋ฅผ ์ข€ ๋ง‰์•„์ฃผ๊ณ , ๋ด‡ ์ œ์–ด๋Š” ํฌ๋กค๋Ÿฌ๊ฐ™์€๊ฑธ ๋ง‰๊ธฐ์— ์ข‹์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ์ œ๊ณต ์˜ต์…˜๋“ค๋„ ๊ฝค ๋งŽ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ž˜ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์  ๋Œ€์‘๋“ค๋„ ์ข€ ํ•ด์ฃผ๋Š” ํŽธ์ด๊ณ 


PHP ์ทจ์•ฝ์ ์ด๋‚˜ SQL ์ธ์ ์…˜๊ฐ™์€๊ฒƒ๋„ ๋•œ๋นต์„ ํ•ด์ค€๋‹ค... PHP๋Š” ์ •๋ง...

์ € ๋ฐ‘์—๋„ ๋‹ค์–‘ํ•œ ์˜ต์…˜๋“ค์ด ๋” ๋งŽ์€๋ฐ, ๋ฌด์Šจ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์— ๊ตฌ๋…์„ ๋˜ ํ•ด์•ผํ•˜๋”๋ผ.





์ปค์Šคํ…€ ๊ทœ์น™ - IP ์ฐจ๋‹จ

์˜›๋‚ ๋ถ€ํ„ฐ ์•…์˜์ ์ธ ์ ‘๊ทผ์„ ๋ง‰์„๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋‹ค.
๋‹จ์ˆœํ•˜์ง€๋งŒ ํ™•์‹คํ•˜๋‹ค.

์ €๊ฑธ๋กœ ๋“ค์–ด๊ฐ€์„œ

IP Set์œผ๋กœ ์„ ํƒํ•ด์ฃผ๊ณ , ์ด๋ฆ„ ์ง€์€ ๋‹ค์Œ์—

IP Set์„ ๊ณจ๋ผ์ฃผ๊ณ , ์•ก์…˜์„ ์„ ํƒํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

Allow๋Š” ๊ทธ๋ƒฅ ํ—ˆ์šฉํ•ด์ฃผ๋Š” ๊ฒƒ์ด๊ณ , Block์€ ๋ฌด์กฐ๊ฑด ์ฐจ๋‹จ์ด ๋˜๊ฒ ๋‹ค.

IP Set์ด ์—†๋‹ค๋ฉด ์ €๊ธฐ ํƒญ์— ๋“ค์–ด๊ฐ€์„œ

์ ๋‹นํžˆ ๋งŒ๋“ค์–ด์ค€๋‹ค.

์•„์ดํ”ผ๋Š” CIDR ํฌ๋งท์„ ์‚ฌ์šฉํ•ด์„œ ๊ฐœํ–‰ ๋‹จ์œ„๋กœ ์ง‘์–ด๋„ฃ๋Š”๋‹ค. ์ €๊ฑด ์ง€๊ธˆ ๋‚ด IP๋‹ค.
๊ทธ๋ฆฌ๊ณ  Cloudfront์šฉ์ด๋ฉด ๊ธ€๋กœ๋ฒŒ์ด๊ณ , ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ๋ถ™์ผ ๊ฒฝ์šฐ์—๋Š” ๋ฆฌ์ „์„ ์ง€์ •ํ•ด์•ผํ•œ๋‹ค.

์•„๋ฌดํŠผ ์ด๋ ‡๊ฒŒ ํ•ด์„œ ์ ๋‹นํžˆ ์ถ”๊ฐ€ํ•ด์„œ ๋ถ™์—ฌ๋ณด๊ฒ ๋‹ค.

๋ฐ‘์— ์นธ์€ ๋งค์นญ๋˜๋Š”๊ฒŒ ์—†์„๋•Œ๋Š” ๊ทธ๋ƒฅ ํ—ˆ์šฉํ•ด์ค€๋‹ค๋Š”๊ฑด๋ฐ, ์›ํ•œ๋‹ค๋ฉด ๋ฐ˜๋Œ€๋กœ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.


๊ทœ์น™๋“ค ๊ฐ„์˜ ์šฐ์„ ์ˆœ์œ„๋„ ์žˆ๋‹ค.


์ง€ํ‘œ ์„ค์ •์ด๋‹ค.
๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค.
์ €๋ ‡๊ฒŒ ํ•ด์„œ ๋งŒ๋“ค๋ฉด

์ด๋ ‡๊ฒŒ ACL ๊ด€๋ฆฌ์ฐฝ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง๋„ ๋˜๊ณ 

๊ทœ์น™์˜ ์ˆ˜์ •์ด๋‚˜ ๊ด€๋ฆฌ๋„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.


๋‚ด ์•„์ดํ”ผ๋ฅผ ๋ธ”๋ฝ์„ ๊ฑธ์–ด๋†“์œผ๋‹ˆ ์›๋ž˜ ์ž˜ ๋˜๋˜๊ฒŒ

์ž˜ ๋ง‰ํžˆ๋”๋ผ

๋ด‡ ์ฐจ๋‹จ์ด๋‚˜ ๋ฌด์ฐจ๋ณ„ ๋กœ๊ทธ์ธ ๋ฐฉ์–ด๋„ ์ข‹์ง€๋งŒ, ์‚ฌ์‹ค ์ด๋Ÿฐ ๋‹จ์ˆœํ•œ ์ฐจ๋‹จ๊ธฐ๋Šฅ๋งŒ ํ•ด๋„ ๊ฝค ์“ธ๋งŒํ•œ ๊ฒƒ ๊ฐ™๋‹ค.


์•„ํ‚คํ…์ฒ˜์™€ ๊ด€๋ จ๋œ ์ข€๋” ๊นŠ์ด์žˆ๋Š” ์ •๋ณด๋ฅผ ์›ํ•œ๋‹ค๋ฉด ๋ฐฐ๋ฏผ์—์„œ ์ž‘์„ฑํ•œ ๊ธ€๋„ ํ•œ๋ฒˆ ๋ณด๋ฉด ์ข‹๊ฒ ๋‹ค.
https://techblog.woowahan.com/2699/



์ฐธ์กฐ
https://techblog.woowahan.com/2699/