Google Appsの「DKIM」をVALUE-DOMAINで設定する

2011年1月 9日 13:00

Google Appsで運用している独自ドメイン名のメールの送信元偽装防止対策として「SPF」に続き、このほど「DKIM認証」にも対応した。

「DKIM」とは「DomainKeys Identified Mail」の略称で、送信したメールに電子署名を付けて送信することで、送信者を詐称したメールでないことを証明する認証方式である。

電子署名は、送信メールサーバー(Google Appsの場合はGmailのサーバー)が自動的に行うので、クライアント側で新しいことをする必要はない。また、この電子署名を確認するのは受信者側のメールサーバーで、受信メールサーバーはDNSサーバーに予め登録されている公開鍵と電子署名を照合し、届いたメールが正しい送信元であることを確認する。

なにやら難しそうな話ではあるが、ドメイン管理者が行うことはDNSサーバーに公開鍵を「TXT」レコードで追記するだけである。VALUE-DOMAINユーザーの場合は、下記の設定で利用できる。

Google Appsの設定

  1. ダッシュボード(管理者画面)にログインする。
  2. この記事を書いている時点では、ダッシュボードが日本語表示になっている場合は、DKIM設定の画面が表示されないため、一時的に「英語版」にする必要がある。
    • 「ドメインの設定」→「全般」タブを下記に設定して「設定を保存」ボタンを押す。
      ・言語 = 「English(US)」
      ・新しいサービスとベータ版の機能 = 拡張版 (アメリカ英語のみ)
  3. Advanced tools」→「Authenticate email Set up email authentication (DKIM)」のリンクを開く
  4. Authenticate email」の一番下にある「Generate new record」のリンクを開くと「Generate new record」の画面が開く。
  5. 既に「Prefix selector」に「Google」と入力されているが、特に変更する必要はない。また任意の英数字の文字列を入力してもよい。
  6. Generate」ボタンを押すと
    ・DNS Host name (TXT record name):
    ・TXT record value:
    が表示される。これをDNSにTXTレコードとして登録する。

VALUE-DOMAINの設定
ここではネームサーバーで「ns*.value-domain.com」を利用している人と「dns*.name-services.com」(eNom)を利用している人で設定方法が違ってくる。

I.「ns*.value-domain.com」を利用の場合

  1. VALUE-DOMAINの管理画面にログインし、該当の独自ドメインのネームサーバー設定画面を開く。
  2. 設定フィールドに下記を追記して「保存する」ボタンを押す。
txt google._domainkey v=DKIM1; k=rsa; t=y; p=MIG(中略)QAB

※赤字の部分は「Prefix selector」画面で設定した文字列になる。未設定の場合は「google」になる。

II.「dns*.name-services.com」(eNom)を利用の場合

  1. VALUE-DOMAINのDNS情報変更画面から設定しようとすると「TXT record value」が後半が切れてしまうため、設定は出来ない。
  2. 公開鍵情報は239文字。VALUE-DOMAINの画面から入力できる文字数は130文字。そのため、eNomの画面から設定変更を行う。
    • ただ、eNomの画面から変更して、トラブルが発生した場合は、VALUE-DOMAINではサポート対象外となるため、自己責任で設定を進めて欲しい。
  3. eNomの管理画面にログインする。
    ・domain = 独自ドメイン名 (例:example.com)
    ・password = VALUE-DOMAINの「ドメインパスワード」欄に記載されているパスワード。
  4. Domain Settings」タブの「Host Records」の項目の「Edit」ボタンを押す。
  5. 次の画面で「Add New」ボタンを押す。
  6. Host Records」が編集可能の状態になるので、下記を入力し「Save」ボタンを押す。
    • Host Name = google._domainkey

      ※赤字の部分は「Prefix selector」画面で設定した文字列になる。未設定の場合は「Google」になる。

    • Address = v=DKIM1; k=rsa; t=y; v=DKIM1; k=rsa; t=y; p=MIG(中略)QAB
    • Record Type = TXT

eNomの設定画面

設定確認
  1. Google Appsのダッシュボード(管理者画面)にログインする。
  2. Advanced tools」→「Authenticate email Set up email authentication (DKIM)」のリンクを開く
  3. Authenticate email」画面一番下の「Start authentication」のボタンを押す
  4. Status欄が緑色の字で「Authenticating email」と表示されれば設定完了である。
  5. 赤字で「Not authenticating email」というメッセージが出た場合は、DNSが浸透(伝搬)していないので、時間をおいて、この項目の手順を繰り返して確認する。設定後48時間は様子見である。
  6. 設定が完了すれば、ちゃんと有効になっているかもチェックしておきたい。一番てっとり早いのはテストメールをGmail(gmail.com)宛へ送る方法である。
  7. GmailのWebメールでテストメールを受信し、「詳細を表示」のリンクを開くと「署名元」欄が表示され、DKIMを設定した独自ドメイン名が表示されていれば、正常に運用できている。
    設定完了チェック

きちんと運用できていることを確認できれば、Google Appsのダッシュボードを日本語表示に戻してもよい。

トラックバック(1)

トラックバックURL
http://cgi.kazamidori.net/mt/mt-tb.cgi/500

  1. DriveCafe ~日々漂流~ - Google Appsが送信ドメイン認証に対応2011年1月21日 16:07
    • 最近はメールサーバーを立てることもなく、ほとんどGoogle AppsのGmailにお世話になりっ放しなんだけど、そのGoogle Appsが、いままで使...続きを読む

コメント(4)

  1. DarkHor.se : 2011年1月12日 20:23 | 返信
    • 丁寧な解説で、とても参考になりました。 さっそく設定し、浸透待ちです。 ありがとうございました。
  2. Ammy : 2011年2月 9日 16:43 | 返信
    • こんにちは。
      TXTフィールド内の“ t=y”は確認が終わったら消したほうがいいと思うのですが、どうなんでしょうか?
  3. kazamidori からAmmyさんへの返信 : 2011年2月12日 09:55 | 返信
    • Ammyさん。はじめまして。

      まず「t=y」とは「DKIMのテストモード」を意味し、DKIM認証に失敗しても受信側で受信できるようにする意味があります。


      Ammyさんの疑問を受けて、休眠中のドメインを利用して、Google Apps指定のDKIMのTXTレコードから「t=y」を外し、テストしてみました。サンプルは少ないですが、このドメインからGmailとそれ以外のメールアドレス3件にメールを送ってみました。当然ながらすべて正常に受信できており、メールのヘッダーにも「DKIM-Signature」「DomainKey-Signature」が追記されていました。


      従いまして、本稿記事で正常に運用できていれば、DNSレコードから「t=y」を削除しても問題はなさそうです。


      ちなみに「gmail.com」ドメインのDKIMのコードをnslookupで確認したところTXTレコードに「t=y」がしっかりと入っていました。(gamma._domainkey.gmail.comで確認)


  4. motu : 2012年12月19日 20:09 | 返信
    • 今日、やってみました。
      気付いた変更点2ヶ所。

      1.ダッシュボードは日本語のままで出来ました。

      「高度なツール」→「メール認証(DKIM)を設定」

      2.生成されたTXTレコードに“ t=y”は存在しませんでした。

      >TXT レコード値:v=DKIM1; k=rsa; p=MIG後略

コメントする

検索

google+

阪神・淡路大震災