본문 바로가기
개발/nest.js

nestjs + typeorm backend helmet사용 (9)

by 아크투어 2023. 3. 28.
반응형

1. 개요

 

nestjs + typeorm backend csrf처리 (8)

1. 개요 앞선 일곱번째 포스팅에서 아래와 같이 글로벌 예외처리를 하였다. https://arckwon.tistory.com/entry/nestjs-typeorm-backend-%EC%98%88%EC%99%B8%EC%B2%98%EB%A6%AC-7 nestjs + typeorm backend 예외처리 (7) 1. 개요 앞선

arckwon.tistory.com

 

  • 이번포스팅에서는 helmet 패키지를사용하여 최소한의 필요한 보안처리를 해보도록 하겠다.

nestjs logo

 

 

2. Helmet 개념

  • Helmet은 HTTP 헤더를 적절하게 설정하여 잘 알려진 웹 취약점으로부터 앱을 보호할 수 있습니다.
  • 일반적으로 헬멧은 보안 관련 HTTP 헤더를 설정하는 작은 미들웨어 기능의 모음일 뿐입니다.

helmet document

 

3. Helmet 상세

Content-Security-Policy: default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0

 

 

4. Helmet 적용

  • 패키지설치
# 패키지설치

$ npm i --save helmet

 

  • Cross-Origin-Resource-Policy: same-origin
// main.ts
import helmet from 'helmet';

app.use(helmet({ crossOriginResourcePolicy: { policy: "same-site" } }));

 

  • X-Content-Type-Options: nosniff
// main.ts
import helmet from 'helmet';

app.use(helmet.noSniff());

 

  • X-XSS-Protection: 0
// main.ts
import helmet from 'helmet';

app.use(helmet.xssFilter());

 

 

※. 참고문헌

https://github.com/helmetjs/helmet#how-it-works

 

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

 

 

반응형