더북(TheBook)

15.1.7 helmet, hpp

 

서버의 각종 취약점을 보완해주는 패키지들입니다. 익스프레스 미들웨어로서 사용할 수 있습니다.

이 패키지를 사용한다고 해서 모든 취약점을 방어해주는 것은 아니므로 서버를 운영할 때는 주기적으로 취약점을 점검해야 합니다.

콘솔

$ npm i helmet hpp

 

개발 환경에서는 사용할 필요가 없으므로 배포 환경일 때만 적용하면 됩니다.

app.js

const express = require('express');
const cookieParser = require('cookie-parser');
const morgan = require('morgan');
const path = require('path');
const session = require('express-session');
const flash = require('connect-flash');
const passport = require('passport');
const helmet = require('helmet');
const hpp = require('hpp');
require('dotenv').config();
...
if (process.env.NODE_ENV ==='production') {
  app.use(morgan('combined'));
  app.use(helmet());
  app.use(hpp());
} else {
  app.use(morgan('dev'));
}
...

 

helmet과 hpp가 방어해주는 취약점 목록은 공식 문서(15.7절 참조)에 나와 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.