도메인 - 기반 메시지 인증 보고 및 준수(DMARC)
이메일 송신자는 어떻게 메일이 처리되어야 하는지와 수신자가 응답하는 레코드 유형, 얼마나 자주 이런 보고를 해야 하는지에 대한 정책을 설정한다.
그렇다면, DMARC는 뭘까
일단 DMARC는 송신자 정책 프레임워크 (SPF)와 도메인 키 확인 메일과 같이 동작한다.
SPF와 DKIM은 각각 송신 서버와 메일 내용의 신뢰성을 검증하는 역할을 합니다.
SPF는 메일을 보낼 수 있는 서버의 목록을 관리하여 메일이 해당 목록에 있는 서버에서 발송되었는지 검사합니다.
DKIM은 메일의 내용이 중간에 변조되지 않았는지 확인하기 위해 암호화된 서명을 사용합니다.
그러나 SPF와 DKIM 자체만으로는 이들 기술이 사용되고 있는지, 또는 안티스팸 기술이 효과적으로 작동하는지에 대한 피드백 메커니즘이 부족합니다.
이런 문제를 해결하기 위해 DMARC는 등장하게 되었습니다.
DMARC는 SPF와 DKIM 검증 결과를 바탕으로, 수신자에게 어떻게 메일을 처리할지 조언을 해줍니다.
예를 들어, 검증 결과가 의심스러운 경우 수신자에게 메일을 일단 분류하거나, 아예 삭제하도록 조언을 할 수 있습니다.
이런 조언은 DNS를 통해 수신자에게 전달됩니다.
결국, DMARC는 메일의 위조와 변조를 막기 위한 여러 방법들을 총괄하고, 이를 통해 메일의 신뢰성을 확보하고 보안을 강화하는 관리자 같은 역할을 합니다.
식별자 일치
DKIM (DomainKeys Identified Mail), SPF (Sender Policy Framework), 그리고 DMARC (Domain-based Message Authentication, Reporting & Conformance)는 이메일 메시지의 다양한 부분을 인증하는 역할을 합니다.
-
DKIM
- 메시지에 첨부된 암호화된 서명을 검증하여 메시지의 도메인과 내용이 변조되지 않았음을 인증합니다.
- 이는 이메일의 본문과 헤더가 중간에 조작되지 않았음을 확인하는데 중요한 역할을 합니다.
-
SPF
- SMTP (Simple Mail Transfer Protocol) 프로토콜의 MAIL FROM 부분이나 HELO 도메인에 나타나는 도메인이 실제 메시지를 보내는 데 사용된 서버와 일치하는지 인증합니다.
- 이는 이메일의 발신지를 인증하여 이메일 위조를 방지하는데 중요한 역할을 합니다.
이들은 각각 메시지의 다른 부분을 인증하므로, 인증하는 도메인이 서로 다를 수도 있습니다.
이는 종종 말단 사용자에게 혼란을 주기도 하며, 이를 구별하는 것은 어렵습니다.
DMARC는 이러한 문제를 해결하기 위해 도입되었습니다.
DMARC는 DKIM과 SPF의 결과를 결합하고, 식별된 도메인이 일치하는지 확인하여 이메일의 신뢰성을 향상시킵니다.
이를 통해 DMARC는 수신자에게 메시지가 유효한지 판단하는 데 도움을 줍니다.
DMARC의 인증
DMARC (Domain-based Message Authentication, Reporting & Conformance) 인증은 이메일의 메시지 헤더에 있는 ‘From’ 도메인을 중심으로 처리합니다.
이 ‘From’ 필드는 DMARC 메커니즘의 핵심적인 특성이며, 이는 다음과 같은 이유로 인해 중요합니다:
- ‘From’ 필드는 이메일 헤더 필드 중에서도 반드시 필요한 요소입니다.
- 이메일의 규격 (RFC 5322)에 따르면, ‘From’ 필드는 항상 존재해야 합니다.
- 대부분의 메일 사용자 에이전트 (MUA: Mail User Agents)는 메시지의 발신지로 ‘From’ 필드를 사용합니다.
- 종단 사용자에게 ‘From’ 헤더 필드의 콘텐츠 전체가 보여집니다.
따라서, 이 ‘From’ 필드의 도메인이 실제 메시지를 보낸 서버의 도메인과 일치하는지 확인하는 것이 DMARC 인증의 핵심입니다.
이를 통해 이메일의 신뢰성을 검증하고, 이메일 위조를 방지합니다.
송신자 측 DMARC
DMARC를 사용하는 이메일 송신자는 반드시 SPF와 DKIM을 사용해야 합니다(하나 또는 2가지 모두).
송신자는 DNS에 DMARC 정책을 설정하여, 수신자가 송신자 도메인에서 온 메시지를 어떻게 처리해야 할지 제시합니다
이 정책은 DNS의 TXT 자원 레코드 형식으로 제시됩니다.
송신자는 자신의 이메일 주소를 설정하여, 종합적이고 포렌식(증거 수집과 관련된) 보고를 받을 수 있습니다.
하지만 이 이메일 주소가 DNS TXT 자원 레코드에 암호화되지 않은 상태로 공개된다면, 이는 송신 측에게 원치 않는 대량의 이메일 공격을 받게 될 위험이 있습니다.
수신자측 DMARC
\수신자는 일반적으로 IP 블록 목록 검사, 도메인 평판 목록 검사와 같은 표준 검증 절차를 수행하며, 특정 출처에 대한 속도 제한 등을 적용할 수 있습니다.
수신자는 메시지에서 ‘From’ 주소를 추출하고, 이 주소가 단일하고 정당한지 확인합니다.
단일하지 않거나 정당하지 않은 주소라면, 메시지는 오류로 간주되어 거절될 수 있습니다.
DMARC 절차를 거치면서, 수신자는 송신측 도메인의 DMARC DNS 레코드를 조회하고, DKIM 서명과 SPF 레코드를 검증합니다.
또한, ‘From’ 주소와 SPF와 DKIM의 결과 간의 식별자 일치를 확인합니다.
이렇게 검증된 결과는 DMARC 모듈로 전달되며, DMARC 모듈은 해당 도메인의 DNS 정책을 검색합니다.
정책이 존재한다면, 해당 정책을 기반으로 DMARC 정책의 결과를 결정하고, 필요에 따라 보고를 생성합니다.
수신자의 전송 서비스는 이 DMARC 결과에 따라 메시지를 수신자의 메일박스로 배달하거나, 다른 지역 정책을 적용합니다.
필요에 따라, 전송 서비스는 메시지 배달 세션에서 데이터를 수집하여 피드백에 사용할 수 있습니다
DMARC 태그와 값 설명
DMARC 기능 흐름도
DMARC 보고
DMARC 보고는 DMARC를 사용하는 송신자에게 자신의 SPF, DKIM, 식별자 일치 및 메시지 제거 정책에 대한 피드백을 제공합니다.
이 피드백을 통해 송신자는 이메일 보안 정책을 더 효과적으로 작성하고 개선할 수 있습니다.
DMARC 보고는 크게 두 가지 유형이 있습니다:
- 종합 보고 (Aggregate Reports)
- 이 보고는 수신자가 주기적으로 송신자에게 전송합니다.
- 보고서는 성공 또는 실패한 메시지 인증에 대한 통계적인 정보를 제공하며, 송신자는 이 정보를 바탕으로 자신의 보안 정책을 개선하거나 변경할 수 있습니다.
- 포렌식 보고 (Forensic Reports)
- 이 보고는 이메일이 SPF 또는 도메인 키 확인 메일을 위반하거나 DMARC 정책에 따라 실패했을 때 송신자에게 발송됩니다.
- 포렌식 보고서는 자세한 기술 정보를 포함하며, 이 정보를 통해 송신자는 SPF와 DKIM 설정을 더욱 정교하게 수정할 수 있습니다.
- 또한, 송신자 도메인이 악의적인 활동 (예: 피싱 또는 스팸 메일 발송)에 이용되고 있다는 것을 송신자에게 알려줄 수 있습니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'Computer Science > Security' 카테고리의 다른 글
암호도구 (0) | 2023.06.10 |
---|---|
IKE(Internet Key Management) (0) | 2023.06.10 |
도메인 키 확인 메일 (0) | 2023.06.04 |
SPF (0) | 2023.06.04 |
DNSSEC (0) | 2023.06.03 |