2023. 7. 5. 23:46ㆍ공부 중/Node.js
0. 참고자료
보안 - 생활코딩
수업소개 Express 애플리케이션을 구현할 때 주의해야 할 보안적인 이슈를 살펴봅시다. 강의 소스코드 변경사항 main.js var express = require('express'); var app = express(); var fs = require('fs'); var bodyParser = req
opentutorials.org
GitHub - helmetjs/helmet: Help secure Express apps with various HTTP headers
Help secure Express apps with various HTTP headers - GitHub - helmetjs/helmet: Help secure Express apps with various HTTP headers
github.com
1. 보안
프로덕션 환경의 Express를 위한 보안 우수 사례
프로덕션 우수 사례: 보안 개요 “프로덕션 (production)” 이라는 용어는 소프트웨어 라이프사이클 중 애플리케이션 또는 API가 최종 사용자 또는 소비자에게 정식으로 제공되는 단계를 말합니다.
expressjs.com
Express 공홈에서는 보안을 위해서 다음과 같은 점을 거론했다.
- 더 이상 사용되지 않거나 취약성이 있는 버전의 Express 사용 중지
- TLS 사용 (대충 SSL, https를 사용할 것을 권고한다는 의미)
- Helmet 사용
- 쿠키를 안전하게 사용
- 인증 체계에 대한 브루스 포트 공격 방지
- 종속 항목이 안전한지 확인
- 그 외의 알려져 있는 취약점 회피
- 추가적인 고려사항
2. dependency 보안
프로덕션 환경의 Express를 위한 보안 우수 사례
프로덕션 우수 사례: 보안 개요 “프로덕션 (production)” 이라는 용어는 소프트웨어 라이프사이클 중 애플리케이션 또는 API가 최종 사용자 또는 소비자에게 정식으로 제공되는 단계를 말합니다.
expressjs.com
npm@6부터 npm은 자동으로 모든 설치 요청을 검사합니다.
또한 npm audit
을 이용해 여러분의 의존성 트리를 검사할 수 있습니다.
가. audit
npm audit
23년 7월 기준 nsp는 더 이상 지원하지 않는다.
이는 Node Security Platform(통칭 nsp
)를 npm, Inc가 인수했기 때문이다.
npm v6가 나오면서 npm audit
이라는 기능에 녹아들었다.
나. Snyk
Snyk | Developer security | Develop fast. Stay secure. | Snyk
Snyk helps software-driven businesses develop fast and stay secure. Continuously find and fix vulnerabilities for npm, Maven, NuGet, RubyGems, PyPI and more.
snyk.io
npm install -g snyk
cd your-app
snyk test //취약점을 검사
3. Helmet
Helmet helps secure Express apps by setting HTTP response headers.
자주 발생하는 보안 이슈를 자동으로 해결하는 모듈.
가. 설치
npm install --save helmet
나. 예시
const helmet = require('helmet');
app.use(helmet());
인증서를 구매하기 전까지는 꺼놓자.
'공부 중 > Node.js' 카테고리의 다른 글
[Node.js] 세션 쿠키, 영구 쿠키 (0) | 2023.07.06 |
---|---|
[Node.js] 쿠키 생성, 읽기 (0) | 2023.07.06 |
[Express] 미들웨어와 라우터를 활용한 리팩터링 (0) | 2023.07.05 |
[Express] 오류 처리 (0) | 2023.07.05 |
[Express] 정적인 파일 서비스 (0) | 2023.07.05 |