Security
Security
์ด ์ฅ์์๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ณด์์ ๊ฐํํ ์ ์๋ ๋ช ๊ฐ์ง ๊ธฐ์ ์ ๋ฐฐ์๋๋ค.
Helmet
Helmet์ HTTP ํค๋๋ฅผ ์ ์ ํ๊ฒ ์ค์ ํ์ฌ ์ ์๋ ค์ง ์ผ๋ถ ์น ์ทจ์ฝ์ ์ผ๋ก๋ถํฐ ์ฑ์ ๋ณดํธ ํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก Helmet์ ๋ณด์ ๊ด๋ จ HTTP ํค๋๋ฅผ ์ค์ ํ๋ 12 ๊ฐ์ ์์ ๋ฏธ๋ค์จ์ด ํจ์ ๋ชจ์์ ๋๋ค (๋๋ณด๊ธฐ). ๋จผ์ ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ์ญ์์ค.
์ค์น๊ฐ ์๋ฃ๋๋ฉด ๊ธ๋ก๋ฒ ๋ฏธ๋ค์จ์ด๋ก ์ ์ฉํ์ญ์์ค.
CORS
CORS (Cross-Origin Resource Sharing)๋ ๋ค๋ฅธ ๋๋ฉ์ธ์์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ์ ์๋ ๋ฉ์ปค๋์ฆ์
๋๋ค. ํ๋ ์๋์์ Nest๋ cors ํจํค์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํจํค์ง๋ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ง์ ํ ์ ์๋ ์ต์
์ ์ ๊ณตํฉ๋๋ค. CORS๋ฅผ ํ์ฑํํ๋ ค๋ฉด enableCors()
๋ฉ์๋๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.
๋ํ ๊ตฌ์ฑ ๊ฐ์ฒด๋ฅผ ์ด ํจ์์ ๋งค๊ฐ ๋ณ์๋ก ์ ๋ฌํ ์ ์์ต๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์์ฑ์ ๊ณต์ cors ์ ์ฅ์์ ์ฒ ์ ํ๊ฒ ์ค๋ช ๋์ด ์์ต๋๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ Nest ์ต์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์กฐ๊ฑด ๊ฐ์ ์ ๋ฌํ๋ ๋์ cors ๊ตฌ์ฑ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค (์ฌ๊ธฐ ์ฐธ์กฐ).
CSRF
์ฌ์ดํธ ๊ฐ ์์ฒญ ์์กฐ (CSRF ๋๋ XSRF๋ผ๊ณ ํจ)๋ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ๋ขฐํ๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฌด๋จ ๋ช ๋ น์ด ์ ์ก๋๋ ์น ์ฌ์ดํธ์ ์ ์์ ์ธ ์ ์ฉ ์ ํ์ ๋๋ค. ์ด๋ฌํ ์ข ๋ฅ์ ๊ณต๊ฒฉ์ ์ํํ๊ธฐ ์ํด csurf ํจํค์ง๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋จผ์ ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ์ญ์์ค.
์ค์น๊ฐ ์๋ฃ๋๋ฉด ๊ธ๋ก๋ฒ ๋ฏธ๋ค์จ์ด๋ก ์ ์ฉํ์ญ์์ค.
Rate limiting
๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํธํ๋ ค๋ฉด ์ผ์ข ์ ์๋ ์ ํ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ์ด ์ข๊ฒ๋ NPM์๋ ์ด๋ฏธ ๋ค์ํ ๋ฏธ๋ค์จ์ด๊ฐ ์์ต๋๋ค. ๊ทธ์ค ํ๋๊ฐ express-rate-limit์ ๋๋ค.
์ค์น๊ฐ ์๋ฃ๋๋ฉด ๊ธ๋ก๋ฒ ๋ฏธ๋ค์จ์ด๋ก ์ ์ฉํ์ญ์์ค.
info ํํธ
FastifyAdapter
๋ก ์์ ํ๋ ๊ฒฝ์ฐ fastify-rate-limit๋ฅผ ๋์ ์ฌ์ฉํด๋ณด์ญ์์ค.
Last updated