NodeJS - (보안)helmet ?

김정욱·2020년 12월 12일
1

NodeJS

목록 보기
19/22
post-thumbnail
post-custom-banner

helmet ?

Express.js 사용시 HTTP 헤더 설정을 자동으로 바꾸어주어
잘 알려진 몇가지 보안 이슈로부터 보호해주는 패키지


[ helmet이 포함하는 미들웨어 ]

  • csp : Content-Security-Policy 헤더 설정 /
                XSS(Cross-site scripting) 공격 및 기타 교차 사이트 인젝션 예방.

  • hidePowerdBy : X-Powered-By 헤더 제거

  • hpkp : Public Key Pinning 헤더 추가. 위조된 인증서를 이용한 중간자 공격 방지.

  • hsts
      : SSL/TLS를 통한 HTTP 연결을 적용하는 Strict-Transport-Security 헤더 설정.

  • noCache : Cache-Control 및 Pragma 헤더를 설정하여 클라이언트 측에서
                            캐싱을 사용하지 않도록 함.

  • frameguard : X-Frame-Options 헤더 설정하여 clickjacking에 대한 보호 제공

  • ieNoOpen : (IE8 이상) X-Download-Options 설정.

  • xssFilter : X-XSS-Protection 설정. 대부분의 최신 웹 브라우저에서
                               XSS(Cross-site scripting) 필터를 사용.

  • noSniff : X-Content-Type-Options 설정하여, 선언된 콘텐츠 유형으로부터
                          벗어난 응답에 대한 브라우저의 MIME 가로채기를 방지.


[ 사용 ]

(App.js)

var app = express();
...
app.use(helmet());
  • 주의할 점 !
    : csp / expectCt / hpkp / noCache / referrPplicy는 별도로 적용해야 한다!
app.use(helmet.noCache());
app.use(helmet.hpkp());
... 같은 방식으로 !
profile
Developer & PhotoGrapher
post-custom-banner

0개의 댓글