DKIM、SPF、DMARC による防御と ARC サポート
概要: Plesk は、メール送信者の身元確認に使用される最新のアンチスパムメカニズムをサポートしています。具体的には、DKIM、SPF、DMARC、および ARC です。
このトピックでは、Plesk で DKIM、SPF、DMARC による防御を構成する方法を学習します。また、Plesk for Linux で ARC サポートがどのように実装されるかについても学習します。
このトピックで説明する 3 つのメカニズムの概要とその機能は以下のとおりです。
- 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 チェックの結果に応じてメールメッセージをどのように処理すべきかを定義します。
- ARC (Authenticated Received Chain) は、中間メールサーバ (メーリングリストやメール転送サービスなど) が特別なヘッダを使用してメールの認証結果を保存できるようにするテクノロジーです。これにより、中間メールサーバの処理によってメールの SPF レコードと DKIM レコードが無効になった場合でも、送信先メールサーバがメールを検証できるようになります。
メールサーバでこれらのソリューションを使用するための要件:
メールサーバ | DKIM | SPF* | SRS | DMARC | ARC |
---|---|---|---|---|---|
Postfix(Linux) | ➕ | ➕ | ➕ | ➕ | ➕ |
Qmail (Linux) | ➕ | ➕ | ➖ | ➕ | ➕ |
MailEnable Professional (Windows) | ➕ | ➖ | ➖ | ➖ | ➖ |
MailEnable Standard (Windows) | バージョン 9.16 以降 | ➖ | ➖ | ➖ | ➖ |
SmarterMail (Windows) | ➕ | ➖ | ➕ | ➕ | ➖ |
IceWarp (Windows) | ➕ | ➖ | ➕ | ➖ | ➖ |
この表の「+」は、このソリューションが Plesk Obsidian でサポートされるすべてのバージョンでサポートされることを意味します。「-」は、サポートされないことを意味します。
注釈: * 上の表で、SPF のサポートとは、受信メールの SPF を指します。Linux メールサーバが「+」になっているのは、Plesk for Linux が受信メールと送信メールで SPF をサポートしているためです。Windows メールサーバが「-」になっているのは、Plesk for Windows が送信メールのみで SPF をサポートしているためです。
DKIM
ドメインに対して DKIM を有効にすると、このドメインから送信されるすべてのメールに特別なヘッダが追加されます。このヘッダには暗号化された秘密鍵が含まれています。受信側のメールサーバは公開鍵を使用することで、メールが実際にそのドメインから送信されたもので、送信中に第三者によって改ざんされていないことを確認します。ヘッダのないメールは真正のメールではないと判断されます。
Plesk では、DKIM のサポートのために、外部ライブラリ(Linux)または Plesk に付属するメールサーバ(Windows)の機能を使用します。
サーバで DKIM を有効/無効にする
Plesk では DKIM がデフォルトで有効になっています。DKIM を無効にするか、送受信メール用にのみ維持するには、[ツールと設定] > [メールサーバ設定]([メール]の下)に進み、[DKIM スパム防御]セクションまで下にスクロールして、以下のいずれかのチェックボックスまたはそれらの両方をオフにします。
- 送信メールの電子署名を許可する:このオプションを使用すると、顧客がドメインごとに送信メールの DKIM 署名を管理できるようになります。
- (Plesk for Linux)受信メールを検証する:このオプションは、すべての受信メールに対して DKIM チェックをオンにします。すべてのメッセージがチェックされ、チェックが失敗すると特別なヘッダでマークされます。
注釈: DMARC が有効な場合、受信メールに対する DKIM チェックを無効にすることはできません。
ドメインに対して DKIM を有効にする
サーバで DKIM 署名が有効になっている場合、DNS とメールを Plesk でホストしている新規ドメインは、デフォルトで DKIM により送信メールに署名します。
外部の DNS サーバを使用するドメインでは、デフォルトで DKIM を有効にすることはできません。DKIM で送信メールに署名する場合、Plesk がドメインの DNS ゾーンに次の 2 つのレコードを追加します(example.com
は、お使いのドメイン名です):
-
default._domainkey.example.com
には、生成された鍵のパブリック部分が含まれます。 -
_ domainkey.example.com
には、DKIM ポリシーが含まれます。このポリシーは編集できます。
Plesk でホストされるドメインと違い、外部 DNS サーバを使用するドメインには、Plesk はこれらのレコードを追加できません。これらのドメインに関しては手動で DKIM を有効にする必要があります。
外部 DNS サーバを使用するドメインに対して送信メールの DKIM 署名を有効にするには:
-
[ウェブサイトとドメイン] > ドメイン名 > [メール]タブ > [メール設定]の順に選択します。
-
[送信メールメッセージへの署名に DKIM スパム防御システムを使用]チェックボックスをオンのままにします。
-
[外部 DNS の構成方法]のヒントをクリックします。表示される 2 つの DNS レコードをコピーして、DNS サーバに追加します。
注釈: メールの送信に使用するドメインエイリアスがある場合、それにも DKIM DNS レコードを追加してください。ドメインエイリアス名で、メインドメイン用と同じレコードを使用してください。
SPF と SRS
SPF(Sender Policy Framework)とは、送信者アドレスの偽造、つまり偽の送信者アドレスの使用を防ぐための方法です。ドメインの管理者は SPF を使用して、ドメインからのメール送信を特定のホストに対して許可するポリシーを設定できます。受信側メールサーバは、あるドメインから受信したメールが、そのドメインの管理者によって認証されたホストから送信されたことを確認できます。SPF は送信者の DNS ゾーンで管理者によって指定されたルールに基づいています。
Plesk では、DNS レコードにルールを指定することによって送信メールに SPF ポリシーをセットアップできます。Plesk for Linux では、SPF はデフォルトで受信メールもチェックします。
SPF をセットアップした場合、メールサーバは以下のアルゴリズムステップに従って受信メールをチェックします。
-
ローカルルールを読み込みます。
ローカルルールとは、スパムフィルタに使用されるルールです。ローカルルールの例:
a:test.plesk.com
-
送信者の DNS SPF レコード(もしあれば)を検索します。
SPF レコードの例:
example.com. TXT v=spf1 +a +mx -all
-
ローカルルールと SPF レコードを連結してポリシーを生成します。
この例では、生成されるポリシーは
example.com. TXT v=spf1 +a +mx +a:test.plesk.com -all
です。注釈: If the mail server detects no SPF record, local rules will be ignored as well.
-
前のステップで生成されたポリシーに対してメールをチェックします。
-
guess ルールを読み込みます。
guess ルールとは、SPF レコードを上書きするグローバルルールです。guess ルールの例:
v=spf1 +a/24 +mx/24 +ptr ?all
-
guess ルールのみに対してメールをチェックします。
-
生成されたポリシーに対するチェック(ステップ 4)と guess ルールのみに対するチェック(前のステップ)という 2 つのチェックの結果を比較し、結果の許容度がより高い方のチェックが適用されます。
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 レコードの構文の詳細はこちらをご覧ください。ポリシーの記法は RFC7208 で確認できます。
(Plesk for Linux) 受信メールをチェックするように SPF を構成するには:
-
[ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択し、[SPF スパム防御]セクションまで下にスクロールします。
-
[SPF チェックモード]ドロップダウンボックスからオプションを選択して、SPF がローカルルールと guess ルールを適用したときにメールをどのように処理するかを指定します。
- Received SPF ヘッダの作成のみ。ブロックはしない: SPF チェック結果を問わず、すべての受信メッセージを受け付けます。
- DNS ルックアップで問題が発生した場合、一時エラー通知を使用:DNS ルックアップの問題が原因で SPF チェックが失敗した場合でも、SPF チェック結果を問わずすべての受信メッセージを受け付けます。
- SPF が「fail」と判断したメールを破棄する(拒否):当該ドメインの使用が許可されていない送信者からのメッセージを拒否します。
- SPF が「softfail」と判断したメールを破棄する:送信が許可されていることを SPF システムで確認できない送信者や、当該ドメインに対して SPF レコードが発行されていないため許可されない送信者からのメッセージを拒否します。
- SPF が「neutral」と判断したメールを破棄する:送信が許可されていることを SPF システムで確認できない送信者や、当該ドメインに対して SPF レコードが発行されていないため許可されない送信者からのメッセージを拒否します。
- SPF が「pass」と判断しなかったメールを破棄する:理由を問わず(例:送信者のドメインに SPF が実装されていない、SPF チェックの結果が「unknown」(不明)ステータスである)、SPF チェックに合格しなかったメッセージを拒否します。
-
ローカルルールを指定するには、必要なルールを[SPF ローカルルール]ボックスに入力します。例: include:spf.trusted-forwarder.org
SPF ルールについて詳しくは、こちらを参照してください。
-
[SPF guess ルール]ボックスに guess ルールを指定することもできます。
例: v=spf1 +a/24 +mx/24 +ptr ?all
-
メッセージが拒否された場合に SMTP 送信者に戻されるエラー通知を指定するには、[SPF 解釈テキスト]ボックスにテキストを入力します。
何も入力しないと、デフォルトテキストが通知として使用されます。
-
[OK]をクリックしてセットアップを完了します。
(Plesk for Linux) 受信メールの SPF チェックを無効にするには:
- [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
- [DMARC]セクションで、[DMARC を有効化して受信メールをチェック]チェックボックスがオンになっていればオフにします。
- [SPF スパム防御]セクションで、[SPF スパム防御を有効化して受信メールをチェック]チェックボックスをオフにして、[OK]をクリックします。
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)とは、SPF と DKIM の機能を拡張するテクノロジーです。DMARC ポリシーは、受信側で DKIM および SPF チェックの結果に応じてメールメッセージをどのように処理すべきかを定義します。このテクノロジーは、送信者の DNS ゾーンに指定されたルールを利用します。
Plesk で、DNS レコードにルールを指定することで、送信メール向けに DMARC ポリシーをセットアップできます。
注釈: Plesk for Linux および SmarterMail を使用する Plesk for Windows では、DMARC はデフォルトで受信メールもチェックします。
送信メール用のカスタム DMARC ポリシーをセットアップするには:
- [ツールと設定] > [DNS 設定]([一般設定]の下)の順に選択します。
- DMARC ポリシーに関連する DNS レコードを編集します。これらの DNS レコードは、常にサーバ全体の DNS テンプレートにあります。一方、DKIM に関連する DNS レコードは、ドメインで DKIM をアクティブ化すると、個別ドメインの DNS ゾーンに追加されます。
たとえば、Plesk のデフォルト DMARC ポリシーは、次のレコードに定義されています。
_dmarc.<domain>. TXT v=DMARC1; adkim=s; aspf=s; p=quarantine
このポリシーに従い、受信メールサーバは、DKIM チェックと SPF チェックに合格しなかったメールを隔離する必要があります。つまり、そのメールを迷惑メールフォルダに移動させ、疑わしいというフラグを立てます。より厳格なポリシーを指定することもできます。ただし、受信サーバは受信メールに対して独自のポリシーを自由に適用できます。
ポリシーの記法を含め、DMARC について詳しくはこちらを参照してください。
ドメインは独自の DMARC ポリシーを個別に持つこともできます。このポリシーは顧客によって編集可能です。Plesk で DNS とメールをホストしている新規ドメインでは、デフォルトで DMARC 隔離ポリシーが有効になっています。
DMARC による受信メールのチェックを無効にするには:
- [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
- [DMARC]セクションで、[DMARCを有効化して受信メールをチェック]チェックボックスをオフにして[OK]をクリックします。
(Plesk for Linux) ARC
ARC (Authenticated Received Chain) は、中間メールサーバがメールにヘッダを追加することでメーリングリストから転送または送信されるメールに認証の追加レイヤーを追加できるようにするテクノロジーです。これにより、最終的な受信メールサーバは、メールが SPF、DKIM、および/または DMARC チェックに失敗した場合でも、メールを正当なものとして扱うことができます (ただし、必ずしもそうする必要はありません)。
注釈: ARC は、Postfix または qmail メールサーバを実行しているすべての Plesk Obsidian 18.0.58 以降のサーバでサポートされています。現時点では、Plesk for Windows でサポートされているメールサーバのいずれも ARC をサポートしていないため、ARC は Plesk for Linux でのみサポートされています。
注釈: Plesk の ARC サポート実装は、Gmail アカウントに 1 日に 5000 件以上のメッセージを送信する送信者に対して、転送されたメールに ARC ヘッダを追加するという Google の要件 を満たしています。
制約事項
- メーリングリストに送信されるメールには ARC ヘッダは追加されません。
- Plesk は受信メールの ARC ヘッダを検証しません。
ARC のサポートを有効化する
(Plesk for Linux) サーバで ARC サポートを有効にするには:
- Plesk にログインします。
- [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
- [DKIM スパム防御] の下にある [送信メールの電子署名を許可する] チェックボックスをオンにします。
- (推奨) [SPF スパム防御] の下で、[SPF スパム防御を有効化して受信メールをチェック] チェックボックスをオンにします。
- (推奨) [DMARC] の下で、[受信メールのチェック用に DMARC を有効にする] チェックボックスをオンにします。
- [OK]をクリックします。
これで、Plesk 転送機能を介して転送される送信メールや自動応答によって送信される送信メールに ARC ヘッダを追加できるようになりました。
サーバ上で ARC サポートが有効になると、個々のメールドメインに対して ARC を有効にできるようになります。
注釈: ARC 署名を有効にするには、転送メールアカウントをホストしているドメインに対して、DKIM が機能するために必要な DNS レコードが適切に構成されている必要があります。
(Plesk for Linux) ドメインに対して ARC を有効にするには:
- Plesk にログインします。
- [ウェブサイトとドメイン] に移動し、メールアカウントをホストするドメインを探し、[メール] タブに移動して [メール設定] をクリックします。
- [送信メールメッセージへの署名に DKIM スパム防御システムを使用]チェックボックスをオンにして[OK]をクリックします。
ARC ヘッダが、Plesk 転送機能を介して転送される送信メールや、ドメインでホストされているいずれかのメールアカウントによって自動返信される送信メールに追加されるようになります。