NestJS · Configuration Security
누락·타입 오류·비밀 노출을 애플리케이션 시작 전에 막는다
process.env를 직접 흩뿌리는 대신 typed config와 검증 스키마를 거쳐 도메인 코드로 전달한다.
DATABASE_URL
민감 연결 정보
저장소에는 host가 포함될 수 있으므로 마스킹하고 필수 값으로 검증한다.
JWT_SECRET
서명 비밀
짧거나 재사용된 토큰은 거부하고 rotation 절차를 둔다.
PORT
공개 실행 설정
환경마다 다를 수 있지만 비밀은 아니므로 타입과 기본값만 검증한다.
FEATURE_FLAG
동작 분기
출시와 롤백을 제어하되 타입과 기본값을 명확히 둔다.
1
분류
공개 설정, 민감 설정, feature flag를 나눈다.
2
검증
ConfigModule 로딩 시 schema로 누락과 형식을 실패시킨다.
3
주입 제한
서비스는 typed provider를 통해 값에 접근한다.
4
노출 차단
로그와 에러 응답에서 token, password, secret을 마스킹한다.
5
교체
비밀값 변경 후 재배포와 재시작 경로를 확인한다.