인증과 DNS
DNS TXT 레코드
DNS TXT 레코드는 도메인 설정에 저장되는 텍스트 한 줄입니다. 메일 서버는 TXT 레코드를 읽어 SPF, DKIM, DMARC를 확인합니다. 다른 서비스는 TXT 레코드를 읽어 도메인 소유자가 맞는지 확인합니다.
DNS TXT 레코드란?
DNS TXT 레코드는 도메인 설정에 저장되는 텍스트 한 줄입니다. 인터넷에 있는 누구나 읽을 수 있습니다.
먼저 DNS가 무엇인지 설명합니다. DNS는 Domain Name System의 약자입니다. 도메인을 위한 공개 전화번호부처럼 작동합니다. 누군가 내 도메인을 입력하면, DNS가 그 사람의 컴퓨터에 도메인을 어디서 찾을 수 있는지 알려 줍니다. DNS에는 레코드라고 부르는 여러 종류의 항목이 있습니다. 레코드 종류마다 맡은 일이 하나씩 있습니다.
TXT 레코드는 일반 텍스트를 담습니다. 누군가를 다른 곳으로 보내지 않습니다. 도메인에 붙여 둔 메모와 같습니다. 다른 시스템이 이 메모를 읽고 그에 따라 동작합니다.
TXT 레코드의 용도
이메일에서 TXT 레코드는 내 메일이 진짜임을 증명하는 규칙을 담습니다.
| 용도 | 레코드를 두는 곳 | 값의 예 |
|---|---|---|
| SPF | 내 도메인, 예: example.com | v=spf1 include:_spf.google.com ~all |
| DKIM | selector._domainkey.example.com | v=DKIM1; k=rsa; p=MIIBIjANBg... |
| DMARC | _dmarc.example.com | v=DMARC1; p=none; rua=mailto:reports@example.com |
| 도메인 소유 확인 | 내 도메인 | google-site-verification=abc123... |
위의 값은 줄여 쓴 예입니다. 실제 값은 이메일 서비스 제공업체나 연결하려는 서비스에서 받습니다.
간단한 예
TXT 레코드를 추가하는 과정은 다음과 같습니다.
- 마르코가 Google Workspace를 쓰기 시작합니다. 마르코는 marco@studio.example에서 보내는 메일이 받은편지함에 도착하기를 원합니다.
- Google이 값을 알려 줍니다. 설정 가이드는
v=spf1 include:_spf.google.com ~all값으로 SPF 레코드를 추가하라고 안내합니다. - 마르코가 도메인 설정을 엽니다. 도메인을 구매한 곳에 로그인합니다. 이곳을 등록 기관(registrar) 또는 DNS 호스트라고 합니다.
- TXT 레코드를 추가합니다. 유형은 TXT를 고르고, 이름은 도메인 그대로 두고, 값을 붙여 넣습니다.
- 기다립니다. 변경 사항이 모든 곳에 반영되기까지 몇 분에서 몇 시간이 걸릴 수 있습니다.
- 이제 서버가 마르코의 메일을 확인할 수 있습니다. 마르코가 메일을 보내면 받는 쪽 서버가 TXT 레코드를 읽습니다. 그리고 Google의 서버가 studio.example의 메일을 보낼 수 있다는 것을 확인합니다.
TXT 레코드를 작성할 때 지켜야 할 규칙
TXT 레코드 문제는 대부분 몇 가지 간단한 실수에서 생깁니다.
- SPF 레코드는 도메인당 하나뿐입니다. 한 도메인에
v=spf1값으로 시작하는 TXT 레코드가 두 개 있으면 SPF가 실패합니다. 두 레코드를 하나로 합치십시오. - 긴 값은 나누어 저장됩니다. TXT 레코드의 텍스트 조각 하나에는 최대 255자까지 넣을 수 있습니다. DKIM 키처럼 긴 값은 여러 조각으로 저장됩니다. 대부분의 DNS 호스트가 이 작업을 대신 해 줍니다.
- 정확한 이름을 사용하십시오. DMARC 레코드는 기본 도메인이 아니라
_dmarc에 두어야 합니다. DKIM 레코드는 서비스 업체가 알려 준 셀렉터 이름에 두어야 합니다. - 값을 정확히 복사하십시오. 글자 하나만 빠져도 레코드가 쓸모없어집니다.
TXT 레코드를 확인하는 방법
어떤 도메인이든 TXT 레코드를 읽을 수 있습니다. Mac이나 Linux 컴퓨터에서는 터미널을 열고 dig TXT example.com을 입력합니다. Windows에서는 nslookup -type=TXT example.com을 입력합니다.
Giggal.ai의 SPF 레코드 검사기를 사용할 수도 있습니다. 도메인의 SPF 레코드를 읽고 무엇을 허용하는지 설명해 줍니다.
TXT 레코드와 이메일 검증의 관계
TXT 레코드는 내가 보내는 메일을 보호합니다. 메일이 나에게서 왔다는 것을 증명합니다. 하지만 메일을 받는 사람이 아직 메일함을 가지고 있는지는 알려 주지 않습니다.
그것은 다른 확인입니다. 이메일 유효성 검사 도구는 주소가 존재하는지 받는 쪽 서버에 묻습니다. 두 가지가 모두 필요합니다. 도메인의 올바른 레코드와, 실제 주소만 남은 깨끗한 리스트입니다.
관련 용어
- SPF 레코드SPF 레코드는 도메인에 두는 텍스트 한 줄로, 그 도메인의 메일을 보낼 수 있는 서버를 나열합니다. 받는 쪽 서버는 이 레코드를 확인해, 내 도메인에서 왔다고 주장하는 메일이 실제로 내 서버에서 보내졌는지 확인합니다.
- DKIMDKIM은 DomainKeys Identified Mail의 약자입니다. 보내는 모든 메일에 디지털 서명을 추가합니다. 받는 쪽 서버는 이 서명을 확인해, 메일이 내 도메인에서 왔고 보낸 뒤에 바뀌지 않았다는 것을 확인합니다.
- DMARCDMARC는 도메인의 DNS에 게시하는 규칙입니다. 내 도메인에서 왔다고 주장하지만 SPF와 DKIM을 통과하지 못한 메일을 어떻게 처리할지 받는 쪽 서버에 알려 줍니다. 보고서를 어디로 보낼지도 알려 줍니다.
- MX 레코드MX 레코드는 그 도메인의 메일을 어느 서버가 받는지 알려 주는 도메인 설정입니다. name@example.com으로 메일을 보내면, 내 메일 서버는 example.com의 MX 레코드를 조회해 메일을 어디로 전달할지 찾습니다.
- PTR 레코드PTR 레코드는 IP 주소를 서버 이름과 연결하는 DNS 레코드입니다. 일반 DNS 레코드와 반대 방향입니다. 메일 서버는 메일을 보내는 IP 주소의 PTR 레코드를 확인하며, PTR 레코드가 없는 IP 주소의 메일을 거부하는 서버도 있습니다.
- BIMIBIMI는 지원하는 받은편지함에서 메일 옆에 브랜드 로고를 표시하는 이메일 표준입니다. Brand Indicators for Message Identification의 약자입니다. 도메인이 quarantine 또는 reject 정책으로 DMARC를 통과할 때만 작동합니다.
