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
교체

비밀값 변경 후 재배포와 재시작 경로를 확인한다.