본문 바로가기

T.I.L

23-06-26 T.I.L SQL config 암호화 설정

문제설명

config.json은 mysql의 비밀번호와 호스트가 노출이 되어있다. 만약 깃허브에 공유 작업 레포지토리로 올리게 된다면 안 좋은 결과로 해킹 및 예기치 못한 문제가 발생할 가능성이 있다. 이를 방지하고자 한다.
 

시도

gitignore은 깃허브에 push할 때 특정 파일을 commit할 수 없고 변경사항으로 인식하지도 않는다. 그리고 dotenv라는 패키지 프로그램을 통해서 config.json의 역할을 암호화 한채로 사용할 수 있다.

해결

npm install dotenv --save

먼저 dotenv의 패키지 프로그램을 설치한다.

S3_BUCKET="YOURS3BUCKET"
SECRET_KEY="YOURSECRETKEYGOESHERE"

작업 폴더에 <.env> 파일을 만들고 그 파일에 위의 코드를 기입한다.

config폴더에 config.js를 만들고 

require("dotenv").config()를 기입한다.

config.js에 consol.log(process.env)를 하고 암호화 하고 싶은 value를 process.env.key로 대신 기입한다.

알게된 점

퍼블릭으로 만든 레포지토리가 나쁜마음을 먹는다면 악용될 수도 있다는 점을 알았다.

gitignore로 git에 올리는 파일을 선별할 수 있다는 것을 알았다.

.env로 중요한 데이터를 암호화 할 수 있게 되었다.