codemate
가이드

스타트업 보안 체크리스트

스타트업이 꼭 지켜야 할 기본 보안 체크리스트. 해킹, 개인정보 유출을 막는 필수 보안 조치들을 정리했습니다.

코드메잇
·12

보안

"우리는 작은 스타트업이라 해커들 관심 없을 거예요."

이건 가장 위험한 생각이에요. 작은 회사일수록 보안이 취약해서 오히려 공격 대상이 되기 쉬워요.

오늘은 스타트업이 최소한으로 지켜야 할 보안 체크리스트를 정리해드릴게요.


왜 보안이 중요한가요?

중요성

실제 사례

  • A 스타트업: DB 유출로 고객 10만 명 개인정보 노출. 과태료 + 신뢰 상실로 폐업.
  • B 스타트업: 랜섬웨어 감염. 백업 없어서 데이터 전부 손실.
  • C 스타트업: 관리자 페이지 해킹. 결제 정보 탈취.

보안 사고의 비용

  • 직접 비용: 복구, 과태료, 법적 비용
  • 간접 비용: 신뢰 하락, 고객 이탈, 기업 가치 하락

작을 때 보안에 투자하는 게 훨씬 저렴해요.


기본 보안 체크리스트

체크리스트

1. HTTPS 필수

왜? HTTP는 데이터가 암호화 안 됨. 중간에서 가로챌 수 있음.

어떻게?

  • SSL 인증서 적용 (Let's Encrypt 무료)
  • 모든 페이지 HTTPS 강제
  • HTTP → HTTPS 리다이렉트

2. 비밀번호 안전하게 저장

안 좋은 예:

// 절대 하면 안 됨
password = "1234"
db.save(password)

좋은 예:

// 해싱 후 저장
hashedPassword = bcrypt.hash("1234")
db.save(hashedPassword)

체크:

  • 비밀번호 해싱 (bcrypt, Argon2)
  • 평문 저장 절대 금지
  • 솔트(Salt) 적용

3. SQL Injection 방지

안 좋은 예:

SELECT * FROM users WHERE id = '사용자입력'

공격자가 ' OR '1'='1 입력하면 모든 데이터 노출.

좋은 예:

SELECT * FROM users WHERE id = ?
-- 파라미터 바인딩 사용

체크:

  • 파라미터 바인딩 사용
  • ORM 사용 (직접 쿼리 지양)
  • 입력값 검증

4. XSS (Cross-Site Scripting) 방지

문제: 사용자가 <script>악성코드</script> 입력하면 다른 사용자에게 실행됨.

해결:

  • 사용자 입력 이스케이프
  • CSP (Content Security Policy) 설정
  • React 등 프레임워크 기본 보호 활용

5. 인증/인가 제대로

체크:

  • JWT 안전하게 관리
  • 토큰 만료 시간 설정
  • 권한 체크 철저히 (관리자/일반 사용자)
  • 로그아웃 시 토큰 무효화

6. 민감 정보 보호

절대 하면 안 되는 것:

  • 소스코드에 API 키 하드코딩
  • .env 파일 깃에 커밋
  • 로그에 비밀번호 출력

해야 하는 것:

  • 환경변수로 관리
  • .gitignore에 민감 파일 추가
  • 시크릿 관리 서비스 사용 (AWS Secrets Manager 등)

7. 접근 제어

체크:

  • 관리자 페이지 IP 제한
  • 불필요한 포트 닫기
  • SSH 키 인증 사용
  • 루트 계정 직접 접속 금지

8. 백업

체크:

  • 자동 백업 설정
  • 백업 복원 테스트
  • 백업 데이터 암호화
  • 최소 3곳에 보관 (3-2-1 규칙)

개인정보보호법 준수

개인정보

필수 조치

1. 개인정보 처리방침 게시

  • 수집 항목
  • 수집 목적
  • 보유 기간
  • 제3자 제공 여부

2. 수집 동의

  • 필수/선택 항목 구분
  • 명시적 동의 받기

3. 암호화

  • 비밀번호 해싱
  • 주민번호 등 고유식별정보 암호화
  • 전송 시 SSL/TLS

4. 접근 기록

  • 개인정보 접근 로그 기록
  • 최소 6개월 보관

과태료

위반 내용과태료
안전조치 의무 위반최대 5억원
처리방침 미게시최대 1천만원
동의 없이 수집최대 5천만원

외주 개발 시 보안

외주 보안

계약 시 명시

보안 조항 예시

1. 개발 환경 보안

  • 테스트 데이터 실제 데이터 사용 금지
  • 개발 완료 후 로컬 데이터 삭제

2. 코드 보안

  • OWASP Top 10 취약점 없을 것
  • 하드코딩된 시크릿 금지

3. 인수인계

  • 접근 권한 즉시 회수
  • 보안 취약점 목록 전달

인수인계 시

  • 모든 계정 비밀번호 변경
  • 외주 개발자 접근 권한 삭제
  • API 키 교체
  • 보안 점검 실시

무료 보안 도구

취약점 스캔

  • OWASP ZAP: 웹 취약점 스캔 (무료)
  • Snyk: 코드/라이브러리 취약점 (무료 티어)

모니터링

  • Sentry: 에러 모니터링 (무료 티어)
  • CloudFlare: DDoS 방어 (무료 티어)

비밀번호 관리

  • 1Password: 팀 비밀번호 관리
  • Bitwarden: 오픈소스 대안

보안 사고 대응 플랜

대응

사고는 예방만큼 대응도 중요해요.

대응 순서

단계행동내용
1. 탐지이상 징후 발견알림 확인, 로그 점검
2. 차단추가 피해 방지시스템 격리, 접근 차단
3. 분석원인 파악피해 범위 확인, 침입 경로 추적
4. 복구시스템 복구백업에서 복원, 패치 적용
5. 보고내부/외부 보고필요 시 당국 신고, 고객 통지
6. 개선재발 방지보안 강화, 프로세스 개선

마치며

보안은 **"해도 되고 안 해도 되는 것"**이 아니에요. 필수예요.

최소한 이것만은:

  • HTTPS 적용
  • 비밀번호 해싱
  • SQL Injection 방지
  • 정기 백업
  • 접근 권한 관리
  • 개인정보 처리방침

보안 점검이 필요하시면 무료 상담을 통해 취약점을 진단받아 보세요.


OWASP Top 10 (2021) 요약

OWASP

가장 흔한 웹 보안 취약점 10가지예요.

순위취약점설명대응
1Broken Access Control권한 없이 접근권한 체크 철저히
2Cryptographic Failures암호화 실패HTTPS, 해싱 적용
3InjectionSQL/코드 주입파라미터 바인딩
4Insecure Design설계 결함보안 설계 리뷰
5Security Misconfiguration잘못된 설정기본값 변경, 불필요 기능 제거
6Vulnerable Components취약한 라이브러리정기 업데이트
7Auth Failures인증 실패MFA, 세션 관리
8Data Integrity Failures무결성 실패서명, 검증
9Logging Failures로깅 부재모니터링 강화
10SSRF서버 요청 위조URL 검증

단계별 보안 강화 로드맵

1단계: 즉시 적용 (1주)

  • HTTPS 적용
  • 비밀번호 해싱 확인
  • .env 파일 gitignore 확인
  • 관리자 페이지 접근 제한
  • 에러 메시지에 민감정보 노출 확인

2단계: 기본 강화 (1개월)

  • SQL Injection 점검
  • XSS 방어 적용
  • CORS 설정 확인
  • 입력값 검증 강화
  • 로그인 시도 제한
  • 자동 백업 설정

3단계: 심화 (3개월)

  • 침투 테스트 실시
  • 보안 교육 진행
  • 취약점 스캔 자동화
  • WAF 도입 검토
  • 보안 정책 문서화

해킹 시나리오별 대응

시나리오 1: DB 유출

DB 유출 대응

증상: 고객 데이터가 외부 노출, 다크웹에서 데이터 판매

즉시 조치:

  1. DB 접근 차단
  2. 비밀번호 전체 리셋
  3. 유출 범위 파악
  4. 관계 기관 신고 (24시간 내)
  5. 고객 통지

사후 조치: 침입 경로 분석 → 보안 패치 적용 → 재발 방지책 수립

시나리오 2: 랜섬웨어

랜섬웨어 대응

증상: 파일 암호화, 몸값 요구

즉시 조치:

  1. 네트워크 격리
  2. 감염 범위 파악
  3. 백업 확인
  4. 경찰/KISA 신고

중요: ❌ 몸값 지불 금지 (복구 보장 없음) ✅ 백업에서 복원

시나리오 3: 디도스 공격

디도스 대응

증상: 서비스 마비, 트래픽 폭주

즉시 조치:

  1. CloudFlare 등 CDN 활성화
  2. 의심 IP 차단
  3. 서버 증설 (임시)
  4. ISP 연락

예방: Rate Limiting 설정, CloudFlare/AWS Shield 사전 설정


보안 인증/컴플라이언스

스타트업에 필요한 인증

인증필요 상황비용기간
ISMS정보통신 서비스1,000~3,000만원6개월+
ISO 27001글로벌 진출2,000~5,000만원6개월+
PCI DSS카드 결제3,000만원+6개월+
SOC 2B2B SaaS3,000만원+6개월+

법적 요구사항

법률의무 사항
개인정보보호법처리방침 게시, 동의 받기, 암호화(고유식별정보), 접근 기록 6개월 보관
정보통신망법이용자 100만 이상 ISMS 의무, 보안서버(SSL) 필수

함께 읽으면 좋은 글


Photo by Unsplash

모든 가이드 보기 →