๐Ÿ’ป๊ธฐ์ˆ /Security

๊ฐœ์ธ์ •๋ณด ๋™์˜ ํ˜„๋Œ€ ์‚ฌํšŒ์—์„œ์˜ ๊ฑฐ๋ž˜๋Š” ๋Œ€๋ถ€๋ถ„ ์ธํ„ฐ๋„ท์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค. ๋‹จ์ ์ธ ์˜ˆ๋กœ ๋ฐฐ๋‹ฌ์Œ์‹์ด ์žˆ๋‹ค. ๋ง›์žˆ๋Š” ์Œ์‹์„ ๋จน๊ธฐ ์œ„ํ•ด ๊ตณ์ด ์Œ์ ์ ์— ๊ฐ€์ง€ ์•Š์•„๋„ ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์—์„œ ์‹œ์ผœ๋จน์œผ๋ฉด ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฑฐ๋ž˜๋Š” ๋ฐฐ๋‹ฌ ์ˆ˜๋ น์„ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋‘ ์˜จ๋ผ์ธ์ƒ์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๋‚ด๊ฐ€ ๋ˆ„๊ตฌ์ด์ง€ ์ƒ์„ธํ•˜๊ฒŒ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ ์˜ฌ๋ฐ”๋ฅธ ์žฅ์†Œ๋กœ ์•ˆ์ „ํ•œ ๋ฐฐ๋‹ฌ์ด ๊ฐ€๋Šฅํ•  ํ…Œ๋‹ˆ ๋ง์ด๋‹ค. ๋™์‹œ์— ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ๊ฐ™์€ ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ์„ ์„ ์œ„ํ•ด ์ถ”๊ฐ€ ์ •๋ณด๋„ ์ˆ˜์ง‘ํ•œ๋‹ค. ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์ž๋ฉด ์†Œ๋น„์ž์˜ ์„ฑ๋ณ„, ๋‚˜์ด, ์ตœ๊ทผ ์ฃผ๋ฌธํ–ˆ๋˜ ์Œ์‹ ์ •๋ณด๊ฐ€ ์ˆ˜์ง‘ํ•˜๋Š” ์ •๋ณด์— ํ•ด๋‹นํ•œ๋‹ค. ์†Œ๋น„์ž๋ฅผ ์•Œ๋ฉด ์•Œ์ˆ˜๋ก ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ •ํ™•๋„๋Š” ๋†’์•„์ง„๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •ํ™•๋„๊ฐ€ ๋†’๋‹ค๋ฉด ๋ง›์žˆ๋Š” ์Œ์‹์„ ๋จน๊ธฐ ์œ„ํ•œ ์ฃผ๋ฌธ ์†Œ์š”์‹œ๊ฐ„์ด ์ค„์–ด๋“ค๊ณ  ์ „..
NodeJS๋Š” ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋ฐฑ์—”๋“œ ํ™˜๊ฒฝ์ด๋‹ค. ๊ทธ๋งŒํผ ๋ณด์•ˆ ์ด์Šˆ๋„ ๋งŽ๊ณ  ๋ณด์•ˆ ๊ด€๋ จ ํ”„๋ ˆ์ž„์›Œํฌ๋„ ๋‹ค์–‘ํ•˜๋‹ค. ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” NodeJS์˜ ๋ณด์•ˆ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ดˆ์ ์ธ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•  ์˜ˆ์ •์ด๋‹ค. 1. NPM audit npm ๋ชจ๋“ˆ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์ž๋™์œผ๋กœ ์ง„๋‹จํ•ด์ฃผ๊ณ  ๋ชจ๋“ˆ์„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์š”์ฒญํ•˜๋ฉด ๋œ๋‹ค. npm audit 2. ngnix ์‚ฌ์šฉ nodejs๋ฅผ 80, 443ํฌํŠธ๋กœ ๋ฐ”๋กœ ๋…ธ์ถœ์‹œํ‚ค๋ฉด ์—ฌ๋Ÿฌ ๋ณด์•ˆ ์ด์Šˆ์— ์ง๋ฉดํ•  ์ˆ˜ ์žˆ๋‹ค. ํฌํŠธ๋Š” 3000์œผ๋กœ ํ•ด๋†“๊ณ  ngnix proxy ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์„œ ๋’ค์— ์ˆจ๊ฒจ์ฃผ์ž. ๋˜ํ•œ letsencrypt๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ์—๋„ ์ˆ˜์›”ํ•ด์ง„๋‹ค. 3. Helmet ๋ณด์•ˆ ๋ชจ๋“ˆ ์ ์šฉ express ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ์‹œ ํ—ค๋” ์„ค์ •์œผ๋กœ ์•Œ..
DipokalHHJ
'๐Ÿ’ป๊ธฐ์ˆ /Security' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก