J-한솔넷

기록 보관 : PTR 레코드, MX 레코드, SPF, DMARC 설정 본문

웹 개발관련/서버

기록 보관 : PTR 레코드, MX 레코드, SPF, DMARC 설정

jhansol 2024. 1. 22. 22:24

저의 개인 홈페이지에 있던 내용을 옮겨 기록하고자 합니다. 제가 게으른 탓에 활용하기 힘들고 유지를 하기에 금전적으로도 낭비다 생각되어 님길 것은 남기고, 버릴 것은 버리고 사이트를 없에기 위함입니다. 기존 내용 그대로 아래와 같이 옮겼습니다.


국세청 등, 중요성을 띄는 매일 송수신을 위해서는 그의 필수로 PTR 레코드를 설정해야 한다. 그렇지 않으면 이들 기관에서는 매일이 발송되지 않는다. 그리고 MX 레코드가 없으면 해당 도매인으로 매일을 수신할 수 없다. 마지막으로 DMARC 레코드는 합법적 매일 및 그렇지 않은 매일의 처리 방법을 결정하는 방법을 제공한다. 이 작업은 매일서버에서 하는 것이 아니라 도매인 소유자가 DNS 정보를 수정하거나 추가하여 진행한다.

PTR 레코드 설정

이 레코드는 도매인 소유자가 소유 도매인 정보를 수정하는 것이 아니라 해당 매일서버에 인터넷 서비스를 제공하는 ISP에 요청해야한다. 나의 경우 Vultr로 테스트를 했다. Vultr의 경우 서버 생성과 함께 PTR 레코드를 자동 생성한다. 그 외 KT의 경우 KT DNS Management 리버스 도매인 등록 페이지에서 등록 가능하다.

MX 레코드 등록

이 래코드는 해당 도매인으로 송수신되는 매일을 처리하는 매일서버 주소를 입력한다. 자체 도매인 내에서 매일서버를 구성할 경우 해당 매일서버 A 레코드를 먼저 설정하고 MX 레코드를 설정한다. 이 레코드를 설정하지 않으면 매일 발신은 가능할지 몰라도 수신은 불가능하다.

jhansol.com.        MX        mail.jhansol.net.
mail.jhansol.net    A         158.247.223.250

SPF 설정

Sender Policy Framework의 약자로 매일 발송을 승인된 매일서버를 통해서 발송할 수 있도록 매일서버를 열거하고, 검증할 수 있도록 한다. 이 설정은 DNS TXT 레코드로 등록한다. 패턴은 아래와 같다.

도매인주소.    TXT        "v=spf1 매일서버 -all"

매일서버는 공백으로 구분하여 입력할 수 있고, 사용가능한 형식은 구글 워크스페이스 관리자 페이지에 자세하게 나와 있다. 여기서는 형식 중 하나인 "mx(mx레코드로로 지정된 매일서버)" 로 지정한다. 그리고 "-all" 을 이용하여 열거된 매일서버 외의 서버에서 해당 도매인 명의 매일은 거부하도륙 설정한다.

jhansol.net        TXT        "v=spf1 mx -all"

DMARC 설정

Domain-based Message Authentication, Reporting and Conformance의 약자로 매일을 발신하는 매일서버와 수신하는 서버 사이에 매일의 합법성을 판단하고 처리하는 방식을 결정한다. 이 설정 역시 DNS TXT 레코드로 등록한다. 형형식은 아래와 같다.

도매주소.        TXT        "v=DMARC1; 정책; 검정항목; 보고이메일"

이 와 같이 TXT 레코드를 설정할 때 반드시 첫 항목은 "v=DMARC1;"로 시작해야 한다. 이후에는 정책과, 검정, 보고를 위한 항목들이 설정된다. 이들 설정 항목은 세미콜론(;)으로 구분된다. 아래의 경우는 하위 도매인 및 도매인 명의로 발송된 매일을 대상으로 SPF를 엄격하게 검사하여 통과하지 못한 매일은 거부하고, 관련 보고를 특정 매일로 전송하라는 설정이다. 기타 설정 항목에 대한 자세한 설명은 구글 워크스페이스 관리자 페이지에서 확인하기 바란다.

v=DMARC1; p=reject; sp=none; adkim=s; aspf=s; rua=mailto:dmarc@mydomain.com