포스트

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 8장 실무에서 꼭 필요한 보안 지식

보안은 별도 팀의 일이 아니라 백엔드 개발자의 기본 책임이다.
특히 인증, 인가, 입력 검증, 비밀 관리, 로그 처리처럼 애플리케이션 레벨 보안은 개발자가 가장 먼저 맞닥뜨린다.

최소한 알아야 할 것

1. 인증과 인가 구분

  • 인증: 누구인가
  • 인가: 무엇을 할 수 있는가

둘을 섞으면 권한 버그가 생긴다.

2. 비밀번호/토큰/세션

  • 비밀번호는 해시 저장
  • 토큰은 수명과 폐기 전략이 중요
  • 세션은 저장 위치와 확장성이 중요

3. 입력 검증

  • SQL Injection
  • XSS
  • Command Injection

같은 고전적 취약점은 여전히 유효하다.

4. 비밀 관리

  • .env에만 의존하지 않기
  • 운영 비밀은 전용 저장소/시크릿 매니저 사용
  • 로그에 비밀번호/토큰 출력 금지

실무에서 더 중요한 포인트

보안은 기능 추가가 아니라 실패 시 피해 범위를 줄이는 설계다.

  • 최소 권한
  • 만료
  • 추적 가능성
  • 감사 로그

같은 개념이 같이 가야 한다.

정리

보안은 “특정 취약점 몇 개를 안다”보다,
민감한 데이터를 어떻게 다루고, 권한을 어떻게 제한하고, 실패 시 피해를 어디까지 막을지 설계하는 능력이다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

댓글

아직 댓글이 없습니다