๐Ÿšค ์„ฑ์žฅ์ผ์ง€ 7.0

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

โš› (7.0)<์™„์ „ ๊ฐœํŽธ> ํŒŒ์ธ๋งŒ ํ•™์Šต๋ฒ•์„ ์•Œ๊ฒŒ ๋œ๋งŒํผ, ์„ฑ์žฅ์ผ์ง€๋Š” ์ •๋ง ๊ทธ ๋‚ ์˜ ํ‚ค์›Œ๋“œ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋„๋ก ํ•œ๋‹ค.

โš›๏ธ ํ‚ค์›Œ๋“œ: ์ง๊ด€์ ์ด๊ณ  ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑ

Git Actions

  • GitHub์—์„œ ์ œ๊ณตํ•˜๋Š” CI/CD ์„œ๋น„์Šค
  • GitHub์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Git Actions์—์„œ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ yaml ํŒŒ์ผ์„ ํ†ตํ•ด ์›ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • (์ถ”๊ฐ€) CI๋Š” ๋‹จ์ˆœํžˆ ๋นŒ๋“œ๋ฟ ์•„๋‹ˆ๋ผ, ํ…Œ์ŠคํŠธ๊นŒ์ง€๋„ ํฌํ•จํ•œ๋‹ค.

์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ

  • IP ์ฃผ์†Œ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€์ด๋‹ค.
  • IP ์ฃผ์†Œ๋Š” ํฌ๊ฒŒ ๋„คํŠธ์›Œํฌ ID์™€ ํ˜ธ์ŠคํŠธ ID๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
  • ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ ๋˜ํ•œ 1๊ณผ 0์˜ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ 32๋น„ํŠธ์ด๋ฉฐ 1์€ ๋„คํŠธ์›Œํฌ ID๋ฅผ, 0์€ ํ˜ธ์ŠคํŠธ ID๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • IP ์ฃผ์†Œ์™€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋ฅผ AND ์—ฐ์‚ฐํ•˜๋ฉด ๋„คํŠธ์›Œํฌ ID๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ณ ๊ฐˆ๋˜์–ด๊ฐ€๋Š” IP ์ฃผ์†Œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • A, B, C ๋“ฑ์˜ ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ๊ณ ์ •๋œ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋ฅผ ์“ฐ๋˜ ๊ฒƒ์—์„œ ๋‚˜์•„๊ฐ€ ์ข€๋” ์œ ๋™์ ์ด๊ณ  ๊ฐ€๋ณ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด CIDR(Classless Inter-Domain Routing)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์˜ˆ์‹œ๋กœ 192.168.0.7/25์™€ ๊ฐ™์ด 8๋น„ํŠธ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์„œ๋ธŒ๋„ทํŒ…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ“ ํšŒ๊ณ 

Git Actions๋ฅผ ์‚ฌ์šฉํ•ด์„œ Bottle-Letter ํ”„๋กœ์ ํŠธ์˜ CI/CD๋ฅผ ๊ตฌ์ถ•ํ–ˆ๋‹ค. ์•„์ฃผ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊นŒ์ง€ ์ž‘์„ฑํ•ด์„œ ์ข€๋” ์•ˆ์ •์ ์ธ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์˜ˆ์ „์— ์ •๋ง ๋ญฃ ๋ชจ๋ฅผ ๋•Œ, ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๊ฐ€๋ฉด์„œ ์ด ๋ธ”๋กœ๊ทธ์˜ CI/CD๋ฅผ ๊ตฌ์ถ•ํ–ˆ์—ˆ๋Š”๋ฐ ์ด์ œ์„œ์•ผ ๊ทธ ๋•Œ ์ž‘์„ฑํ–ˆ๋˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฌด์Šจ ๋‚ด์šฉ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.(๋„๋Œ€์ฒด ๊ทธ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ํ–ˆ์ง€ ๐Ÿง)

๋˜, ์˜ค๋Š˜์€ CS ์Šคํ„ฐ๋””๋กœ ์„œ๋ธŒ๋„ท๋ถ€ํ„ฐ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ, XSS์™€ ๊ฐ™์€ ๋ณด์•ˆ ๊ด€๋ จ ๋‚ด์šฉ๊นŒ์ง€ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์„œ๋ธŒ๋„ท์€ ๊ณต๋ถ€ํ–ˆ๋˜ ๋‚ด์šฉ์ด๋ผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ  ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ์€ ์•„์ฃผ ํฐ ๊ฐœ๋…์œผ๋กœ๋งŒ ๋Š๊ปด์ ธ์„œ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  XSS, CSRF ๋“ฑ์˜ ๋‚ด์šฉ์€ ๊ทธ ์กด์žฌ์— ๋Œ€ํ•ด์„œ ์•Œ๊ณ  ๊ทธ ๋ชฉ์ ์„ ์•ˆ ๊ฒŒ ํฐ ์˜๋ฏธ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์‹ค์ œ ์›น ๊ฐœ๋ฐœ๋‹จ์—์„œ ์ด๋Ÿฐ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์–ด๋–ป๊ฒŒ ๊ณ ๋ คํ•˜๋Š”์ง€ ๋„ˆ๋ฌด ๊ถ๊ธˆํ•ด์กŒ๋‹ค.