본문 바로가기
Node.js

[보안] Express 보안 살펴보기

by Alkaloid 2021. 2. 16.
반응형

데이터베이스에서 SQL인젝션을 공부했다면, 이번에는 Node.js에서의 보안을 보려합니다.

사실은 앱과 서버 그리고 디비를 하면서 node.js가 이들을 연결해주는구나~ 까지만 알면서 개발을 했습니다.

 

공부를 하다보면 "아." 하면서 공부를 하다가 점차 익숙해 질때즘 "아!" 라는 깨달음을 얻는듯 하다가 "아?" 같은 상황이 많이 나타나기 때문에 node.js가 그냥 서버에서 사용하는구나 ~ 이정도였습니다.

 

express는 node.js를 한번쯤 접해본 사람들은 다 알고계실거라고 생각합니다.

 

express는 node.js의 프레임워크로 서버를 쉽게 구성할수 있게 도와준다.

※프레임워크는 클래스와 라이브러리의 집합이라고 생각하면 된다.

 

 

 

express보안이 궁금하면 홈페이지에 들어가서 확인하면 된다.

홈페이지에 들어가면 아래와 같은 화면이 나온다.

 

상단에 Advanced topics → Security best practices를 클릭해보면 

이런 화면이 나오는데 중간쯤에 파란 글씨로 보안지침이 적혀있다.

 

1. Express를 항상 최신버전으로 유지해야한다.

2. TLS = SSL= HTTPS를 사용해야한다. 셋 모두 웹 상호간에 암호화를 해주는것이다. (더 깊이 들어가면 복잡하니 이정도만 알아두자)

3. Helmet을 사용해야한다.

Helmet : 자주 발생하는 보안이슈를 해결해주는 모듈이다.

 

잠깐 Helmet의 사용방법

   1.터미널에 npm install --save helmet 입력하여 모듈을 다운받는다.

2.코드에 var helmet = require ('helmet')를 하여 불러온다.

3.코드에 app.use(helmet()) 을 넣어준다.

4. 쿠키를 안전하게 사용해야한다.

쿠키? 쿠키는 웹사이트에서 사용하는 인증메커니즘이다.

5. 권한 부여에 대한 무차별 대입 공격 방지해야한다.

6. dependencies를 안전하게 관리해야한다.

dependency? 웹 어플리케이션이 사용하는 여러가지 모듈이다. npm으로 설치하는 것을 의미한다.

7, 8번은 기타 보안사항이나 참고 사항이기 때문에 한번씩 들어가보는것이 좋을거같다.

반응형

'Node.js' 카테고리의 다른 글

React 와 Node 1-5 (비밀 정보 관리)  (0) 2021.02.15
React 와 Node 1-4 (body-parser)  (0) 2021.02.15
GET 과 POST ?  (0) 2021.02.09
React 와 Node 1-3  (0) 2021.01.28
React 와 Node 1-2  (0) 2021.01.27