概要: スパム(または迷惑メール)は業務の妨げとなり、詐欺やフィッシングなどの悪質な行為の餌食となる恐れがあります。

このトピックでは、Plesk に付属するツールを使用してスパムから防御する方法を説明します。

このトピックは、各ツールの機能を概説し、使用方法をわかりやすく説明するものです。ツールを最大限に活用できるように構成する方法は、専門知識を必要とするため、本トピックの対象外となります。

概要

Plesk には、数々のスパム防止ツールが用意されています。

  • SpamAssassin スパムフィルタ
  • DNS ブラックホールリスト
  • (Plesk for Linux)SPF、DKIM、DMARC
  • (Plesk for Linux)グレーリスト
  • (Plesk for Linux)メールサーバのブラックリストとホワイトリスト

それぞれのツールは、スパムを検知する方法も、欠点も、消費するサーバリソースの量も異なります。複数のツールを組み合わせて使用できます。これにより、個々のスパムメッセージウが検知される可能性が高まりますが、リソースの消費量や誤検知の可能性も増加します。

使用するツールを選択する際は、貴社でのシナリオを考慮してください。

  • 1 つ以上のメールアドレスやドメインからスパムを受信している。
  • さまざまなメールアドレスやドメインからスパムを受信している。
  • 特定のメールアドレスやドメインからのメールがスパム扱いされないようにしたい。
  • 自社のサーバから送信されたメールがスパム扱いされないようにしたい。あるいは、ドメインスプーフィングができないようにしたい。

シナリオに応じて、他のツールより役に立つツールがあります。それぞれのシナリオで使用できるツールについて、以下で詳しく説明します。

このトピックで説明する各ツールを有効にすると、以下の図に示す順序で機能します。緑色の矢印はチェックに合格したことを、赤色の矢印は失敗したことを意味します。

Plesk for Linux

image flowchart linux

  1. 送信者のドメイン名がメールサーバのブラックリストに対してチェックされます。ブラックリストに含まれていた場合、このメッセージは拒否されます。
  2. 送信者の IP アドレスがメールサーバのホワイトリストに対してチェックされます。ホワイトリストに含まれていた場合、このメッセージの DNSBL チェックはスキップされます。
  3. 送信者の IP アドレスがメールサーバのホワイトリストに含まれていない場合、構成された DNSBL リストに対してチェックされます。このリストに含まれていた場合、メッセージは拒否されます。
  4. メッセージが配信用に初めて送信された場合、グレーリストで一時的に拒否されます。
  5. メッセージが配信用に再送された場合、メッセージは SPF チェック、DKIM チェック、続いて DMARC チェックを受けます。
  6. メッセージが前のチェックすべてに合格した場合、メッセージは SpamAssassin によってスキャンされます(送信者のメールアドレスまたはドメインが SpamAssassin のホワイトリストに含まれている場合や、メッセージのサイズが SpamAssassin でチェックできる最大サイズを超えている場合を除く)。

その後、メッセージは受信者のメールボックスに配信されます。

Plesk for Windows

image flowchart windows

  1. 送信者の IP アドレスが、構成された DNSBL リストに対してチェックされます。このリストに含まれていた場合、このメッセージは拒否されます。
  2. メッセージは SpamAssassin によってスキャンされます(送信者のメールアドレスまたはドメインが SpamAssassin のホワイトリストに含まれている場合や、メッセージのサイズが SpamAssassin でチェックできる最大サイズを超えている場合を除く)。

その後、メッセージは受信者のメールボックスに配信されます。

特定のメールアドレスまたはドメインからのスパムから防御する

1 つ以上のメールアドレスやドメインから正当なメールを受信しておらず、スパムしか送信されて来ない場合、そこからの受信メールをすべてブロックするのが最も簡単な対処方法です。

(Plesk for Linux)特定のドメインからのメールをすべてブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
  3. [ブラックリスト]タブを開きます。
  4. [ドメインを追加](既に 1 つ以上のドメインがリストに含まれている場合は image plus icon アイコン)をクリックします。
  5. ドメイン名を指定して(たとえば example.com)、[OK]をクリックします。

指定したドメインから受信したすべてのメールがメールサーバによって拒否されるようになります。これには、スパムと正当なメールの両方が含まれます。

(Plesk for Linux)特定のメールアドレスまたはドメインからのメールをすべてスパムとしてマークする

  1. Plesk にログインします
  2. [ツールと設定] > [スパムフィルタ]([メール]の下)の順に選択します。
  3. [サーバ全体に対する SpamAssassin スパムフィルタをオンにする]チェックボックスがオンになっていることを確認します。
  4. [ブラックリスト]タブを開きます。
  5. [アドレスを追加]をクリックして、メールアドレスを指定(たとえば「example@example.com」。example.com からのすべてのメールをスパムとマークする場合は「*@example.com」)してから、[保存]をクリックします。

指定したメールアドレスまたはドメインから受信したすべてのメールが SpamAssassin によってスパムとしてマークされるようになります。これには、スパムと正当なメールの両方が含まれます。メッセージが SpamAssassin によってスパムとしてマークされると、SpamAssassin の設定に応じて特定のアクションが実行されます(メッセージをスパムとしてマークするだけか、「Spam」フォルダに移動するか、削除するか)。

(Plesk for Windows)特定のメールアドレスまたはドメインからのメールをすべてスパムとしてマークする

  1. Plesk にログインします
  2. [ツールと設定] > [スパムフィルタ]([メール]の下)の順に選択します。
  3. [サーバ全体に対する SpamAssassin スパムフィルタをオンにする]チェックボックスがオンになっていることを確認します。
  4. [ブラックリスト]タブを開きます。
  5. [ドメインを追加](既に 1 つ以上のメールアドレスがリストに含まれている場合は image plus icon アイコン)をクリックして、 メールアドレスを指定します(たとえば「example@example.com」。example.com からのすべてのメールをスパムとマークする場合は「*@example.com」)。
  6. リストに含まれるメールアドレスからのメッセージに対して行う処理を指定し(スパムとしてマークまたは削除、[OK]をクリックします。

SpamAssassin が有効化されているすべてのメールアカウントに対して、指定したメールアドレスまたはドメインから受信したすべてのメールが SpamAssassin によってスパムとしてマークまたは削除されます。これには、スパムと正当なメールの両方が含まれます。

すべてのソースからのスパムから防御する

さまざまなメールアドレスやドメインからスパムを受信している場合は、数多くのツールを使用して防御できます。それぞれのツールが違う方法でスパムを特定しているため、ツールはすべて組み合わせて使用できます。

(Plesk for Linux)送信元アドレスが偽装されたメールをブロックする

多くのスパムは、正当な企業や組織を装って送られてきます。偽装された送信元とは違うところから送信されたメールは正当なメールではないと考えるのが合理的です。SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting and Conformance)は、そのようなメールの特定に用いられる 3 つのメカニズムです。最適な結果を得るために、3 つすべてを組み合わせて使用することをお勧めします。

  • SPF では、メールの送信が許可されるすべてのドメイン名と IP アドレスを列挙する TXT DNS レコードをドメイン所有者が作成することが前提となります。受信側のメールサーバが、許可されるいずれかのドメインの A または AAAA レコードに送信者の IP アドレスが一致することを検証し、TXT レコードのエントリの中に送信者の IP アドレスがないか探します。一致するものがなければ SPF チェックは失敗です。
  • DKIM では、すべての送信メールに署名されるようにドメイン所有者がメールサーバを構成することが前提となります。「差出人」フィールドは必ず署名する必要があり、メッセージの他の部分も署名することが可能です(たとえば、送信中に行われたメッセージコンテンツの改ざんを検知することを目的として)。さらに、所有者は対応する公開鍵が含まれる TXT DNS レコードを作成する必要があります。受信側のメールサーバが公開鍵と照合して署名を検証します。検証が成功しなければ DKIM チェックは失敗です。
  • DMARC では、SPF / DKIM チェックが失敗した場合に受信側メールサーバが行うべきアクションを指定する TXT DNS レコードをドメイン所有者が作成することが前提となります。

したがって、SPF と DKIM は不正なメールを特定するために使用され、DMARC はそれに対して何をすべきかを提案します。

Plesk での DKIM、SPF、DMARC の使用について詳しくは、こちらをご覧ください。

このアプローチのメリット:

  • 送信者アドレスが偽装されたメールを効果的にフィルタリングします。

このアプローチのデメリット:

  • ドメイン所有者がメールサーバと DNS レコード正しく構成し、DMARC ポリシーを指定することが前提となります。
  • 正当なメールの配信に支障を来す可能性があります(たとえば、メールを転送するメールサーバが、送信者アドレスを正しく書き換えるように構成されていない場合)。
  • 適切に構成されたメールサーバから送信されるスパムは阻止できません(たとえば、Gmail や Outlook などの人気の無料メールプロバイダ)。

SPF チェックを使用してスパムをブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
  3. [SPF スパム防御を有効化して受信メールをチェック]チェックボックスをオンにして、[OK]をクリックします。

受信するすべてのメールに対して、ローカルの SPF ポリシー、ローカルの SPF guess ルール、およびメールの送信元とされるドメインの SPF ポリシーに基づく SPF チェックが実行されるようになります。Plesk メールサーバは、それぞれの受信メールについて、チェック結果に基づいてメールを拒否するか、メールに SPF ヘッダを追加します。

DKIM チェックを使用してスパムをブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
  3. [DKIM スパム防御]の下で[受信メールを検証する]チェックボックスをオンにして、[OK]をクリックします。

受信するすべてのメールに対して、DKIM チェックが実行されるようになります。Plesk メールサーバは、それぞれの受信メールに DKIM ヘッダを追加します。たとえ DKIM チェックが失敗しても、そのこと自体でメールの配信が阻止されることはありません。さらなる措置を講じるためには、Plesk サーバで DMARC チェックを有効にするとともに、メールの送信元とされるドメインが DMARC ポリシーを公開している必要があります。

DMARC ポリシーを使用してスパムをブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
  3. 前述のとおり SPF チェックと DKIM チェックの両方を有効にします。
  4. [受信メールのチェック用に DMARC を有効にする]チェックボックスをオンにして、[OK]をクリックします。

すべての受信メールに対して SPF チェックと DKIM チェックが実行されるようになります。個々のメールは、送信元とされるドメインの公開の DMARC ポリシーに応じて処理が行われます。

(Plesk for Linux)送信元アドレスが偽装されたメールを拒否する

デフォルトで、受信メールが DMARC チェックで失格となり、DMARC ポリシーに従って配信対象として受け付けるべきではないと判断された場合、そのメールはサイレントドロップされます。つまり、Plesk メールサーバはクライアントに応答コード 2yz で返信し、メールを破棄して、受信者への配信を試みません。ユーザは Plesk メールサーバを構成して、DMARC チェックで失格となったメールを応答コード 5yz で明示的に拒否するように設定することができます。

DMARC チェックで失格となったメールを拒否する:

  1. Plesk サーバに SSH 経由でログインします。

  2. 以下のコマンドを実行します。

    plesk bin settings -s mail_dmarc_reject_at_smtp=true && plesk repair mail -y
    

Plesk メールサーバは DMARC チェックで失格したメールを応答コード 5yz で拒否するようになります。

DNS ブラックホールリスト(DNSBL)を使用してスパムをブロックする

数多くの組織が、スパムの送信元として知られる IP アドレスのリストを管理しています。1 つ以上のリストを使用するように Plesk を構成して、そうした IP アドレスからのメールをすべてブロックすることができます。

注釈: 使用すべき DNSBL リストについて、Plesk から推奨することはありません。

Plesk での DNSBL リストの使用について詳しくは、こちらをご覧ください。

このアプローチのメリット:

  • 既知のスパマーの既製リストを使用できます。

このアプローチのデメリット:

  • DNSBL リストは手作業で更新されます。あるサーバがスパムの送信を開始してから、その IP アドレスがリストに登録されるまで、しばらく時間がかかる可能性があります。
  • DNSBL リストは、正当なメールとスパムの両方を送信するメールサーバも例外なく扱います。DNSBL リストの使用によって、正当なメールが配信されなくなる可能性もあります。
  • DNSBL リストを使用することで、どのメールを許可してどのメールを拒否するかの管理を第三者の手に委ねることになります。

DNSBL リストを使用してスパムをブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
  3. [DNS ブラックホールリストに基づくスパム防御をオンにする]チェックボックスをオンにします。
  4. 必要な DNSBL リストの DNS ゾーンを指定して(たとえば「dnsbl.example.com」)、[OK]をクリックします。

構成されたブラックリストに含まれるすべてのサーバから受信したすべてのメールがメールサーバによって拒否されるようになります。これには、スパムと正当なメールの両方が含まれます。

(Plesk for Linux)グレーリストを使用してスパムをブロックする

グレーリストを有効にすると、Plesk メールサーバは正当なメールとスパムの区別を試みることなくすべての受信メールを「一時的に拒否」します。正しく設定された正当なメールサーバであれば、一定の時間が過ぎると、一時的に拒否されたメールの再送を試みます(2 回目の試みでこのメッセージは Plesk メールサーバに許可されます)。スパムを送信する悪意がある(またはハッキングされた )PHP スクリプトの場合、再送は行いません。

Plesk でのグレーリストの使用について詳しくは、こちらをご覧ください。

このアプローチのメリット:

  • グレーリストでは、正当なメールをブロックする可能性を抑えながら、受信するスパムのイチ部をフィルタリングできます。

このアプローチのデメリット:

  • グレーリストを使用するということは、すべての正当なメールの配信に遅延が生じます。遅延の長さは送信元のメールサーバ側で構成されるため、Plesk で管理することはできません。メールに一刻を争う情報が含まれている場合、これによって不利益が生じ、メールが果たして配信されたのかという懸念を引き起こす可能性もあります。
  • 場合によっては、グレーリストによって正当なメールの配信が失敗する可能性があります(たとえば、正当なメールの送信元であるメールサーバが正しく構成されておらず、一時的な拒否の後で再送を試みない場合)。
  • グレーリストでは、適切に構成されたメールサーバから送信されるスパムを阻止できません(たとえば、Gmail や Outlook などの人気の無料メールプロバイダ)。

グレーリストを使用してスパムをブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [スパムフィルタ]([メール]の下)の順に選択します。
  3. [サーバ全体に対するグレイリストスパム防御を有効にする]チェックボックスをオンにして、[OK]をクリックします。

すべての受信メッセージ(正当なものとスパムの両方)が、Plesk メールサーバに最初に到達したときに一時的に拒否されるようになります。

SpamAssassin を使用してメールをブロックする

SpamAssassin は、事前構成された多数のフィルタ(たとえば、スパムメールに関連する特定の言葉がメッセージに含まれるかどうか)をメッセージのコンテンツに適用することでスパムを特定します。個々のフィルタがトリガされるたびに、メッセージのが SpamAssassin スコアが上昇します。スコアが特定のしきい値に達するか越えると、そのメッセージはスパムとしてマークされるか削除されます。

Plesk での SpamAssassin の使用について詳しくは、こちらをご覧ください。

このアプローチのメリット:

  • SpamAssassin はサードパーティの挙動に依存しません。送信元のドメインに SPF/DMARC ポリシーがなく、送信元のサーバが DNSBL リストに記載されていない場合でも、スパムとして認識できます。
  • SpamAssassin は詳細に構成できますが、微調整するためには専門知識が必要です。

このアプローチのデメリット:

  • SpamAssassin チェックはリソース集約型です。大量のメールを受信した場合、それぞれの受信メールに対して SpamAssassin チェックを実行すると、サーバのリソース、とりわけ RAM が大量に必要になります。
  • 通常、SpamAssassin は特定のサイズ以内のメールのみをチェックするように構成します。 SpamAssassin でチェックするメールの最大サイズを増やすことはできますが、大型のメールはスキャンに時間がかかり、大量の RAM を消費します。
  • SpamAssassin は絶対に確実ではなく、誤検知(フォールスポジティブとフォールスネガティブの両方)が起こり得ます。

SpamAssassin を使用してスパムをブロックする:

  1. Plesk にログインします
  2. [ツールと設定] > [スパムフィルタ]([メール]の下)の順に選択します。
  3. [サーバ全体に対する SpamAssassin スパムフィルタをオンにする]チェックボックスをオンにします。
  4. (オプション)個々のメールアカウントに対して SpamAssassin を有効または無効にするか、構成するには、[スパムフィルタにユーザごとの設定を適用する]チェックボックスをオンにします。
  5. (オプション)フィルタをより厳格にするには、[メッセージをスパムとして判断するスコア値]フィールドの値を引き下げます。フィルタを緩和するには、この値を引き上げます。フィルタをより厳格にすると、スパムが通過する可能性が下がる一方で、誤検知の可能性が上がります(緩和する場合はその反対)。ほとんどの場合、デフォルト値の「7.0」が最適です。
  6. (オプション、Plesk for Linux)SpamAssassin による RAM の平均消費量を減らすには、[実行するワーカ spamd プロセスの最大数]フィールドの値を引き下げます。これにより、受信メールが配信前にキューの中で SpamAssassin によるスキャンを待機する時間が長くなります。許可される最低値は「1」、最高値は「5」です。
  7. [OK]をクリックします。

特定のサイズ(デフォルトでは 256 kB 以下)の受信メールすべてがスキャンされます。スパムだと疑われるメールは件名が変更されます(デフォルトでは「***SPAM***」というテキストが追加されます)。

受信メールがスパムとしてマークされるのを防ぐ

スパム対策ツールは絶対に確実ではありません。時には、正当なメールが拒否されたり、スパムとしてマークされたりします。特定のメールアドレス、ドメイン、IP アドレスまたはサブネットからの正当なメールが繰り返し拒否されたりスパムとしてマークされたりする場合は、ツールを微調整してそのような事態が発生する可能性を抑えることができます。

注釈: SPF チェック、DKIM チェック、DMARC チェックがサーバで有効になっている場合、それらのチェックを個別のドメインやメールアドレスに対して選択的に無効にする方法はありません。これはグレーリストについても同じです。

IP アドレスとサブネットワークをホワイトリストに追加する

個別の IP アドレスまたはサブネットワーク全体をメールサーバのホワイトリストに追加できます。これは次のようなことを意味します。

  • ホワイトリストに追加された IP アドレスからのメールは常に配信が許可されます。その IP アドレスが 1 つ以上の DNSBL リストに含まれている場合でも、拒否されることはありません。
  • ホワイトリストに登録された IP アドレスからのメールが、SPF/DKIM/DMARC チェックの結果に基づいて拒否されたり、グレーリストによって一時的に拒否されたり、SpamAssassin によってスパムとしてマークされたりする可能性はあります。

(Plesk for Linux)メールサーバのホワイトリストに IP アドレスを追加する

  1. Plesk にログインします
  2. [ツールと設定] > [メールサーバ設定]([メール]の下)の順に選択します。
  3. [ホワイトリスト]タブを開きます。
  4. [ネットワークを追加](既に 1 つ以上の IP アドレスがリストに含まれている場合は image plus icon アイコン)をクリックします。
  5. IP アドレスまたは IP アドレスの範囲を指定して、[OK]をクリックします。

追加された IP アドレスからのメールは、送信者のドメインがメールサーバのブラックリストに追加された場合を除いて拒否されなくなり、DNSBL チェックはスキップされます。ただし、他のツールによって拒否されたり、スパムとしてマークされたりする可能性はあります。

ドメインとメールアドレスをホワイトリストに登録する

IP アドレスをメールサーバのホワイトリストに追加した場合でも、メールが SpamAssassin によってスパムとしてマークされる可能性はあります。SpamAssassin が特定のメールアドレスやドメイン(Plesk for Windows ではメールアドレス、ドメイン、IP アドレス)からのメールをスキャンするのを停止するには、これらを SpamAssassin のホワイトリストに追加します。

(Plesk for Linux)SpamAssassin のホワイトリストにメールアドレスとドメインを追加する

  1. Plesk にログインします
  2. [ツールと設定] > [スパムフィルタ]([メール]の下)の順に選択します。
  3. [ホワイトリスト]タブを開きます。
  4. [アドレスを追加]をクリックします。
  5. Upload a file containing the list of email addresses you want to whitelist. Alternatively, you can select the "From a list" radio button and enter one or more email addresses (for example, "example@example.com", or "*@example.com", and then click Save.

追加されたメールアドレスとドメインからのメールは、SpamAssassin によってスキャンされなくなります。

(Plesk for Windows)SpamAssassin のホワイトリストにメールアドレスとドメインを追加する

  1. Plesk にログインします
  2. [ツールと設定] > [スパムフィルタ]([メール]の下)の順に選択します。
  3. [ホワイトリスト]タブを開きます。
  4. [ネットワークを追加](既に 1 つ以上の IP アドレスがリストに含まれている場合は image plus icon アイコン)をクリックします。
  5. IP アドレス、IP アドレスの範囲、メールアドレス(たとえば mail@example.com)またはドメイン(たとえば *@example.com)を指定して、[OK]をクリックします。

追加された IP アドレス、メールアドレス、ドメインからのメールは、SpamAssassin によってスキャンされなくなります。

送信メールがスパムとして扱われないように保護する

SPF と DKIM を使用することで、送信メールが受信者に拒否されたりスパムとして扱われたりする可能性を抑えることができます。また、他者による偽装からドメイン名を保護します。いずれのツールも、さらに構成に手を加えることなくそのまま使用できます。

送信メールの SPF はデフォルトで構成されており、Plesk サーバ上でホストされているドメイン名をスパマーによる偽装から保護できます。また、受信側のメールサーバによって送信メールがスパムとして扱われる可能性を抑えることができます(受信側のメールサーバが SPF チェックを実行するように構成されていることが前提となります)。

対応する TXT DNS レコードは Plesk DNS ゾーンテンプレートに含まれています。したがって、Plesk で作成されたすべてのドメインの DNS ゾーンに含まれているということです。デフォルトの SPF レコードの値は次のとおりです。

v=spf1 +a +mx +a:<hostname> -all

これは、受信側のメールサーバに対し、Plesk でホストされているドメインから受信したメールについて、ドメインの A レコードと MX レコードまたは Plesk サーバ自体の A レコードと関連付けられた IP アドレスから発信された場合を除き、メールを拒否するよう指示します。

注釈: このポリシーは、個別ドメインに対して(ドメインの SPF レコードを編集することで)変更することも、サーバでホストされているすべてのドメインに対して(DNS テンプレートを編集してすべてのドメインに変更を適用することで)変更することもできます。ただし、SPF レコードの構文を熟知している場合を除き、変更はお勧めしません。SPF レコードの構成を間違えると、そのドメインから来るメールをメールサーバが拒否するようになる可能性があります。

個別ドメインに対して送信メールの SPF を無効にするには、ドメインの SPF レコードを削除します。サーバでホストされているすべてのドメインに対して送信メールの SPF を無効にするには、DNS テンプレートから SPF レコードを削除して、すべてのドメインに変更を適用します。

デフォルトで、送信メール向けの DKIM 署名はサーバで有効になっています。また、DNS とメールを Plesk でホストしている新規ドメインに対しても有効になっています。

該当する TXT DNS レコードは Plesk DNS ゾーンテンプレートに含まれています。つまり、Plesk で作成されたすべてのドメインの DNS ゾーンに含まれています。当該ドメインに属するメールアカウントから送信されたすべてのメールが、該当する TXT DNS レコードの DKIM プライベートキーで署名されるようになります。これにより、受信側のメールサーバがそれらのメールをスパムとして扱う可能性を抑えることができます(受信側のメールサーバが DKIM チェックを実行するように構成されていることが前提となります)

注釈: 外部 DNS サーバを使用するドメインでは、デフォルトで DKIM を有効にすることはできません。このようなドメインに対しては、DKIM を手動で有効にする必要があります。