TobeSteady

이메일 인증 방법과 그 필요성 본문

ETC/ETC

이메일 인증 방법과 그 필요성

NKUT 2023. 11. 24. 20:48

이메일 인증 방법

1. DMARC

2. DKIM

3. SPF

- 해당 인증 방법은 이메일이 발신자라고 자칭하는 도메인(URL)에서 발송되었는지 확인하여 이메일 발신자를 인증함.

- 해당 방법들이 올바르게 설정하지 않은 도메인에서는 이메일이 스팸으로 격리되거나 수신자에게 전달되지 않을 수 있음.

- 또한, 스팸 발송자가 자신을 사칭할 위험이 있음.

- DKIM과 SPF는 합법성을 인증하는데 도움

- DMARC는 실패한 이메일을 "스팸"으로 표시하거나 이메일을 전달하거나 아예 삭제하는 등 DKIM 또는 SPF가 실패할 때 메일 서버에서 수행해야 할 작업을 알려줌.

- 웹 호스팅 서비스에서 반드시 자동으로 해당 인증 방법이 수행되지는 않음

- 이메일을 보내지 않는 도메인이라도 최소한 DMARC 레코드가 있어야 스팸 발송자가 해당 도메인에서 이메일을 보낸 것처럼 가장할 수 없음

 

이메일 인증 목적 : 이메일 보안 위험을 방지

- 이메일 서비스를 운영하는 업체들은 본인의 고객들에게 안전한 이메일만 전달이 될 수 있도록 저마다의 방식으로 발신자의 신뢰도를 검증함

- 여기서 이메일 서비스의 신뢰도 검증을 통과하지 못한 발신자가 보내는 이메일은 수신을 차단하거나 스팸으로 분류

- 스팸 발송자, 피싱 공격자 등 권한이 없는 당사자가 소유하지 않은 도메일을 대신하여 이메일을 보내는 것을 막을 수 있음.

 

1. DMARC : 도메인 기반 메시지 인증 보고 및 적합성

- DMARC는 수신 이메일 서버에 SPF 및 DKIM을 확인한 후 결과에 따라 어떤 작업을 수행해야 하는지 알려줌.

- 도메인의 DMARC 정책은 다양한 방법으로 설정할 수 있으며, 메일 서버에 SPF 또는 DKIM에 실패한 이메일을 격리하거나, 해당 이메일을 거부하거나, 전달하도록 지시할 수 있음

- DMARC 정책은  DMARC레코드에 저장됨

- 해당 레코드에는 도메인 관리자에게 어떤 이메일이 이러한 검사를 통과하고 실패하는지에 대한 보고서를 보내는 지침도 포함할 수 있음

- DMARC보고서는 관리자가 DMARC 정책을 조정하는 방법을 결정하는 데 필요한 정보를 제공함.

- 예시 : 정상적인 이메일이 스팸으로 잘못 표시되는 경우 어떻게 해야 하는

 

2. DKIM : 도메인키 식별 메일

- 도메일 소유자는 도메인에서 이메일에 자동으로 "서명"할 수 있는 도메인키 식별 메일을 사용할 수 있음.

- DKIM"서명"은 암호화를 사용하여 이메일이 도메일에서 발송되었음을 수학적으로 확인하는 디지털 서명.

- DKIM은 "공개 키 암호화"를 사용함

- DKIM 레코드에는 도메인의 공개키가 저장되며, 도메인으로부터 이메일을 수신하는 메일 서버에서는 이 레코드를 확인하여 "공개 키"를 얻을 수 있음 

- "개인 키"는 발신자가 비밀로 유지하며, 발신자는 이 키로 이메일 헤더에 서명함.

- 이메일을 수신하는 메일 서버에서는 공개 키를 적용하여 발신자의 개인 키가 사용되었는지 확인 할 수 있음. 

 

 

3. SPF : 발신자 정책 프레임워크

- 도메인에서 이메일을 보내는 모든 서버가 나열되는 방법

- 직원 명부에 조직의 모든 직우너 이름이 나열되는 것처럼 SPF레코드에는 도메인에서 이메일을 보낼 수 있도록 허용된 모든 서버의 IP주소가 나열됨.

- 이메일 메시지를 수신하는 메일 서버에서는 수신자의 받은 편지함으로 메시지를 전달하기 전에 SPF레코드와 대조하여 확인할 수 있음.

 

 

SPF, DKIM, DMARC 기록이 저장되는 곳

- SPF, DKIM, DMARC 레코드는 공개적으로 사용할 수 있는 도메인 네임 시스템(DNS)에 저장굄.

- DNS의 주요 용도는 웹 주소를 IP주소와 매칭하여 사용자가 긴 영숫자 주소를 외울 필요 없이 컴퓨터가 인터넷에서 콘텐츠를 로드할 수 있는 올바른 서버를 찾을 수 있게 하는 것.

- 또한 DNS에는 도메인과 관련된 다양한 레코드가 저장될 수 있으며, 여기에는 해당 도메인의 대체 이름(CNAME 레코드), IPv6 주소(AAAA 레코드), 도메인 조회를 위한 역방향 DNS레코드(PTR 레코드) 등이 포함됨.

- SPF, DKIM, DMARC레코드는 모두 DNS TXT 레코드로 저장됨.

- DNS TXT레코드는 도메인 소유자가 도메인과 연결하고자 하는 텍스트를 저장함.

- 해당 레코드에는 텍스트가 포함될 수 있으므로 다양한 방식으로 사용할 수 있음. 

 

도메인에 대한 DMARC, DKIM, SPF를 설정하는 방법

- 도메인으 DNS 설정에서 해당 보안을 설정해야 함.

- 관리자가 DNS 공급자에게 문의할 수도 있고, 아니면 웹 호스팅 플랫폼에서 DNS레코드를 업로드하고 편집할 수 있는 도구를 제공할 수 있음.

 

 

이메일이 SPF, DKIM, DMARC를 통과했는지 확인하는 방법

- 대부분의 이메일 클라이언트는 "세부 정보 표시" 또는 "원본 표시"라는 옵션을 제공하여 헤더를 포함한 이메일의 전체 버전을 표시함.

- 헤더(일반적으로 이메일 본문 위에 있는 긴 텍스트 블록)는 메일 서버가 SPF, DKIM, DMARC의 결과를 추가하는 곳

- 브라우저에서 헤더를 보는 사용자는 "Ctrl+F" 또는 "Command+F"를 클릭하고 "spf"나 " dkim"이나 "dmarc"를 입력하면 다음과 같은 결과를 확인할 수 있음

arc=pass (i=1 spf=pass spfdomain=example.com dkim=pass
dkdomain=example.com dmarc=pass fromdomain=example.com);

// 이메일이 SPF, DKIM, DMARC 세 가지를 모두 통과
// 메일 서버에서는 이 이메일이 사칭자가 아닌 실제 example.com에서 보낸 것임을 확인할 수 있음.

- 위 텍스트에 "pass"라는 단어가 표시되면 이메일이 인증 검사를 통과했음을 나타냄.

- 예를 들어 "spf=pass"는 이메일이 SPF에 실패하지 않았으며 도메인의 SPF 레코드에 나열된 IP 주소를 가진 인증된 서버에서 전송되었음을 의미함.

 

 

 

(참고) DNS 레코드란?

- DNS레코드(또는 영역 파일)는 권한 있는 DNS 서버에 있는 명령으로서, 도메인에 연계된 IP주소 및 해당 도메인에 대한 요청의 처리 방법에 대한 정보를 제공함.

- 레코드는 DNS 구문이라고 하는 일련의 텍스트 파일로 구성됨.

- DNS 구문은 DNS 서버에게 수행할 작업을 알려주는 명령으로 사용되는 문자열.

- 모든 DNS 레코드에는 TTL이 있음 

- TTL은 Time-to-Live의 약어로 DNS서버가 해당 레코드를 새로 고치는 빈도를 나타냄. 

 

 

 

 

 

 

출처

https://www.cloudflare.com/ko-kr/learning/email-security/dmarc-dkim-spf/

https://www.cloudflare.com/ko-kr/learning/dns/dns-records/

https://help.stibee.com/hc/ko/articles/4756529633423-SPF-DKIM%EC%9D%B4-%EB%AD%94%EA%B0%80%EC%9A%94-