04-12 02:46
반응형
250x250
Recent Posts
Recent Comments
Link
관리 메뉴

DevOps Tasks

메일 인증 프로토콜로 제로 스팸 메일 만들기 - DKIM Part 본문

DevOps

메일 인증 프로토콜로 제로 스팸 메일 만들기 - DKIM Part

데밥스 2024. 2. 4. 01:17
728x90
반응형

DKIM ( DomainKeys Identified Mail )

 

 

DKIM ( Domainkeys Identified Mail ) 은 Mail 발신자가 Mail에 디지털 서명을 하여 발신자의 진위 여부를 확인하고 전송 중에 메시지가 변조되지 않았는지 확인할 수 있는 이메일 인증 방법이다.

DKIM을 통해 스팸 발송자 및 공격자가 이메일을 위조하는 것을 방지할 수 있다.

관련되어 SPF 와 DMARC 에 대해서도 알고 있으면 이해가 쉽다.

 

[DevOps] - 메일 인증 프로토콜로 제로 스팸 메일 만들기 - SPF Part

 

메일 인증 프로토콜로 제로 스팸 메일 만들기 - SPF Part

SPF ( Sender Policy Framework ) 인터넷상에서 Mail 은 다양한 방법으로 위조될 수 있다. SPF “발신자 정책 프레임워크” 는 DNS TXT 레코드 중 하나로 공격자가 Mail 주소를 “ 스푸핑 (Spoofing) ” 하거나 도

rldnjsdlsi.tistory.com

 

[DevOps] - 메일 인증 프로토콜로 제로 스팸 메일 만들기 - DMARC Part

 

메일 인증 프로토콜로 제로 스팸 메일 만들기 - DMARC Part

DMARC ( Domain-based Message Authentication Reporting and Conformance ) DMARC ( Domain-based Message Authentication Reporting and Conformance / 도메인 기반 메시지 인증, 보고 및 적합성 ) 은 이메일 인증 프로토콜로 이메일 도메

rldnjsdlsi.tistory.com

 

예시로,

A 가 example.com에서 근무하는 B를 속여서 A에게 회사 기밀 정보를 보내게 만드려고 한다고 가정해 보자.

A는 B에게 “admin@example.com"에서 온 것처럼 보이는 Mail을 보내 A 가 example.com에서 근무한다고 생각하도록 속일 수 있다.

DKIM 은 SPF 및 DMARC와 함께 스팸 발송자 및 공격자가 이러한 방식으로 도메인을 속이는 것을 훨씬 더 어렵게 만든다.

DKIM 및 SPF를 통과하지 못한 Mail 은 “스팸” 처리가 되거나 Mail 서버에서 전송되지 않는다.

 


 

DKIM 작동방식

 

RFC 6376

 

DKIM 에는 DNS 레코드에 저장되는 DKIM 레코드와 도메인의 모든 Mail에 첨부되는 DKIM 헤더의 두 가지 측면이 있다.

DKIM 은 공개 키 암호화를 기반으로 하는 디지털 서명 체계를 사용해서 발송 서버는 Mail 발송 시 Mail 발송자, 수신자, 제목, 내용 등을 비밀 키로 서명한다.

이 서명 값을 DKIM-Signature 헤더(Header)에 추가한다.

수신 Mail 서버는 DKIM-Signature 헤더 내 "d=" 필드로 작성된 도메인의 공개 키와 서명 알고리즘 정보 등이 담긴 DKIM 레코드를 조회하고 이 값들을 이용해 수신된 이메일 DKIM-Signature 헤더의 디지털 서명을 검증한다.

RFC 6376에서는 DKIM 레코드를 TXT 레코드로 등록하도록 권장하고 있다.

이러한 프로세스에서 Mail 이 전송 중에 변경되지 않았는지 확인을 할 수 있다.

Mail 헤더 또는 Mail 본문이 변경된 경우 디지털 서명이 확인되지 않는다.

DKIM 레코드는 DKIM 공개 키 ( 개인 키로 서명된 모든 항목을 확인하는 데 사용되는 무작위 문자열 )를 저장한다.

Mail 서버는 도메인의 DNS 레코드를 쿼리 하여 DKIM 레코드를 확인하고 공개 키를 보게 된다.

DKIM 레코드는 실제로 DNS TXT 레코드이다.

TXT 레코드는 도메인 관리자가 도메인과 연결하려는 텍스트를 저장하는 데 사용할 수 있다.

DKIM은 이러한 유형의 DNS 레코드의 많은 용도 중 하나이고 국제 표준인 RFC 6376 에는 레코드가 TXT여야 한다고 정의되어 있다.

반응형
이름 유형 내용 TTL
[selector]._domainkey.[domain] TXT v=DKIM1; p=76E629F05F709EF665853333EEC3F5ADE69A2362BECE40658267AB2FC3CB6CBE 6000

 

도메인 selector는 도메인에서 사용하는 이메일 서비스 공급자가 발급한 특수 값이다.

selector는 DKIM Header에 포함되어 이메일 서버가 DNS에서 필요한 DKIM 조회를 수행할 수 있도록 한다.

domain 은 이메일 도메인 이름이다. 

._domainkey. 는 모든 DKIM 레코드 이름에 포함된다.

 

 

RFC 6376: DomainKeys Identified Mail (DKIM) Signatures

DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one

datatracker.ietf.org

 


 

DKIM-Signature 작동 방식

 

디지털 서명은 DKIM Header의 일부로써 그냥은 보이지 않고 메세지 상세 보기에서 볼 수 있다.

 

v=1;a=rsa-sha256;d=example.com;s=big-email;h=from:to:subject;bh=uMixy0BsCqhbru4fqPZQdeZY5Pq865sNAnOAxNgUS0s=;b=LiIvJeRyqMo0gngiCygwpiKphJjYezb5kXBKCNj8DqRVcCk7obK6OUg4o+EufEbB
tRYQfQhgIkx5m70IqA6dP+DBZUcsJyS9C+vm2xRK7qyHi2hUFpYS5pkeiNVoQk/Wk4wZG4tu/g+OA49mS7VX+64FXr79MPwOMRRmJ3lNwJU=

 

DKIM-Signature Header 의 필드는 표준이 있지만 구현하는 방식은 유연하게 적용되는 부분이 있기에 이메일 공급자에 따라서 다를 수 있다.

따라서, 이메일 공급자마다 특정한 옵션을 사용할 수 있으며, 공급자의 정책과 구현에 따라 다를 수 있다.

그렇기 때문에 사용하는 이메일 공급자에 맞춰 DKIM-Signature Header 의 필드를 조정해줘야 한다.

728x90

 


 

DKIM과 DMARC의 연관성

 

DMARC는 DKIM 및 SPF를 기반으로 구축된 이메일 인증 방법이다.

DMARC는 SPF 및 DKIM에 실패한 이메일에 대하여 수행할 작업을 설명한다.

SPF, DKIM, DMARC는 함께 이메일 스팸 및 이메일 스푸핑을 방지하는 데 도움이 된다.

DKIM 레코드와 마찬가지로 DMARC 정책은 DNS TXT 레코드로 저장된다.

728x90
반응형