본문 바로가기
C.W.K.
Stream
Lesson 05 of 05 · published

Stack 맵 — 배운 모든 게 plug 되는 곳

~15 min · stack-map, defense-in-depth, summary

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

마지막 레슨이니까 큰 그림을 보자. 이 퀘스트의 조각들이 진짜 솔로 개발자 stack 의 어디에 놓이는지.

Layered stack (외부 → 내부)

Layer하는 일퀘스트 참조
1. 네트워크 perimeterlistening 포트에 닿을 수 있는 사람을 제한Track 3 (bind 주소), Track 4 (Tailscale)
2. Edge 방어WAF, fail2ban, rate limit, geo-blockTrack 6 (rate limit, blacklist)
3. Per-request auth 게이트PIN middleware (또는 passkey, 또는 OAuth)Track 5 (PIN), Track 10 (passkey/OAuth)
4. Session 관리쿠키, 만료, revocationTrack 5 + Track 7 (killswitch)
5. Authorization 체크"이 인증된 사용자가 이거 할 수 있음"Track 2 (AuthN vs AuthZ)
6. Data-at-rest 암호화1–5 가 전부 실패했을 때의 방어Track 10 (이 레슨)
7. 가시성 & 응답대시보드, audit, killswitchTrack 8, Track 7
8. 시크릿 위생LLM 과 repo 에서 자격증명을 떼어놓기Track 9

너한테 맞는 조합

모든 layer 가 필요한 건 아니야. threat model 에 맞는 layer 가 필요한 거지.

  • 혼자 쓰는 내부 앱, Tailscale, 걸린 게 적은 데이터: Layer 1, 3 (PIN), 4, 7. 나머지는 건너뛰어.
  • 파트너와 공유하는 솔로: Layer 5 (per-user authZ) 와 layer 8 (전부 placeholder 로) 을 추가.
  • Public 인터넷 노출: Layer 2 (WAF, rate limit) 를 추가하고, layer 3 을 passkey 로 올리고, layer 6 (민감한 field 암호화) 을 붙여.
  • 유료 사용자: Layer 3 → hosted IdP, layer 7 → 진짜 audit 보존, 공식 incident response runbook.

이제 네가 아는 것

  • "내가 뭐라고" 가 위험한 마인드셋인 이유.
  • 인증과 authorization 의 정확한 차이.
  • 0.0.0.0 이 config 에서 가장 결과 큰 줄인 이유.
  • Tailscale 의 강점과 분실 폰 윈도우.
  • 실제로 방어 가능한 100줄 PIN layer 빌드 법.
  • bcrypt 와 lockout 이 4자리 PIN 을 인터넷에 닿고도 살아남게 하는 이유.
  • 정작 중요한 순간에 15초 만에 전부 revoke 하는 법.
  • 실제로 볼 대시보드로 보안을 보이게 하는 법.
  • AI 에디터가 개발 루프에서 시크릿이 새는 가장 큰 통로인 이유.
  • PIN 으로 부족해지는 순간, 그리고 그다음에 뭘 더할지.

External links

Exercise

앱마다 8개 layer 중 지금 가진 것과 일부러 건너뛴 것을 적어. 이 연습의 핵심은 목록으로 드러내는 거야. 이름 붙인 gap 은 방어할 수 있는 gap 이고, 이름 없는 gap 은 터지기를 기다리는 버그거든. 제일 급한 gap 하나를 다음 주 작업으로 잡아.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.