DKIM、SPF、DMARC による防御

Plesk は、メールメッセージの識別確認のためにさまざまなアンチスパムソリューションをサポートします。

  • DKIM(DomainKeys Identified Mail)は、ドメイン名アイデンティティを送信メッセージと紐付けたり、受信メッセージに紐付けられたドメイン名アイデンティティを暗号認証によって検証するための方法です。
  • SPF(Sender Policy Framework)とは、送信者アドレスの偽造、つまり偽の送信者アドレスの使用を防ぐための方法です。これによりメールサーバは、あるドメインから受信したメールが、そのドメインの管理者によって認証されたホストから送信されたことを確認できます。Plesk はさらに SRS(Sender Rewriting Scheme)を使用するため、転送されたメッセージが SPF チェックを通過できます。
  • DMARC(Domain-based Message Authentication, Reporting and Conformance)とは、SPF と DKIM の機能を拡張するテクノロジーです。DMARC ポリシーは、受信側で DKIM および SPF チェックの結果に応じてメールメッセージをどのように処理すべきかを定義します。

メールサーバでこれらのソリューションを使用するための要件:

メールサーバ DKIM SPF SRS DMARC

Postfix(Linux)

+

+

+

+

Qmail

+

+

-

+

MailEnable Professional

+

+

-

-

MailEnable Standard

バージョン 9.16 以降

+

-

-

SmarterMail

+

+

+

+

IceWarp

+

+

+

-

この表の「+」は、このソリューションが Plesk Onyx でサポートされるすべてのバージョンでサポートされることを意味します。「-」は、このソリューションがサポートされないことを意味します。

この章の内容:

DKIM

SPF と SRS

DMARC

 

DKIM

DKIM(DomainKeys Identified Mail)とは、メッセージに紐付けられたドメイン名の同一性を検証するために使用される手法です。これにより、企業は自動生成された署名を送信メッセージに付加してメッセージを責任を持って送信することができ、暗号化技術によって存在する署名を検証します。

Plesk では、DKIM のサポートのために、外部ライブラリ(Linux)または Plesk に付属するメールサーバ(Windows)の機能を使用します。

重要:外部の DNS サービスを使用する場合、DKIM 署名は送信メッセージでは機能しますが、受信側メールサーバでこれらのメッセージを検証することはできません。回避策として、Plesk DNS サーバをオフにして、外部 DNS サービスに DKIM 関連の DNS レコードを追加することができます。この場合、受信サーバでメッセージを検証できるようになります。

サーバで DKIM を有効/無効にする

サーバで DKIM 機能を有効にするには、[ツールと設定]>[メールサーバ設定][メール]グループ)に進み、[DKIM スパム防御]セクションまでスクロールします。以下のオプションを使用して、サーバ上の DKIM を管理できます。

  • 送信メールの電子署名を許可する:このオプションを使用すると、顧客はドメインごとに送信メールの DKIM 署名をオンにできます。すべての送信メールメッセージの署名が自動的に有効になるわけではありません。DKIM を使用するには、ドメインごとに DKIM をオンにする必要があります。
  • 受信メールを検証する:(Plesk for Linux)このオプションは、すべての受信メールに対して DKIM チェックをオンにします。すべてのメッセージがチェックされ、チェックが失敗すると特別なヘッダでマークされます。

それぞれのオプションは個別に選択できます。送信メールの署名と受信メールのチェックのどちらかを有効にするか、あるいは両方を有効にするかを選択できます。

DMARC が有効な場合、受信メールに対して DKIM チェックを無効にすることはできません。

Plesk のアップグレード後に DKIM を有効にする

Plesk Onyx 以前のバージョンから Plesk をアップグレードすると、DomainKeys が DKIM に自動的に置き換えられます。Plesk で DomainKeys 機能が有効であった場合、DKIM も有効になります。

ドメインに対して DKIM 署名を有効にする

サーバで DKIM 署名が有効である場合(上記の「サーバで DKIM を有効/無効にする」セクションを参照)、顧客は所有しているドメインからの送信メールに署名することができます。

個別ドメインからの送信メールで DKIM 署名を有効にするには:

  1. 該当する契約を管理用に開きます。
  2. 次に、[メール]タブ >[メール設定]に移動します。
  3. ドメインを選択し、[サービスのアクティブ化/非アクティブ化]をクリックします。
  4. [送信メールメッセージに電子署名する DKIM スパム防御システム]に対して[有効化]を選択してOKをクリックします。

:ドメインで DNS サービスをアクティブ化する必要があります。

ドメインで DKIM をアクティブ化すると、Plesk によってドメインの DNS ゾーンに以下の 2 つのレコードが追加されます。

  • default._domainkey.<example.com> - 生成された鍵のパブリック部分が含まれます。
  • _ domainkey.<example.com> - DKIM ポリシーが含まれます。
 

SPF と SRS

SPF(Sender Policy Framework)とは、送信者アドレスの偽造、つまり偽の送信者アドレスの使用を防ぐための方法です。SPF によって、ドメイン管理者は特定のホストに当該ドメインからメールを送信する許可を付与するポリシーを設定できます。受信側メールサーバは、あるドメインから受信したメールが、そのドメインの管理者によって許可されたホストから送信されたことを確認します。SPF は、送信者の DNS ゾーンの管理者によって指定されたルールを利用します。

Plesk では、DNS レコードにルールを指定することによって送信メールに SPF ポリシーをセットアップできます。さらに、Linux では、受信メールのチェック用に SPF を有効化できます。

受信メールのチェックに SPF を有効化すると、メールサーバは送信者のホストで DNS ルックアップを行い、SPF 関連の DNS レコードを探します。以下のルールセットを定義できます。

  • ローカルルール - メールサーバが実際に SPF チェックを行う前に スパムフィルタによって使用されるルール。

    :これらのルールは、SPF 関連 DNS レコードまたは送信者によって指定されたルールと結合されます。たとえば、送信者の SPF ポリシーが example.com.   TXT  v=spf1 +a +mx ?all で、ローカルルールが a:test.plesk.com である場合、ポリシーは example.com.   TXT  v=spf1 +a +mx +a:test.plesk.com ?all になります。

  • guess ルール - SPF レコードを発行しないドメインに適用されるルール。

SPF チェックのステータスに関する情報は、こちらで確認できます。

送信メールに SPF ポリシーをセットアップするには:

[ツールと設定]>[DNS テンプレート]に進み、SPF に関連する TXT DNS レコードを編集します。この DNS レコードは常にサーバ全体の DNS テンプレートにあります。Plesk で作成された SPF レコードの例:

example.com	TXT	v=spf1 +a +mx +a:test.plesk.com -all

このレコードの各部分には次のような意味があります。

部分 説明

v=spf1

このドメインは SPF バージョン 1 を使用する。

+a

"A" レコードのすべてのホストはメール送信が許可される。

+mx

"MX" レコードのすべてのホストはメール送信が許可される。

+a:test.plesk.com

ドメイン test.plesk.com はメール送信が許可される。

-all

他のすべてのドメインはメール送信が許可されない。

SPF に関連する DNS レコードの構文について詳しくは、 http://www.openspf.org/SPF_Record_Syntax を参照してください。ポリシーの記法については RFC7208 を参照してください。

Linux ベースのサーバで受信メールのチェック用に SPF を有効にするには:

  1. [ツールと設定]>[メールサーバ設定][メール]グループ内)に進みます。[設定]タブに、サーバ全体のメールプリファレンス画面が表示されます。
  2. [SPF スパム防御]セクションで、[SPF スパム防御を有効化して受信メールをチェック]チェックボックスをオンにします。
  3. DNS ルックアップが失敗した場合に SPF チェックを続けたい場合は、[DNS ルックアップで問題がある場合に SPF チェックを続ける]をオンにします。この場合、ホストが解決できないか、SPF 関連レコードが見つからない場合に、SPF guess ルールが適用される可能性があります。
  4. [SPF チェックモード]ドロップダウンボックスからオプションを選択して、SPF がローカルルールと guess ルールを適用したときにメールをどのように処理するかを指定します。
    1. Received SPF ヘッダの作成のみ。ブロックはしない: SPF チェック結果を問わず、すべての受信メッセージを受け付けます。
    2. DNS ルックアップで問題が発生した場合、一時エラー通知を使用:DNS ルックアップの問題が原因で SPF チェックが失敗した場合でも、SPF チェック結果を問わずすべての受信メッセージを受け付けます。
    3. SPF が "fail" と判断したメールを破棄する(拒否):当該ドメインの使用が許可されていない送信者からのメッセージを拒否します。
    4. SPF が "softfail" と判断したメールを破棄する:送信が許可されていることを SPF システムで確認できない送信者や、当該ドメインに対して SPF レコードが発行されていないため許可されない送信者からのメッセージを拒否します。
    5. SPF が "neutral" と判断したメールを破棄する:送信が許可されていることを SPF システムで確認できない送信者や、当該ドメインに対して SPF レコードが発行されていないため許可されない送信者からのメッセージを拒否します。
    6. SPF が "pass" と判断しなかったメールを破棄する:理由を問わず(例:送信者のドメインに SPF が実装されていない、SPF チェックの結果が「unknown」(不明)ステータスである)、SPF チェックに合格しなかったメッセージを拒否します。
  5. ローカルルールを指定するには、必要なルールを[SPF ローカルルール]ボックスに入力します。
    例: include:spf.trusted-forwarder.org

    SPF ルールの詳細は、http://tools.ietf.org/html/rfc4408 を参照してください。

  6. [SPF guess ルール]ボックスに guess ルールを指定することもできます。

    例:v=spf1 +a/24 +mx/24 +ptr ?all

  7. メッセージが拒否された場合に SMTP 送信者に戻されるエラー通知を指定するには、[SPF 解釈テキスト]ボックスにテキストを入力します。

    何も入力しないと、デフォルトテキストが通知として使用されます。

  8. [OK]をクリックしてセットアップを完了します。

受信メールに対して SPF チェックを無効にするには:

  1. [ツールと設定]>[メールサーバ設定][メール]グループ内)に進みます。[設定]タブに、サーバ全体のメールプリファレンス画面が表示されます。
  2. [SPF スパム防御]セクションで、[SPF スパム防御を有効化して受信メールをチェック]チェックボックスをオフにします。

:Linux ベースのサーバでは、DMARC が有効な場合、受信メールに対して SPF チェックを無効にできません。

SRS を使用する

SPF に加え、Plesk に付属する一部のメールサーバは SRS(Sender Rewriting Scheme)をサポートします。これは、メールの転送時に送信者アドレスを書き換えることにより、転送されるメールが引き続き SPF に準拠するようにする仕組みです。SRS は、SPF の使用時にメッセージが確実に送信されるようにします。

SRS は、Plesk でホストされているメールボックスからのメッセージ転送時に、自動的に使用されます。

SRS 機能を提供するために、Plesk は外部ライブラリ(Linux)またはメールサーバソフトウェア(Windows)の機能を使用します。

 

DMARC

DMARC(Domain-based Message Authentication, Reporting and Conformance)とは、SPFDKIM の機能を拡張するテクノロジーです。DMARC ポリシーは、受信側で DKIM および SPF チェックの結果に応じてメールメッセージをどのように処理すべきかを定義します。このテクノロジーは、送信者の DNS ゾーンに指定されたルールを利用します。

Plesk では、DNS レコードにルールを指定することによって送信メール用の DMARC ポリシーをセットアップできます。さらに、Linux および Windows ベースのサーバで、DMARC による受信メールのチェックを有効にできます。Linux ベースのサーバの場合、Plesk でサポートされる任意のメールサーバを使用できますが、Windows ベースのサーバの場合、SmarterMail のみを使用できます。

送信メール用のカスタム DMARC ポリシーをセットアップするには:

[ツールと設定]>[DNS テンプレート]に進み、DMARC ポリシーに関連する DNS レコードを編集します。これらの DNS レコードは、常にサーバ全体の DNS テンプレートにあります。一方、DKIM に関連する DNS レコードは、ドメインで DKIM をアクティブ化すると、個別ドメインの DNS ゾーンに追加されます。

たとえば、Plesk のデフォルト DMARC ポリシーは、次のレコードに定義されています。

_dmarc.<domain>.	TXT	v=DMARC1; p=none

このポリシーでは、受信側メールサーバでチェック結果が失敗であった場合でもメッセージを削除しないことが推奨されます。より厳格なポリシーを指定することもできますが、受信側サーバで受信するメールに独自のポリシーを適用することが可能です。

ホスティング顧客は、個別のドメインのポリシーを編集できます。

ポリシーの記法を含め、DMARC について詳しくは、https://datatracker.ietf.org/doc/rfc7489/ を参照してください。

DMARC による受信メールのチェックを有効にするには:

  1. [ツールと設定]>[メールサーバ設定][メール]グループ内)に進みます。[設定]タブに、サーバ全体のメールプリファレンス画面が表示されます。
  2. [DMARC]セクションで、[DMARC を有効化して受信メールをチェック]チェックボックスをオンにします。Linux ベースのサーバでは、受信メールに対して DKIMSPF が有効になっている場合にのみこのオプションが表示されます。

DMARC_DKIM_SPF