社長の名前を騙った詐欺メールを Rspamd でブロックする

社長を騙った詐欺メール Enterprise Linux 9
このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク

昨年末ごろから、社長の実名で部下に詐欺メールが届く事例が全国的に発生しているようで、私の管理しているサーバーにも届きました。

おそらく会社のウェブサイトからドメインと代表者名を取得して、無差別に送信しているのでしょうが、差出人に実名が入っているとギョッとするユーザーも多いと思います。

今回の詐欺メールは、差出人アドレスがフリーメール(Outlook や Gmail)なのが特徴で、自社ドメインのメールアドレスで運用している会社ならすぐに異変には気付くことができます。逆にフリーメールのおかげで DMARC を PASS するため、スパムフィルターに引っ掛からずに素通りしてきます。

今回は、以前構築した Rspamd を使って、社長のなりすましメールをブロックする方法を共有します。

要件

今回のなりすましメールの特徴に合わせて「表示名に社長の名前が入っていた場合」かつ「メールアドレスが自社のドメインではない場合」のブロックルールを設定していきます。

環境

  • OS: AlmaLinux release 9.7 (Moss Jungle Cat)
  • スパムフィルター: Rspamd daemon version 3.14.3

設定

それでは Rspamd でブロックルールを設定していきます。

表示名のリストを作成

まずは、表示名で騙られる社長の名前のリストを作成します。

/etc/rspamd/local.d/ceo_name.map を作成して、正規表現を使って記入します。

Web GUI から操作できるように、所有者を変更しておきます。

自社ドメインのリストを作成

次に、自社のメールで使用されるドメインをリストアップします。

/etc/rspamd/local.d/my_domain.map を作成してドメインを列挙します。

こちらも Web GUI から操作できるように、所有者を変更しておきます。

Multimap で個別ルールを設定

下記で設定する IS_CEO_NAME と IS_CORP_DOMAIN の個別スコアを 0 に設定し、マッチしても直ちに判定は行わず、composites.conf の判断材料とします。

表示名の判定

ルール名は IS_CEO_NAME としました。

送信者の表示名を filter = "email:name"; で抽出し、ceo_name.map のリストと比較します。

MIME エンコードされた文字列は Rspamd によってデコードされ、UTF-8 として正規表現の判定にかけられます。

ドメインの判定

ルール名は IS_CORP_DOMAIN としました。

ドメイン名を filter = "email:domain"; で抽出し、my_domain.map のリストと比較します。

/etc/rspamd/local.d/multimap.conf の最後に判定ルールを追加します。

Composites で組み合わせて判定

/etc/rspamd/local.d/composites.conf に、IS_CEO_NAME と IS_CORP_DOMAIN を組み合わせる条件を記述し、最終スコアを付けます。

また、自社ドメインの場合は DMARC_POLICY_REJECT の判定を合わせることで、ドメインを詐称してくる場合にも対応できます。

Rspamd をリロード

Rspamd をリロードして、上記の設定を反映します。

以上で設定は完了です。

結果

設定後に届いた、なりすましメールのヘッダーを見たところ、きちんと動作しているようです。

まとめ

ニュースにもなっていましたが、実際に詐欺の被害にあわれた企業もあるようです。このような詐欺メールをユーザーから遠ざけてあげることで、被害が少なくなることを願います。

コメント

タイトルとURLをコピーしました