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()); ... 같은 방식으로 !