1.DKIMの概要
DKIMはRFC6376にインターネット標準として規定されています。DKIMの概要について簡単に紹介します。メールへの署名
DKIM ではまずメールサーバがメール配送時に秘密鍵を使用して、指定されたヘッダ (Date ヘッダや From ヘッダ、To ヘッダ、Subject ヘッダなど) と本文を対象にメールに署名します。
署名されたメールには次のような DKIM 署名のヘッダ DKIM-Signature が追加されます。
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=default; t=1555040205; bh=wE7NXSkgnx9PGiavN4OZhJztvkqPDlemV3OGuEnLwNo=; h=Date:From:To:Subject:Message-ID; b=GQIiALOKQZZjJAmG/PGpMFPLeS4SxmUT4mLUtJs7nT2GVI4/qfWAXjLifIJo7Gxok VhEg4tmGfGBAqcIoyu+KE4poIFrtyRzFrogbpT+DT1BjdhrsPUTwLpxg9yhb3It3sp d1rcBQwVyzr9gkHqbUMfjw7G82I+/PYsbnDUQm3tU/XSciM6VMA1eF7DKLP3GyIoHB 2vOsHGi+lVzO7APdut3NlcUcXIN0nhYsJaW+r/RzItis/8RvOvRlq+EtBSwCmWsKnW tah9JFNZ/mdYZEz3IaqF2CskGNag3H2/qYaKDrrP12IYLEWoheUlCeXHorojqix8Ct 6k//Xj40vo4lg==
"h="タグに署名で使用されたヘッダが、"bh=" タグに署名で使用された本文のハッシュ値が記録されます。 そして、"b=" タグに、これらをもとに生成された署名データが記録されます。
公開鍵情報
署名したドメイン (SDID) の DNS には、署名に使用した秘密鍵と対になる公開鍵が TXT レコードとして登録されています。
上記ヘッダ例では "d=" タグに SDID として "example.com" が、"s=" タグに DNS のセレクタとして "default" が指定されており、公開鍵は以下のように "default._domainkey.example.com" の TXT レコードに公開されています。
default._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArXKU4LkpFI/dcHOvhG2B" "tGrwOTT2VMm8C9Us3M87lbEkM00kCI4WiK/N1BP9VRI9FCjKA5SeG1Qg9PgShXJA" "eriW9hHOspsYk/7wIvA59kMC+TppP2fQSSIQGuKEj0ls48bfr7FVhdM3zqRTa2yW" "RS9rpbIzxNfg304PucTTZF77zkBH+UEEp9icjWdUAS4ftJWPZilTqXveHFVvLrDe" "ae1l9/0bpj96+BWgqOCPdDf0dV9xG+9OIx/t5kuwif+MP0GL6e1y+NqhlYqiZtg+" "e52bxOnm+zN1R2aUHQW35o6NzK/ksvVVADbbrU6nMaiNjtq7QbE9wI+BxPsSb73o" "1wIDAQAB" )
DKIM署名の検証
DKIM の署名を検証するアプリケーションは DKIM-Signature ヘッダ を基に DNS から公開鍵を入手し、署名を検証します。
例えば、"h=" タグに指定されたヘッダが変更されていたり、本文の内容が変更されていれば検証に失敗します。
2.DKIM検証の判定について
対象のドメインがTMEmS/V1ECSの設定[強制するピア]に含まれているかによって変化いたします。
対象のドメインが[強制するピア]に含まれていない場合
以下の場合に検証結果はFailとなり、それ以外のケースではPassとなります。
- DKIM検証により、"h="タグで指定されたヘッダまたは本文の変更が検出された場合
対象のドメインが[強制するピア]に含まれる場合
[強制するピア]に含まれていない場合のケースに加えて、以下の場合にも検証結果がFailとなります。
- From ヘッダとSDID ("d=" タグ) のドメインが一致しない場合
- DKIM署名の検証自体が実施できない場合
- DNSから公開鍵を取得できない
- メールにDKIM署名がされていない
3.DKIM検証の設定
[受信保護設定] > [ドメインベース検証] > [DomainKeys Identified Mail (DKIM) 検証] から設定します。
デフォルトでは「管理対象ドメイン」が"初期設定 (ドメインが未指定の場合)"のルールが用意されており、受信保護方向のメールすべてが対象となります。
"初期設定 (ドメインが未指定の場合)”のルールとは別に、[ドメイン]で登録した各ドメインに対する個別の新規DKIMルールの追加も可能です。
TMEmS/V1ECSは受信保護方向のメールを受信すると、エンベロープ受信者のドメインに対応するDKIM検証ルールが存在するか確認します。
対応するドメインのDKIM検証ルールが存在し、当該ルールの「ステータス」が"有効化"となっていれば当該ルールを適用します。
そうでない場合、"初期設定(ドメインが未指定の場合)”のルールの「ステータス」が"有効化"となっていれば、"初期設定 (ドメインが未指定の場合)”のルールを適用します。
DKIMルールの各設定項目は以下の通りです。
DKIM検証を有効にする
DKIM検証を有効にする場合にチェックを入れます。
エンベロープ送信者アドレスのないメールメッセージのDKIM検証をスキップする
バウンスメール(エラーメール)のような「エンベロープ送信者アドレスが空である」メールに対してDKIM検証を行わせたくない場合にチェックを入れます。
Xヘッダをメールメッセージに挿入する
DKIM検証の結果をメールにXヘッダとして付与する場合にチェックを入れます。
有効な場合、X-TM-Authentication-Results ヘッダが付与され、ヘッダ値にDKIM検証結果が記載されます。
具体的なサンプルについてはオンラインヘルプ(TMEmS / V1ECS)よりご確認下さい。
インターセプト
DKIM検証結果がFailとなった場合に、TMEmS/V1ECSに実施させる処理をそれぞれ設定します。
設定できる処理は、"メッセージをインターセプトしない"、"メッセージ全体を削除"、"隔離"のいずれかとなります。
タグ付けと通知
DKIM検証がFailとなった場合に、メールの件名にタグを付与するか、通知メールを送信するかを設定します。
除外するピア
DKIM認証の除外対象とするドメインを設定します。エンベロープ送信者アドレスのドメインまたは接続元IPアドレスが[除外するピア]に登録されている場合、当該メールはDKIM検証がバイパスされます。
最大で500エントリまでドメインを登録できます。
強制ピア
通常より厳しいDKIM認証判定を適用するドメインを設定します。
エンベロープ送信者アドレス(オプションでヘッダ送信者アドレスも対象として追加可能)のドメインが[強制するピア]に登録されている場合、当該メールには通常より厳しいDKIM認証が行われます。詳細は「2.DKIM検証の判定について」をご参照ください。
最大で500エントリまでドメインを登録できます。