Skip to content

정리: 기본 비밀번호로 메일에 접속하는 계정을 보여 주는 명령을 더하고, SCRAM 로그인도 마지막 사용 시각을 남긴다 - #55

Merged
mack-erel merged 2 commits into
mainfrom
mail-password-usage
Oct 19, 2026
Merged

mack-erel merged 2 commits into
mainfrom
mail-password-usage

Conversation

@mack-erel

Copy link
Copy Markdown
Contributor

요약

기본 비밀번호로 메일에 접속하는 계정을 보여 주는 관리 명령 mail-password-usage를 추가합니다. SCRAM 로그인도 마지막 사용 시각을 남기게 고칩니다. 회원 공통 수치 반영 계획 P5의 관측 단계이고, 마이그레이션은 없습니다.

왜

메일 프로토콜은 앱 비밀번호로 옮겨 가고, 기본 비밀번호로 접속하던 길은 2주 관측한 뒤 계정별로 끊습니다(결정 A). 그런데 지금은 그 관측 수단이 없었습니다.

바뀐 것

  • mail-password-usage --days=N
    • 기간 기본값은 14일이고 1~365일까지 받습니다.
    • 최근 N일 안에 기본 비밀번호로 메일에 접속한 계정을 보여 줍니다. 그 계정의 앱 비밀번호 수와 최근 사용 시각도 함께 나옵니다.
    • 관리 명령이라 REST·CLI·콘솔에 함께 생깁니다.
  • 판단 근거는 기본 비밀번호 자격증명의 last_used_at입니다. 이 값은 메일 표면 로그인에서만 갱신되고, 셀프서비스 웹 로그인은 갱신하지 않습니다.
  • SCRAM 로그인: scramAuthorize가 이 값을 갱신하지 않아서 SCRAM 클라이언트가 관측에서 빠지고 있었습니다. PLAIN 경로와 똑같이 갱신하게 고쳤습니다.

검증

  • npm run verify 통과. 테스트 2726개.
  • 다음 경우를 테스트로 확인했습니다.
    • 기본 비밀번호로 접속한 계정만 나옵니다. 앱 비밀번호로만 쓰는 계정과 접속이 없는 계정은 빠집니다.
    • 기간 밖의 사용은 빠지고, 기간 값 검증이 동작합니다.
    • SCRAM 로그인도 관측에 잡힙니다.

배포 영향

마이그레이션은 없습니다. 끊는 스위치와 차단 날짜는 관측을 마친 뒤 따로 정합니다.

🤖 Generated with Claude Code

mack-erel and others added 2 commits October 19, 2026 10:43
왜(회원 공통 수치 2026-10-18, 이 창 결정 A): 메일 프로토콜은 앱 비밀번호로 옮기고, 기본 비밀번호로 접속하던 길은
2주 관측 뒤 계정별로 끊는다. 그 관측 수단이 없었다.

- `mail-password-usage --days=N`(기본 14, 1~365): 최근 N일 안에 기본 비밀번호로 메일에 접속한 계정과 그 계정의
  앱 비밀번호 수·최근 사용. 관리 명령이라 REST·CLI·콘솔에 함께 생긴다. 마이그레이션 없음.
- 근거는 기본 비밀번호 자격증명의 `last_used_at`이다. 메일 표면의 로그인에서만 갱신되고 셀프서비스 웹 로그인은
  갱신하지 않는다. 그런데 SCRAM 로그인(`scramAuthorize`)은 이 값을 갱신하지 않아서 SCRAM 클라이언트가 관측에서
  빠졌다 — PLAIN 경로와 같이 갱신한다(베스트에포트).
- 끊는 스위치와 날짜는 관측 뒤에 정한다(OPERATIONS에 절차 자리를 만들었다).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- OPERATIONS: 관측 2주는 이 릴리즈가 배포된 날부터 센다(그 전엔 SCRAM 로그인이 기록을 남기지 않아 SCRAM 전용 클라이언트가
  빠진다), 비밀번호를 바꾸면 기록이 비워진다, 디렉터리(LDAP) bind 메일 로그인은 여기 나오지 않는다(감사 로그로 따로 본다).
  표면 목록에 JMAP을 맞췄다.
- `days` 인자를 number로(콘솔이 숫자 입력란을 그리고 검증이 먼저 거른다).
- scramKeysFor·scramAuthorize의 kind=0 행 순서에 id를 붙여 같은 밀리초 동률에서도 같은 행을 고른다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mack-erel
mack-erel force-pushed the mail-password-usage branch from c28af1a to fca366c Compare October 19, 2026 01:44
@mack-erel
mack-erel merged commit 71867fa into main Oct 19, 2026
9 checks passed
@mack-erel
mack-erel deleted the mail-password-usage branch October 19, 2026 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant