본문으로 건너뛰기
>_ITDITD웹 보안 플랫폼

용어 사전

SPF / DKIM / DMARC란 — 도메인을 위장 메일로부터 지키는 세 가지

SPF, DKIM, DMARC는 수신 측이 당신의 도메인에서 온 메일이 진짜인지 검증할 수 있게 하는 세 가지 DNS 설정입니다. 이들 없이는 당신의 이름으로 보내진 피싱 메일을 막을 수 없습니다. 각각의 역할, 메일이 검증되는 과정 도해, 안전하게 설정하는 법(DMARC는 p=none부터 시작)을 쉽게 설명합니다.

게시 2026-06-08 업데이트 2026-06-08 3분 읽기

"당신도 모르게 당신 도메인의 이름으로 피싱 메일이 나간다" — SPF / DKIM / DMARC가 그것을 막습니다. 각각의 역할과 안전하게 설정하는 법을 설명합니다.

각각의 역할

설정역할 (한 줄)
SPF이 도메인을 위해 어느 서버가 보낼 수 있는지를 DNS에 선언
DKIM메일이 변조되지 않았고 정당한 출처임을 증명하는 암호학적 서명을 추가
DMARCSPF/DKIM이 실패하면 무엇을 할지 선언하고 보고서를 받음 (셋을 묶는 쐐기돌)

메일이 검증되는 과정

수신 측(Gmail 등)은 들어온 메시지에 대해 SPF와 DKIM을 검사한 뒤, 당신의 DMARC 정책을 적용해 "통과 / 격리 / 거부"를 결정합니다.

들어온 메일 (당신 도메인의 이름으로)
↓ 수신 측이 검증
SPF: 발신 서버가 허가되었는가?
DKIM: 서명이 유효하고 변조되지 않았는가?
↓ 결과를 DMARC 정책과 대조
DMARC: 실패 시 → 통과 / 격리 / 거부
수신 측이 SPF/DKIM을 검사한 뒤 DMARC 정책이 판단한다. 셋이 모두 맞물려야 작동한다.

그래서 SPF와 DKIM만으로는 "검사는 하지만 아무것도 하지 않을" 수 있고, DMARC 정책이 있어야 비로소 "위장을 막는" 일이 됩니다.

안전하게 설정하는 법

1

올바른 SPF 레코드 하나

모든 정당한 발신자(자체, 메일 서비스 등)를 허가하세요. 도메인당 SPF 레코드는 하나로 유지하세요(여러 레코드는 망가지기 쉽습니다).

2

DKIM 서명 활성화

메일 플랫폼에서 DKIM을 켜고 공개 키를 DNS에 게시해, 정당한 메일이 서명되게 하세요. 발신에 쓰는 서비스가 여럿이라면 각각 별도 셀렉터로 서명을 켜, 한 곳이라도 서명이 빠져 DMARC에서 탈락하는 일이 없게 하세요.

3

DMARC를 p=none에서 시작

곧바로 거부하지 마세요. p=none(모니터링만) + 보고로 시작해, 정당한 메일이 누락되지 않는지 확인하세요. 보고서를 받을 주소(rua)를 반드시 지정해야 무엇이 통과하고 무엇이 실패하는지 실제로 보입니다 — 주소가 없으면 p=none은 그저 켜 두기만 한 상태입니다.

4

점진적으로 조이기

보고서에서 누락되는 정당한 발신자가 없음이 확인되면, p=quarantinep=reject 로 옮겨, 마침내 "위장은 거부됨"에 도달하세요.

본 사이트의 견해: 당신의 사용자도 함께 지키는 것이다

SPF/DKIM/DMARC는 당신의 메일이 도착하는 것만의 문제가 아닙니다 — 그것은 당신의 도메인을 사칭하는 피싱으로부터 당신의 사용자를 지킵니다. 피싱은 결국 자격 증명과 키 탈취로 가는 입구입니다. 많은 도메인이 SPF/DKIM에서 멈추고 DMARC를 집행(reject)까지 올리지 않습니다. p=none에서 안주하지 말고, 보고서를 읽고 reject까지 끝까지 올려야 의미가 있습니다.

다음으로 읽기

FAQ

QSPF / DKIM / DMARC는 무엇을 위한 것인가요?
A

수신 측(Gmail 등)이 당신의 도메인에서 온 메일이 진짜인지 검증할 수 있게 하기 위함입니다. 이들 없이는 누구나 당신의 이름으로 위장 피싱을 검증 없이 보낼 수 있고, 당신 도메인의 평판이 나빠집니다.

Q세 가지의 차이는 무엇인가요?
A

SPF는 '이 도메인을 위해 어느 서버가 보낼 수 있는가'를 선언하고, DKIM은 '변조되지 않았음을 증명하는 암호학적 서명'이며, DMARC는 'SPF/DKIM이 실패하면 무엇을 할지, 그리고 보고'입니다. DMARC가 SPF/DKIM을 묶어 실효성을 부여합니다.

Q설정할 때 무엇을 주의해야 하나요?
A

조이기 전에 모든 정당한 발신자(메일 서비스 등)를 허가하세요. 특히 DMARC는 곧바로 reject로 가면 정당한 메일이 누락될 수 있으니, p=none(모니터링만)에서 시작해 보고서를 읽은 뒤 p=quarantine → p=reject로 옮기세요.