상황

application.yml 또는 docker-compose.yml 파일에 JWT_SECRET이 직접 노출 됨

문제점

보안에 심각한 문제임으로 github에 노출 시켜선 안됨

의사 결정

  1. .env파일을 만들고 .gitignore에 .env 추가 (비밀키 github 올라가는 것 방지)
  2. 서칭 결과 실제 운영 환경 예를 들면 자체 서버, aws, kubernetes 같은 경우 운영 환경 환경 변수로 비밀키 설정 해놓는 경우가 많아 local에서는 default값으로 변경
  3. 기본값 설정 시 JWT Secret은 일정 길이 이상이어야 하는 요구사항이 있어, 보안성을 고려해 적절한 길이의 키로 재설정

구현 방식

application-docker.yml

jwt:
  secret: ${JWT_SECRET:MySuperSecureJwtSecretKey123456!}

결과 및 회고

실수로 비밀키가 GitHub에 노출될 위험을 사전에 제거했으며, 빠르게 개발하는 과정에서도 추후 운영 환경에서는 환경변수로 안전하게 비밀키를 구성해야 한다는 점을 명확히 인지하게 되었다