운영 점검표

릴리스마다 반복하는 NestJS 보안 점검표

보안 모범 사례는 코드 작성 규칙, 런타임 방어선, 자동 스캐닝을 한 흐름으로 묶을 때 운영에서 유지됩니다.

개발 중

DTO, Guard, ConfigModule 규칙을 코드 리뷰 기준에 포함합니다.

릴리스 전

의존성 스캔과 SAST 결과를 배포 승인 조건으로 확인합니다.

입력 검증

DTO와 ValidationPipe

허용 필드만 받고 타입 변환과 금지 필드 차단을 전역으로 적용합니다.

보안 헤더

Helmet 정책

CSP, HSTS, frameguard, noSniff로 브라우저 공격면을 줄입니다.

인증/권한

Passport와 Guard

신원 확인과 역할 검사를 핸들러보다 앞에서 실패하도록 구성합니다.

시크릿

외부 저장소와 최소 권한

API 키와 DB 비밀번호는 코드 밖에 두고 접근 범위를 작게 유지합니다.

의존성 스캔

npm audit와 Dependabot

알려진 취약점은 이슈로만 남기지 말고 패치 PR 흐름으로 연결합니다.

오류 노출

필터와 로그 분리

사용자 응답은 간결하게, 상세 원인과 추적 정보는 서버 로그에 남깁니다.

SAST

코드가 실행되기 전 탐지

  • Semgrep, SonarQube로 위험 패턴을 찾습니다.
  • 오탐은 규칙 조정으로 줄이고 리뷰 기준을 남깁니다.
DAST

실행 환경에서 공격면 확인

  • OWASP ZAP으로 인증 우회와 세션 문제를 점검합니다.
  • 운영 데이터가 아닌 검증 환경에서 반복합니다.
Dependency

외부 패키지 위험 관리

  • Snyk, Dependabot 알림을 배포 흐름에 연결합니다.
  • Node.js와 NestJS 패치 버전을 정기적으로 갱신합니다.
보안 점검 자동화 체크리스트는 문서가 아니라 반복 실행되는 파이프라인과 리뷰 습관으로 유지되어야 합니다.