애플리케이션 보안

보안 체크리스트

meellon 2026. 7. 3. 06:00

학습 목표

1~15편 주제를 단계·계층배포 전 체크리스트통합할 수 있다.

SDLC 게이트(설계·빌드·스테이징·운영)에서 자동·수동 점검구분할 수 있다.

CI/CD 보안 파이프라인(시크릿 스캔·SAST·의존성·스테이징 검증) 개요를 설명할 수 있다.

OWASP ASVS 레벨시리즈 범위 매핑 개념을 설명할 수 있다.

Go/No-Go 배포 판단·예외 기록 프로세스를 설명할 수 있다.

문제 상황

  • 각 편 체크리스트있지만 프로덕션 배포 통합 없음
  • 금요일 17시 보안 수동 리뷰병목·누락 반복
  • staging TLS ·debug trueprod 설정 드리프트 미발견
  • JWT 만료 없음(5편)·SQLi 테스트 없음(9편)·Vault 미연동(13편) — 개별 이슈알지만 게이트 없음
  • 감사 로그 스키마 없음(15편) — 사고 조사 불가

Part 4 운영 보안 마무리13~15편 통제1~12편 설계·취약점 방어묶어 배포 게이트운영한다.

체크리스트는 완벽한 보안이 아니라 누락 방지·재현 가능한 점검이다. Zero Trust·공급망·클라우드 IAM은 Part 5에서 확장한다.

1. 시리즈 맵과 체크리스트 범위

Part 체크리스트 도메인
1 1~3 CIA·원칙·TLS전송·신뢰 경계
2 4~8 인증·인가 — 세션·JWT·OAuth·OIDC·RBAC
3 9~12 OWASP — Injection·XSS·CSRF·BAC·misconfig
4 13~15 운영 — 시크릿·API·감사·PII
  • 2편 원칙(least privilege, defense in depth, fail secure) — 모든 항목 판단 기준
  • Network HTTPS(2_Network) — 3편 TLS중복 점검 통합
  • Platform Secret 주입(5_Platform) — 13편 저장함께 배포 기재

2. SDLC 단계별 게이트

단계 시점 대표 점검 자동화
Design RFC·API 스펙 threat model, authz matrix 템플릿·리뷰
Build PR·merge gitleaks, SAST, dep scan, unit CI 필수
Pre-deploy staging → prod 통합 체크리스트, DAST smoke 스크립트 + sign-off
Operate prod audit·alert·rotation·drill SIEM·runbook
  • shift left9편 Injection 테스트배포 이 아니라 PR에서
  • staging = prod parityCORS·rate limit·TLS 버전 동일 검증

3. 배포 전 통합 체크리스트

아래는 1~15편 핵심 묶은 최소 세트. 상세는 체크리스트 **참조.

3.1 기반·전송 (Part 1)

항목 확인
TLS 1.2+ / HSTS prod 강제, cert 만료 알람 3
Cipher suite forward secrecy, weak 제거 3
Fail secure auth 장애deny 2
Security headers CSP, X-Frame, nosniff 10, 12

3.2 인증·인가 (Part 2)

항목 확인
Session / JWT httpOnly, Secure, 짧은 TTL, alg 고정 4, 5
OAuth / OIDC Auth Code + PKCE, state, nonce 6, 7
Authz 요청 검사, RBAC·ownership 8, 11
Admin 별도 role, MFA, 감사 8, 15

3.3 애플리케이션 취약점 (Part 3)

항목 확인
Injection prepared stmt, ORM, 입력 검증 9
XSS escape, CSP, no innerHTML 10
CSRF token / SameSite 10
BAC / IDOR object-level check, no guessable id only 11
SSRF URL allowlist, no metadata IP 12
Components dep CVE scan, pin version 12
Misconfig debug off, default cred 없음, error safe 12, 14

3.4 운영 (Part 4)

항목 확인
Secrets Vault/SM, no git, rotate 13
API rate limit, schema, CORS allowlist 14
Audit event schema, auth events, append-only 15
PII mask at source, no secret in log 15
Trace trace_id on audit + app 15
# code/pre-deploy-checklist.example.yaml (발췌)
version: "1.0"
service: payment-api
environment: production

gates:
  build:
  - secret_scan: pass          # gitleaks / trufflehog
  - dependency_cve: no_critical
  - unit_tests: pass
  staging:
  - tls_min: "1.2"
  - debug_enabled: false
  - auth_smoke: pass           # login + 403 negative
  - rate_limit_smoke: pass
  production:
  - checklist_signed_by: [tech-lead, security-champion]
  - audit_stream: enabled
  - rollback_plan: documented

4. CI/CD 보안 게이트

게이트 도구 실패
Secret scan gitleaks, GitHub secret scanning merge block
SAST Semgrep, CodeQL block or warn by severity
Dependency Dependabot, Trivy, OSV CVE critical block
Container image scan, non-root deploy block
IaC checkov, tfsec plan block
Staging smoke auth, 401/403, health promote block
# code/ci-security-gate.example.yml (발췌)
name: security-gates
on: [pull_request]
jobs:
  secret-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: gitleaks/gitleaks-action@v2
  sast:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: returntocorp/semgrep-action@v1
  dependency:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pip audit --strict   # or npm audit at high
  • warn-only SAST소음만 — critical반드시 block
  • fork PR — secret 없음; workflow 설계 주의 (13편)

5. 자동화 vs 수동 점검

자동 (CI·스크립트) 수동 (리뷰·침투)
시크릿·CVE·SAST threat model 갱신
TLS cipher scan authz matrix 완전성
staging smoke 비즈니스 로직 우회
checklist YAML lint 예외 승인·기한
  • security champion — 팀당 1명, 배포 서명 권한 아님 필수
  • 예외 — Jira ticket, 만료일, 완화 조치 문서화; 영구 예외 금지

6. ASVS와 레벨 선택

OWASP ASVS (Application Security Verification Standard) — 요구사항 체크리스트 표준.

ASVS 레벨 적용 시리즈 대응
L1 일반 웹·API Part 1~3 대부분
L2 민감 데이터·B2B + Part 4 운영·감사
L3 고위험·규제 + Part 5 ZT·supply chain·IAM
  • 시리즈 1~16편L1~L2 핵심 커버; L3·인프라 심화17~19편
  • ASVS 항목 ID내부 체크리스트 매핑감사· 추적

7. Go/No-Go 배포 판단

Go No-Go
모든 block 게이트 pass critical CVE 미패치
staging 체크리스트 100% or 승인 예외 audit 스트림 미연결
rollback·on-call 확인 prod only 설정 미검증
침해 공지 채널 대기 시크릿 평문 잔존 의심
배포 당일 (요약)
1. CI green + staging checklist signed
2. prod config diff review (no debug, TLS on)
3. deploy → smoke (auth, health, sample audit event)
4. 30min watch: error rate, auth failures, 429
  • hotfix최소 게이트 — secret scan + smoke; 사후 체크리스트 보완

8. Part 4 마무리 체크리스트

항목 확인
Unified sheet Part 1~4 or YAML
CI gates secret, dep, SAST block 정책
Staging parity TLS, auth, rate limit 동일
Sign-off champion + 예외 ticket
ASVS map L1/L2 문서
Operate audit·rotation·SIEM 연동
안티패턴  
체크리스트만 있고 게이트 없음 PR에서 자동 실패
수동 전부 피로·누락
prod 점검 staging 동일 스크립트
예외 구두 승인 ticket·만료 없음

9. 정리

  • 체크리스트1~15편 분산 통제배포 게이트통합
  • SDLC — Design·Build·Pre-deploy·Operate 단계다른 도구
  • 자동 + 수동 — CI blockauthz 리뷰 병행
  • ASVS외부 기준내부 매핑
  • Part 4 완료 계층 운영 보안 기반 확보; Part 5에서 인프라·공급망·신뢰 모델 확장

다음에 다룰 것

  • Zero Trust
  • never trust always verify, ZTNA, micro-segmentation

해당 내용은 OWASP ASVS, OWASP Cheat Sheet Series, NIST SSDF SP 800-218 의 내용을 기반으로 합니다.

'애플리케이션 보안' 카테고리의 다른 글

Supply Chain 보안  (1) 2026.07.05
Zero Trust  (1) 2026.07.04
로깅과 감사  (0) 2026.07.02
API 보안  (0) 2026.07.01
시크릿 관리  (0) 2026.06.30