계정 및 접근 권한
- 고객 로그인에 MFA를 제공하거나 필수로 요구하세요. 특히 개인정보나 결제 정보를 보유한 계정이라면 더욱 그렇습니다.
- 최소 권한 원칙(least privilege)을 적용하세요 — 각 사용자와 서비스 계정에 꼭 필요한 접근 권한만 주세요.
- 인증 정보나 API 키를 코드나 저장소에 하드코딩하지 마세요. secrets manager를 사용하세요.
데이터 취급
- 실제로 필요한 최소한의 개인정보만 수집하세요(데이터 최소화 — APP 3).
- 비밀번호는 강력한 솔트(salt) 적용 알고리즘으로 해시하세요 — 절대 평문으로 저장하지 마세요.
- 민감한 데이터는 전송 중(HTTPS/TLS)과 저장 시 모두 암호화하세요.
- 더 이상 필요 없는 개인정보는 삭제하거나 비식별화하세요(APP 11).
환경 및 운영
- 개발·테스트·운영 환경을 분리하고, 개발/테스트에는 실제 고객 데이터를 절대 사용하지 마세요.
- 의존성과 프레임워크를 패치된 상태로 유지하고, 알려진 취약점을 모니터링하세요.
- 접근과 변경에 대한 감사 로그(audit log)를 남기고, 로그 자체도 보호하세요.
- 데이터와 설정을 백업하고, 사본 하나는 오프라인으로 보관하며, 복원을 정기적으로 테스트하세요.
출시 전에
서비스를 개시하기 전에: MFA를 켜고, 시크릿을 코드에서 빼내고, 실제 데이터를 테스트에서 제거하고, 백업을 테스트하고, 유출이 발생했을 때의 대응 계획을 준비하세요('개인정보 보호 의무' 참고).