기술 · 출처 기반 답변

DKIM 셀렉터란?

DKIM 셀렉터는 도메인의 DNS 레코드에서 특정 공개 키를 식별하는 고유한 문자열입니다. 셀렉터를 사용하면 발신자가 한 도메인에 여러 DKIM 키를 둘 수 있어, DNS 항목이 충돌하지 않으면서 키 교체와 서로 다른 서명 서비스의 사용이 가능합니다.

동작 방식

셀렉터는 DNS 쿼리에서 포인터 역할을 합니다. 수신 서버는 이메일 헤더에서 DKIM 서명을 발견하면 서명 안의 셀렉터 값을 찾습니다. 그런 다음 selector._domainkey.example.com의 레코드를 조회하는 DNS 쿼리를 만듭니다. 이렇게 해서 수신자는 해당 메시지의 암호화 서명을 검증하는 데 필요한 정확한 공개 키를 가져올 수 있습니다.

발신자에게 중요한 이유

셀렉터는 운영 연속성에 매우 중요합니다. 셀렉터를 사용하면 발신자는 인증 실패 없이 키를 주기적으로 교체해 보안을 유지할 수 있습니다. 키가 유출되면 새 셀렉터를 배포하고 기존 셀렉터는 단계적으로 폐기할 수 있습니다. 덕분에 서비스 중단이 없고, 전환 중에도 정상적인 메일이 계속 인증 검사를 통과합니다.

흔한 운영 실수

자주 발생하는 오류는 서명 서버가 사용하는 셀렉터와 DNS 레코드에 게시된 셀렉터가 일치하지 않는 것입니다. 서명 도구는 selector1을 사용하는데 DNS 레코드는 selector2로 게시되어 있으면 검증에 실패합니다. 또 다른 흔한 실수는 DNS 전파 시점을 잘못 잡는 것으로, DNS 레코드가 전 세계 리졸버에 퍼지기 전에 새 셀렉터로 메일을 보내는 경우입니다.

구체적인 예시

회사가 서로 다른 두 서비스를 사용한다면 뉴스레터 도구에는 selector-marketing, 앱 알림에는 selector-transact를 사용할 수 있습니다. 이 경우 DNS 레코드는 marketing._domainkey.example.com과 transact._domainkey.example.com이 됩니다. https://sendhq.cc/tools의 무료 도구로 이 레코드를 확인해 공개 키가 올바르게 게시되었는지 점검할 수 있습니다.

키 교체 전략

모범 사례는 새 키 쌍을 생성해 새 셀렉터 이름으로 게시하는 것입니다. 새 셀렉터가 전파되면 발송 서버가 새 키로 서명하도록 업데이트합니다. 기존 셀렉터 레코드는 전환 직전에 보낸 메시지를 수신자가 검증할 수 있도록 잠시 유지한 뒤 안전하게 삭제합니다.

팀에서 자주 묻는 질문

한 도메인에 DKIM 셀렉터를 둘 이상 둘 수 있나요?

네. 서로 다른 발송 서비스를 지원하거나 키를 끊김 없이 교체하기 위해 도메인에 여러 셀렉터를 둘 수 있습니다.

이메일에서 셀렉터는 어디에 있나요?

셀렉터는 이메일의 DKIM-Signature 헤더 안, 구체적으로는 s= 태그에 있습니다.

셀렉터를 바꾸면 SPF에 영향이 있나요?

아니요. DKIM 셀렉터는 SPF 레코드와 무관하며 SPF 설정이나 검증에 영향을 주지 않습니다.

DNS에 셀렉터가 없으면 어떻게 되나요?

수신 서버가 공개 키를 찾을 수 없어 DKIM permerror 또는 fail 상태가 됩니다.

1차 출처