DKIM 확인: 내 DKIM 레코드 점검하기
DKIM은 발신 서버가 개인 키로 각 메시지에 서명하고, 수신 서버가 DNS에 게시된 공개 키로 그 서명을 검증하게 합니다. 도메인과 메일 서비스가 사용하는 셀렉터를 입력해 그 키를 가져오면, 키 크기와 형식, 서명이 실패하는 이유를 확인할 수 있습니다.
DKIM 셀렉터 찾는 방법
도메인은 서비스별로 또는 키 교체를 위해 DKIM 키를 여러 개 동시에 가질 수 있으며, 셀렉터는 그중 어느 키를 쓸지 알려 주는 라벨입니다. 각 키는 selector._domainkey.yourdomain.com에 있으므로 google._domainkey와 s1._domainkey가 나란히 있을 수 있습니다.
가장 빠른 방법은 자신에게 메시지를 보내고 전체 헤더를 열어 DKIM-Signature 줄을 보는 것입니다. s= 값이 셀렉터이고 d=는 서명한 도메인입니다.
결과가 어떻게 보이는지 궁금하신가요? 위의 예시 버튼에서 정상적인 2048비트 키(s2048을 사용하는 yahoo.com), 약한 키 경고가 나오는 1024비트 키(s1024를 사용하는 yahoo.com), 폐기된 키(20230601을 사용하는 gmail.com)를 볼 수 있습니다.
일부 제공업체가 기본으로 사용하는 셀렉터
이 값은 제공업체와 계정 설정 방식에 따라 다르므로 출발점으로 삼고 제공업체에 확인하세요.
| 제공업체 | 자주 쓰는 셀렉터 |
|---|---|
| Google Workspace | google (최신 키는 날짜 기반 이름) |
| Microsoft 365 | selector1 및 selector2 |
| SendGrid | s1 및 s2 |
| Mailchimp | k1, k2, k3 |
| 많은 제어판과 호스팅 업체 | default |
DKIM 레코드 읽는 방법
| 태그 | 의미 |
|---|---|
| v=DKIM1 | 버전입니다. 선택 사항이지만 있다면 DKIM1이어야 합니다 |
| k | 키 유형: rsa(기본값) 또는 ed25519 |
| p | base64로 된 공개 키입니다. 값이 비어 있으면 키가 폐기되었다는 뜻입니다 |
| t=y | 테스트 모드: 수신 서버가 실패를 관대하게 처리할 수 있습니다 |
| t=s | 엄격: 서명 도메인이 From 도메인과 정확히 일치해야 합니다 |
| s | 키를 사용할 수 있는 서비스: email 또는 * |
키 크기, 분할, 교체
- 2048비트 RSA 키를 사용하세요. 1024비트 키도 아직 검증은 되지만 더 이상 권장되지 않으며, 그보다 짧은 키는 안전하지 않습니다.
- 2048비트 키는 DNS 문자열 하나에 들어가는 255자보다 길기 때문에, 하나의 TXT 레코드 안에서 따옴표로 묶은 여러 문자열로 게시됩니다. 대부분의 DNS 대시보드가 이를 자동으로 처리해 줍니다. 대신 키가 잘려 버리면 읽을 수 없습니다.
- 키를 가끔 교체하세요. 새 셀렉터를 먼저 게시하고, 메일 서비스가 그 셀렉터로 서명하도록 전환한 다음, 이미 전송 중인 메일이 모두 전달될 때까지 이전 셀렉터를 그대로 두세요.
- 키를 폐기하려면 레코드가 사라지게 하는 대신 p=를 비워 게시하세요. 그러면 그 키로 만든 서명이 깔끔하게 실패합니다.