관리 메뉴

MY IT Life

DMARC의 개념 및 설정 방법 (What is DMARC?) 본문

02. Microsoft/Office 365

DMARC의 개념 및 설정 방법 (What is DMARC?)

검짱돌이 2019. 7. 29. 18:14

DMARC(Domain-based Message Authentication, Reporting and Conformance)는 이메일 인증 프로토콜입니다. 이메일 도메인 소유자가 이메일 스푸핑으로 알려진 무단 사용에서 도메인을 보호할 수 있도록 설계되었다. DMARC의 구현 목적은 비즈니스 이메일 공격, 피싱 메일, 이메일 사기 등 사이버 위협 행위에 도메인이 이용되지 않게 보호한다.

DMARC(Domain-based Message Authentication, Reporting and Conformance) is an email authentication protocol. 

Email domain owners are designed to protect their domain from unauthorized use known as email spoofing. 

The purpose of DMARC is to protect the domain from cyber threats such as business email attacks, phishing emails, and email fraud.

 

DMARC는 SPF (Sender Policy Framework) 및 DKIM (DomainKeys Identified Mail)과 함께 작동하여 메일 보낸 사람을 인증하고 대상 전자 메일 시스템이 도메인에서 보낸 메시지를 신뢰하도록합니다. SPF 및 DKIM으로 DMARC를 구현하면 스푸핑 및 피싱 이메일에 대한 추가 보호 기능을 제공합니다. DMARC는 메일 시스템에서 SPF 또는 DKIM 검사에 실패한 도메인에서 보낸 메시지를 어떻게 처리할지 결정하는 데 도움이됩니다.

DMARC works in conjunction with the Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM)  to authenticate mail senders and to trust messages sent from the domain to the target email system. Implementing DMARC with SPF and DKIM provides additional protection for spoofing and phishing emails. DMARC helps determine how the mail system will handle messages from domains that have failed SPF or DKIM checks.

 

[SPF, DKIM, DMARC Operation method]

출처

https://www.dmarcanalyzer.com/dmarc/

 

[Sender와 Recipient를 숨긴 메일에 대한 TEST]

보낸 사람 주소 : 보낸 사람을 식별하고 배달 못 함 알림과 같은 메시지 배달에 문제가 발생하면 반환 알림을 보낼 위치를 지정합니다. 이 메시지는 전자 메일 메시지의 봉투 부분에 나타나며 일반적으로 전자 메일 응용 프로그램에서는 표시되지 않습니다. 이 주소는 5321.MailFrom 주소 또는 역 경로 주소라고도합니다.

From address: Specify the sender and specify where to send a return notification when there is a problem with message delivery, such as a non-delivery notification. This message appears in the envelope portion of the e-mail message and is usually not displayed in your e-mail application. This address is also known as 5321.MailFrom address or reverse path address.

 

보낸 사람 주소 : 메일 응용 프로그램에서 보낸 사람 주소로 표시된 주소입니다. 이 주소는 전자 메일의 작성자를 식별합니다. 즉, 메시지 작성 책임자 또는 시스템의 사서함입니다. 이 주소는 5322.From 주소라고도합니다.

SPF는 DNS TXT 레코드를 사용하여 지정된 도메인에 대해 인증 된 보내는 IP 주소 목록을 제공합니다. 일반적으로 SPF 검사는 5321.MailFrom 주소에 대해서만 수행됩니다. 즉, SPF를 단독으로 사용하면 5322.From 주소가 인증되지 않습니다. 이렇게하면 사용자가 SPF 검사를 통과하지만 스푸핑 된 메시지를받을 수있는 시나리오가 허용됩니다. 보낸 사람 주소에서 5322입니다. 예를 들어 다음과 같은 SMTP 성적표를 고려하십시오.

From Address: The address shown as the From address in your mail application. This address identifies the author of the email. That is, the person responsible for composing a message or the mailbox on a system. This address is also known as the 5322.From address.

 

Telnet을 이용해 아래 형식으로 사용자에게 메일을 보내봅니다.

Ok send email use telnet command in cmd

 

Helo woodgrovebank.com

Mail from: phish@phishing.contoso.com

Rcpt to: ksyou@softwareone.co.kr

data

From: "Woodgrove Bank Security" <security@woodgrovebank.com>

To: "Andrew Stobes" <astobes@tailspintoys.com>

Subject: Woodgrove Bank - Action required

 

Greetings User,

 

We need to verify your banking details.

Please click the following link to verify that we have the right information for your account.

 

http://short.url/woodgrovebank/updateaccount/12-121.aspx

 

 

Thank you,

Woodgrove Bank

실제 배달된 ksyou@softwareone.co.kr의 Outlook을 보면 아래와 같이 받는 사람은 Woodgrove Bank Security 보낸 사람은 andrew stobes로 확인됩니다. 실제 보낸 사람과 받는 사람의 정보가 완전히 틀리게 표시 되는것을 확인할 수 있습니다.

Received email by ksyou@softwaroene.co.kr in outlook below that receipients informaion is diffrent. You can see sender is Andrew Stobe and recipients is Woodgrove Bank Security. As you confirmed it is changed real sender and recipient by spamer.

위 Command에서 보면 

Mail From은 phising@phising.contoso.com 입니다.

From은 Astobes@tailspintoys.com 입니다.

See Let's look at the above command

Mail from is phising@phising.contoso.com and From is Astobes@tailspintoys.com

 

SPF를 구성한 경우 수신 서버는 phish@phishing.contoso.com 주소에서 메일을 검사합니다. 메시지가 도메인 phishing.contoso.com에 대한 유효한 출처에서 제공된 경우 SPF 검사가 통과됩니다. 

If you configured SFP, Recipients server scan email from phish@phishing.contoso.com. sended email from phishing.contoso.com then email passed from SPF.

전자 메일 클라이언트(outlook)는 보낸 사람 주소(from)만 표시하므로 사용자는이 메시지가 Astoves@tailspintoys.com에서 왔음을 알게됩니다. SPF만으로는 Andrew Stobes의 유효성이 인증되지 않았습니다.

Outlook displayed only mail from so user know this message sended from Astoves@tailspintoys.com. SPF can't confirm Andrew Stobes.

DMARC를 사용하면 수신 서버는 보낸 사람 주소(from)에 대해서도 검사를 수행합니다. 위의 예에서 Andrew Stobes에 대한 DMARC TXT 레코드가있는 경우 보낸 사람 주소에 대한 확인이 실패합니다.

If you use DMARC then received server scan from address. 

 

인바운드 메일 용 DMARC 구현

Office 365에서받은 메일에 대해 DMARC를 설정하지 않아도됩니다만 스터디삼아 참고로 설정해 봅니다.

Office 365 need not DMARC from inbound mail flow but int this case we configure it.

 

TEST도메인이 제가 소유한 Softwareone.co.kr이니 아래와 같이 TXT를 등록해 보겠습니다.

Let's configured TXT Record becasue Softwareone.co.kr domain is mine.

 

Host : _dmarc.softwareone.co.kr 

Record : TXT

DMARC record : "v=DMARC1; p=reject; rua-mailto:ksyou@softwareone.co.kr"

 

https://mxtoolbox.com 사이트에서 해당 도메인의 DMARC상태를 확인할 수 있습니다.

You can confirm DMARC configure in https://mstoolbox.com

 

DMARC TXT 레코드 값

DMARC TXT Record.

참고: Gmail에서는 오류(포렌식) 보고서를 보내는 데 사용되는 DMARC ruf 태그가 지원되지 않습니다.

태그 이름필수 여부설명 및 값은 아래 표를 참고하세요

Reference  : Gmail not supprt DMARC ruf tag using forenGmail doesn't support the DMARC ruf tag, which is used to send error (forensic) reports.

v

필수

프토로콜 버전이며 DMARC1이어야 합니다.

p

필수

도메인에서 의심스러운 메일을 처리하는 방법을 정의합니다.

  • none: 메일에 아무런 조치를 취하지 않고 일일 보고서에 의심스러운 메일을 기록합니다.

  • quarantine: 메일을 스팸으로 표시하고 수신자의 스팸 폴더로 이동합니다. 

  • reject: 메일을 거부하도록 수신 서버에 요청하며, 수신 서버에서는 발신 서버로 메일을 반송합니다.

pct

선택

DMARC 정책이 적용되는 의심스러운 메일의 비율을 설정합니다. 의심스러운 메일은 DMARC 검사를 통과하지 못한 메일입니다.

1~100 사이의 정수여야 합니다. 기본값은 100입니다. 

rua

선택

도메인의 DMARC 활동에 대한 보고서를 수신할 이메일 주소입니다. 자신의 이메일 주소를 사용하거나 보고서를 수신할 새 이메일 주소를 만드세요.

이메일 주소에 mailto:를 포함해야 합니다. 예: mailto:dmarc-reports@solarmora.com

보고서를 두 개 이상의 이메일 주소로 보내려면 이메일을 쉼표로 구분하세요.

sp

선택

메인 도메인의 하위 도메인에서 전송된 메일에 적용되는 정책을 설정합니다. 하위 도메인에 다른 DMARC 정책을 사용하려는 경우 이 옵션을 사용하세요.

  • none: 메일에 아무런 조치를 취하지 않고 일일 보고서에 의심스러운 메일을 기록합니다.

  • quarantine: 메일을 스팸으로 표시하고 추가 처리를 위해 보관합니다.

  • reject: 수신 서버에 메일을 거부하도록 요청합니다.

adkim

선택

메일 정보가 DKIM 서명과 어느 정도 정확하게 일치해야 하는지를 정의하는 DKIM의 일치 모드를 설정합니다.

  • s: 엄격함. 발신자 도메인 이름이 DKIM 메일 헤더에 있는 d=name과 정확하게 일치해야 합니다.

  • r: 완화됨(기본값). 부분 일치가 허용됩니다. DKIM 메일 헤더에 있는 d=domain의 유효한 하위 도메인이 모두 허용됩니다.

aspf

선택

메일 정보가 SPF 서명과 어느 정도 정확하게 일치해야 하는지를 정의하는 SPF(ASPF)의 일치 모드를 설정합니다.

  • s: 엄격함. 메일의 from: 헤더가 SMTP MAIL FROM 명령어의 domain.name과 정확하게 일치해야 합니다.

  • r: 완화됨(기본값). 부

예) DMARC 검사를 통과하지 못한 메일에 대한 조치TXT 레코드 콘텐츠

DMARC 검사를 통과하지 못한 메일에 아무런 조치를 취하지 않습니다. 일일 보고서를 dmarc@solarmora.com으로 전송합니다.

v=DMARC1; p=none; rua=mailto:dmarc@solarmora.com

DMARC 검사를 통과하지 못한 메일의 5%를 수신자의 스팸 폴더에 보관합니다. 일일 보고서를 dmarc@solarmora.com으로 전송합니다.

v=DMARC1; p=quarantine; pct=5; rua=mailto:dmarc@solarmora.com

DMARC 검사를 통과하지 못한 메일을 100% 거부합니다. 일일 보고서를 두 개의 이메일 주소(postmaster@solarmora.com, dmarc@solarmora.com)로 전송합니다. 

메일이 거부되면 발신자에게 SMTP가 반송됩니다.

v=DMARC1; p=reject; rua=mailto:postmaster@solarmora.com, mailto:dmarc@solarmo

위와 같이 SPF와 DMARC를 구현하게 되면 mail from과 from에 대한 모든 발신자에 대한 스푸핑을 방지할 수 있습니다.

Like this you can protection Spooping mail from and from if you configure SPFand DMARC.

Office 365에서 아웃 바운드 메일용 DMARC 구현

사용자 지정 도메인이 있거나 Office 365 외에도 온-프레미스 Exchange 서버를 사용 하는 경우 아웃 바운드 메일에 대해 DMARC를 수동으로 구현 해야 합니다. 사용자 지정 도메인에 대해 DMARC을 구현 하는 단계는 다음과 같습니다.

 

1 단계 : 도메인에 대한 유효한 메일 원본 식별

어떤 IP 주소가 내 도메인에서 메시지를 전송하는지 확인이 필요할때

제 3 자가 사용자를 대신 하 여 보낸 메일의 경우 5321 From 및 5322.from 주소가 일치하는지 확인이 필요할 때

 

2 단계 : Office 365에서 도메인에 대한 SPF설정

 

contoso.com IN TXT " v=spf1 ip4:192.168.0.1 ip4:192.168.100.100 include:spf.protection.outlook.com -all"

 

3 단계 : Office 365에서 사용자 지정 도메인에 대한 DKIM을 설정합니다.

SPF를 설정한 후에는 DKIM을 설정 해야 합니다. DKIM을 사용 하 여 메시지 헤더에 전자 메일 메시지에 디지털 서명을 추가할 수 있습니다. DKIM을 설정 하지 않고 Office 365이 도메인에 기본 DKIM 구성을 사용 하도록 허용 하는 경우 DMARC이 실패할 수 있습니다. 

 

contoso.com. 3600 IN MX 5 contoso-com.mail.protection.outlook.com

 

Refer to below Office 365 DKIM setup

https://samsikworld.tistory.com/469

 

DKIM 개념 및 설정 방법

What is DKIM and setup step in office 365 DKIM이 말로만 들었지 실제 적용해볼 사례가 없는줄 알았습니다. I know DKIM yet but I don't think used it. 최근에 Email을 사칭한 Spoofing공격이 빈번해 지고 이..

samsikworld.tistory.com

4 단계 : Office 365에서 도메인에 대한 DMARC TXT레코드를 구성합니다.

 

1) _dmarc.domain TTL IN TXT "v=DMARC1; pct=100; p=policy"