이메일 인증 SPF·DKIM·DMARC 완전정복

가짜 발신자 이메일을 막기 위해 세 가지 기술이 각각 어떤 역할을 맡고 있는지 순서대로 살펴보세요.

🎭

1. 이메일 발신자 위조(스푸핑) 문제

이메일을 주고받는 기본 프로토콜인 SMTP는 원래 발신자 주소를 검증하는 절차가 없습니다. 그래서 누구나 보낸사람 칸에 은행이나 회사 주소를 그대로 적어 보낼 수 있었고, 이것이 피싱 메일의 오래된 기반이 되었습니다.

📋

2. SPF: 발신 서버 화이트리스트

SPF(Sender Policy Framework)는 도메인 소유자가 DNS TXT 레코드에 "이 도메인 이름으로 메일을 보낼 수 있는 서버 목록"을 등록해두는 방식입니다. 수신 서버는 실제로 메일을 보낸 서버의 IP가 이 목록에 있는지 확인해 위조 여부를 가늠합니다.

✍️

3. DKIM: 전자서명으로 변조 확인

DKIM(DomainKeys Identified Mail)은 메일을 보낼 때 본문과 주요 헤더 일부를 발신 도메인의 개인키로 서명해 메일 헤더에 붙입니다. 수신 서버는 DNS에 공개된 공개키로 이 서명을 검증해, 발송 이후 내용이 바뀌지 않았는지 확인합니다.

📐

4. DMARC: 결과를 종합해 정책 지정

DMARC(Domain-based Message Authentication, Reporting & Conformance)는 SPF와 DKIM 검사 결과에 더해, 실제 보낸사람 주소와 인증에 쓰인 도메인이 일치하는지(정렬)까지 확인합니다. 인증에 실패한 메일을 그대로 둘지(none), 스팸함으로 보낼지(quarantine), 아예 거부할지(reject) 도메인 소유자가 직접 정책으로 지정할 수 있고, 실패 현황을 요약한 리포트도 받아볼 수 있습니다.

🧱

5. 세 기술의 관계

SPF와 DKIM은 각각 독립적으로 동작하는 개별 인증 수단이고, DMARC은 이 두 결과를 종합해 "인증에 실패하면 어떻게 처리할지"를 지시하는 상위 정책 계층입니다. 셋을 함께 갖춰야 스푸핑 방어 효과가 제대로 발휘됩니다.

🔎

6. 받은 메일에서 확인하는 방법

이메일 원본 헤더를 열어보면 "Authentication-Results"라는 필드에 spf=pass, dkim=pass, dmarc=pass처럼 각 검사 결과가 표시됩니다. 이 값이 fail이나 none으로 나온다면 발신자가 실제로 보낸 것이 맞는지 다시 한 번 의심해볼 필요가 있습니다.

보이스피싱·스미싱도 함께 확인해보세요

이메일뿐 아니라 전화·문자를 이용한 사기 수법이 궁금하다면보이스피싱 대처법도 확인해보세요.

메일 프로토콜 자체가 궁금하다면

SMTP, POP3, IMAP 같은 이메일 프로토콜의 차이가 궁금하다면이메일 프로토콜(SMTP·POP3·IMAP) 완전정복도 참고해보세요.

자주 묻는 질문

SPF만 설정해도 충분한가요?

SPF만으로는 충분하지 않습니다. SPF는 발신 서버의 IP만 검사하기 때문에, 메일이 전달(포워딩)되는 과정에서 검증이 깨지기도 합니다. DKIM으로 내용 서명을 더하고, DMARC으로 두 결과를 종합한 정책까지 갖춰야 실질적인 스푸핑 방어 효과를 기대할 수 있습니다.

DMARC 정책을 처음부터 reject로 설정해도 되나요?

보통은 권장하지 않습니다. 처음에는 none으로 설정해 리포트만 받아보며 정상적인 발신 경로가 잘못 차단되지는 않는지 확인한 뒤, 문제가 없다고 판단되면 점진적으로 quarantine, reject로 강화하는 방식이 안전합니다.