Express 웹사이트 보안 강화하기_Helmet

이애옹·2023년 3월 8일
0

Node.js

목록 보기
29/32

📝 Helmet이란?

helmet은 node Express와 함께 사용되는 보안 강화 모듈이다.

HTTP 헤더의 설정 변경을 통해 위험한 웹 취약점으로부터 서버를 보호 해 준다.

Helmet은 Express의 미들웨어 모듈이며, 여러 미들웨어 모듈을 합쳐 놓은 미들웨어 패키지 모듈이다.

📝 Helmet의 모듈

Helmet에는 아래와 같은 기능을 하는 9가지의 미들웨어가 있다.

  1. csp : Content-Security-Policy 헤더를 설정하여 XSS(Cross-site Scripting) 공격 및 기타 교체 사이트 인젝션을 예방한다.

  2. hidePoweredBy : X-Powered-By 헤더를 제거한다.

  3. hpxp : Public Key Pinning 헤더를 추가하여, 위조된 인증서를 이용한 중간자 공격을 방지한다.

  4. hsts : 서버에 대한 안전한(SSL/TLS를 통한 HTTP) 연결을 적용하는 Strict-Transport-Security 헤덜를 설정한다.

  5. ieNoOpen : IE8 이상에 대해 X-Download-Options를 설정한다.

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

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

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

  9. xssFilter : X-XSS-Protection을 설정하여 대부분의 최신 웹 브라우저에서 XSS(Cross-Site Scipting) 필터를 사용하도록 한다.

📝 Helmet 사용법

✔️ Helmet 설치

$ npm install --save helmet

✔️ Helmet 적용방법

// ...
const helmet = require('helmet')
app.use(helmet())
// ...


참고로 Helmet을 사용하지 않더라도,
X-Powerd-By 헤더는 사용하지 않도록 설정 해 둬야 서버 공격에 대응할 수 있다고 한다~~~


👀 참고자료

profile
안녕하세요

0개의 댓글