·WhiteMail 보안팀#explainer#glossary#email-authentication
보안 용어 풀이 — SPF·DKIM·DMARC, 그리고 '통과'가 '안전'이 아닌 이유
이 리포트에 반복해서 등장하는 주제가 있습니다. "인증을 통과했다"가 "안전하다"는 뜻은 아니라는 것입니다. 이 글에서는 이메일 인증 3종이 각각 실제로 무엇을 검사하고, 빈틈이 어디에 있는지 평이하게 풀어봅니다.
세 가지 검사
- SPF (Sender Policy Framework) 가 답하는 질문: 이 메일은 도메인 소유자가 허가한 서버에서 발송됐는가? 도메인은 허용된 발송 IP 목록을 공개하고, 수신 측은 접속해 온 서버가 그 목록에 있는지 확인합니다. SPF는 사람이 아니라 경로를 검증합니다.
- DKIM (DomainKeys Identified Mail) 가 답하는 질문: 메시지가 도메인에 의해 서명됐고 전송 중 변조되지 않았는가? 발신자는 헤더와 본문을 개인키로 서명하고, 수신 측은 공개된 공개키로 검증합니다. DKIM은 서명의 무결성과 출처를 증명할 뿐, 의도는 증명하지 않습니다.
- DMARC 는 둘을 묶고 정책을 더합니다. 당신이 실제로 보는 From 주소의 도메인이 SPF나 DKIM을 통과한 도메인과 정렬(align)되는지 확인하고, 실패 시 수신 측이 어떻게 처리할지(none / quarantine / reject)를 지시합니다. DMARC는 "보이는 From 위조"의 빈틈을 메웁니다.
무엇을 잡고, 무엇을 못 잡는가
이 셋을 합치면 상당수의 도메인 스푸핑을 막습니다. 외부인이 보호된 도메인에서 온 것처럼 보이는 메일을 쉽게 위조하지 못합니다.
하지만 다음은 다루지 못합니다.
- 진짜지만 탈취된 계정(VEC) — 진짜 도메인이라 모든 검사가 통과합니다.
- 유사 도메인 — 당신 것과 닮았을 뿐인 다른 도메인은 자기 자신의 인증을 완벽하게 통과합니다.
- 의도 — 이 표준들 중 어느 것도 메일이 실제로 무엇을 요구하는지는 읽지 않습니다.
헤더를 읽는 누구에게나 이것이 핵심입니다. 인증은 봉투가 진짜임을 알려줍니다. 그 안의 요구가 정당한지는 아무것도 말해주지 않습니다. WhiteHat의 SA-02는 이 셋을 모두 검사하지만, 의도적으로 넷 중 하나의 에이전트일 뿐입니다. 이들을 통과하는 것은 필요조건이지 충분조건이 아니기 때문입니다.
한 줄 요약
SPF: 허가된 서버인가? DKIM: 서명됐고 변조되지 않았는가? DMARC: 보이는 발신자가 정렬되는가, 아니면 어떻게 처리할 것인가? 셋을 합치면: 봉투는 진짜다. 여전히 답하지 못한 것: 그 편지가 시키는 대로 해도 되는가?
인증 결과를 신원·링크·의도와 함께 보고 싶다면, 메일을 분석 콘솔에 붙여넣어 보세요.