login-watchdog 코드 흐름도

로그인 감시 시스템의 40개 기능이 어떤 파일의 어떤 함수를 거쳐 가는지를 그림으로 보는 안내서입니다.

단원 카드를 열면 흐름도가 나옵니다. 흐름도의 카드(파일·함수 이름)를 누르면 실제 코드가 오른쪽에 열리고, 코드 패널의 너비는 경계선을 끌어서 조절할 수 있습니다.

Layer 1. 기반 기능

사용자가 직접 쓰는 화면 — 감시 대상

Layer 2. 탐지

"이거 수상한가?"를 판단만 하는 판사

Layer 3. 대응

실제로 잠그고·알리고·엮는 집행관·형사

Layer 4. 관리

자동 대응을 사람이 보고 되돌리는 최종 판단

Layer 5. 잠금 · 복구

잠그는 순간부터 풀어 주는 순간까지 — 영구 잠금, 이메일 복구, 시도 제한, 관리자 계정 잠금

Layer 6. 계정 보호

계정이 털리지 않게 하는 장치 — 비밀번호 변경·찾기, 이메일 인증, 계정 존재 여부 숨기기

Layer 7. 공격 방어 · 안정화

개별 취약점 보강과 운영 안정성 — L7 방어, IPv6 단위, DB 연결, 로그 정리

Layer 8. 관제 화면 · 운영 도구

화면이 동작하는 방식과 점검 도구 — 폴링, 즉시 반응, Next.js 관제 화면, 시뮬레이션 점검

Layer 9. 네트워크 계층 (Track D)

앱 앞에 정문·센서·방화벽을 세워 L3/L4 공격을 보고 막는 확장 — 로컬 Docker 단지에서만 동작

33. 네트워크 센서 단지 (gateway · 센서 · shipper)
요청이 정문(gateway)을 지나며 센서에 관찰되고, 경보가 서명되어 앱으로 배달되기 전까지의 코드 흐름도
34. 경보 수집 API + HMAC 서명
shipper가 보낸 경보가 서명 검증·형식 검사를 거쳐 저장되고, 보안 이벤트로 올라가기까지의 코드 흐름도
35. 교차 계층 상관분석 (NET-01 · CR-01 · CR-02)
네트워크 경보와 앱 이벤트를 한 사건으로 엮어 '정찰 → 침투' 같은 다계층 공격을 알아채는 코드 흐름도
36. 의심 로그인 차단 (CR-03)
스캐너·웹 공격 기록이 있는 IP의 '올바른 비밀번호 로그인'을 세션 만들기 전에 멈추고, 주인을 지키는 코드 흐름도
37. 플레이북 엔진 (대응 절차서 실행기)
규칙이 맞으면 조치를 정해진 순서로 실행하고, 한 단계가 실패해도 나머지를 멈추지 않으며 결과를 남기는 코드 흐름도
38. L4 차단 요청과 fw-agent (ipset)
앱이 '이 IP를 막아라'를 장부에 적고, fw-agent가 받아 가 정문에서 실제로 막고, 결과를 보고·해제하는 코드 흐름도
39. 장비 정지 감시 (heartbeat)
fw-agent·shipper가 살아 있다는 신호를 보내고, 멈추면 아무도 화면을 열지 않아도 Slack으로 알리는 코드 흐름도
40. Track D 관제 화면 + 시나리오 자동 점검
네트워크 경보·L4 차단·장비 상태가 관제 화면에 오기까지와, 공격을 재현해 대응이 실제로 일어났는지 확인하는 점검 도구의 코드 흐름도

Layer 10. 부록

프로젝트 전체를 찾아보는 지도