Google AppsがDKIMに対応したとのことなので、早速設定を入れてみた。
DKIMとは公開鍵技術を使って、メール送信者(送信ドメイン)を偽造することを防ぐ技術。似たような技術にSPFがあるが、SPFはソースIPアドレスを用いて認証を行うのに対し、DKIMはヘッダやメッセージの電子署名を用いる点が異なる。
実施に当たって、実にありがたいことに面倒なことはほとんどGoogleのクラウドがやってくれるが、一点だけユーザーで行わなければならないことがある。
DKIMの仕組み上、受け取り側がメッセージを検証するために、送信元の公開鍵をグローバルに公開する必要があるが、これにはDNSのTXTレコードを使用することになっている。
DNSの管理はGoogle外なので、つまりユーザーは自らの管理するDNSにTXTレコードを作る作業は自分で行わなければならない。
公開鍵はGoogle Appsのコントロールパネルで生成できる。(Advanced Tools⇛Authenticate email)
あとはこれをコピー&ペーストでBINDのマスターファイルに転記すればよい。ootsuka.jpドメインの場合は、以下のようになった。
google._domainkey 86400 IN TXT ("v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkQF6QQxwRDtOW7LlvAtY5PxYfWlW+ YkUSroBt6SZdlCIwxyP6jQBxvbEsaDeqVtBOApk25TRkeaVa2Dnr7CNAdlIPNY/07dudEO /NQMSWxZ/y9pZsXKPeWhpjgRelkh9PES5Kdh3XrA+K0ncw4R1lZJYVhxsgF8VpQxhAoAa6 3QIDAQAB")
digで確認。
$ dig -t txt google._domainkey.ootsuka.jp @a.ns.ootsuka.jp ; <<>> DiG 9.5.1-P3 <<>> -t txt google._domainkey.ootsuka.jp @a.ns.ootsuka.jp ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59951 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1 ;; QUESTION SECTION: ;google._domainkey.ootsuka.jp. IN TXT ;; ANSWER SECTION: google._domainkey.ootsuka.jp. 86400 IN TXT "v=DKIM1\; k=rsa\; t=y\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkQF6QQxwRDtOW7LlvAtY5PxYfWlW+Yk USroBt6SZdlCIwxyP6jQBxvbEsaDeqVtBOApk25TRkeaVa2Dnr7CNAdlIPNY/07dudEO/NQM SWxZ/y9pZsXKPeWhpjgRelkh9PES5Kdh3XrA+K0ncw4R1lZJYVhxsgF8VpQxhAoAa63QIDAQ AB" ;; AUTHORITY SECTION: ootsuka.jp. 259200 IN NS ns14.zoneedit.com. ootsuka.jp. 259200 IN NS a.ns.ootsuka.jp. ootsuka.jp. 259200 IN NS ns16.zoneedit.com. ;; ADDITIONAL SECTION: a.ns.ootsuka.jp. 259200 IN A 219.99.179.189 ;; Query time: 1 msec ;; SERVER: 219.99.179.189#53(219.99.179.189) ;; WHEN: Tue Jan 11 01:02:10 2011 ;; MSG SIZE rcvd: 383
ootsuka.jpというドメインから見ると、どの程度効果があるのかは不明だが、Google Appsという世界でも有数のホスティングサービスが対応した点で大きな意義があることだと言えるだろう。