この記事でわかること
- gmailやoutlook.comドメインからくる迷惑メールへの対処法
- Exchange Serverのメールフロールールで「単語の組み合わせ」を使ったブロック方法
- 正規表現パターン 『(?s)AAA.*BBB』 の意味と使い方
うちの会社に届いた「社長なりすましメール」
正月休み明け、出社したらメールがたくさん溜まっていました。
よく見ると同一の送信者と思われるメールが大量に届いていて、内容はこんな感じ:
高市さなえです。おつかれさまです。
業務上の必要により、あなたは新しい会社のLINEグループチャットを作成してください。
作成が完了しましたら、QRコードをこのメールアドレスに送ってください。
いわゆる「LINEグループ詐欺」と呼ばれるタイプで、送信者名を社長や役員に偽装して、LINEのグループQRコードを騙し取ろうとするものです。
うちの社長(仮名:高市さなえ)はアナログ人間でメールアドレスを一切持っていません。なのでそもそも社長からメールが来ること自体ありえないのですが、知らない社員が騙されてしまう可能性があります。
なぜ既存のルールをすり抜けるのか
これまでの迷惑メール対策は以下の3つでした:
- 特定ドメインの拒否(使い捨てドメイン対策)
- 特定メールアドレスの拒否
- 特定キーワードを含む件名・本文の拒否
ところが今回のメールは:
- 送信元ドメインが
gmail.comoutlook.comhotmail.com→ 取引先でも使われるので拒否できない - メールアドレスが毎回異なる使い捨て → アドレス指定も無効
- 本文のキーワードも単独では微妙 → 「LINE」だけでは拒否しすぎる
さらに、送信者名「高市さなえ」をヘッダのFrom情報で指定しようとしたのですが、漢字は文字コードの都合でルールが正しく判定できませんでした。
解決策:「単語の組み合わせ」でブロックする
何通もメールを見ていると、一定のパターンが見えてきました。
本文に共通して現れるキーワード:
LINE、QRコード、グループ、メンバー、取締役、高市さなえ
ここで気づいたのが 「自社のメールではあり得ない単語の組み合わせ」 を条件にするという発想です。
例えば:
- 「LINE」単独 → 業務連絡で出てくる可能性あり
- 「取締役」単独 → 署名で普通に出てくる
- 「LINE」+「取締役」 → うちの社長はメールを使わないので、この組み合わせはあり得ない!
以下の組み合わせを登録したところ、大半の迷惑メールをブロックできました:
| 条件の組み合わせ | 理由 |
|---|---|
LINE + 取締役 |
社長はメール使用なし |
LINE + 高市さなえ |
同上 |
QRコード + グループ |
業務メールでは不要な組み合わせ |
正規表現パターン『(?s)AAA.*BBB』の解説
Exchange Serverのルールで「件名または本文がテキストパターンと一致する」を選ぶと正規表現が使えます。
基本構文
(?s)AAA.*BBB
| 部分 | 意味 |
|---|---|
(?s) |
改行を含めて「.」がマッチするモード(シングルラインモード) |
AAA |
最初のキーワード |
.* |
AAAとBBBの間に何が書いてあってもOK(0文字以上の任意の文字列) |
BBB |
2番目のキーワード |
注意点:順番がある
(?s)AAA.*BBB はAAAが先・BBBが後という順番が固定されます。どちらの順番でも検出したい場合は2パターンの登録が必要です:
(?s)LINE.*取締役
(?s)取締役.*LINE
Exchange管理センターでのルール設定手順
⚠️ 注意: ここで設定したルールは個人別ではなく、ドメイン全体に適用されます。
- Exchange管理センターを開く
- [メールフロー]→[ルール]を選択

- [+ルールの設定]プルダウンから[新しいルールの作成]を選ぶ

- 名前にわかりやすい名前をつける(例:
社長なりすまし対策) - [このルールを適用する]で「件名または本文」を選択
- 右側の条件で「件名または本文が次のテキストパターンと一致する」を選択
⚠️ ここがポイント:「件名または本文に次のいずれかの単語を含む」を選ぶとうまくいきませんでした。必ず「テキストパターンと一致する」を選んでください。 - 正規表現パターンを入力する(例:(?s)aaa.*bbb)


このとき『LINE』と『取締役』というワードがセットで入っているものを迷惑メールとして判定したい場合は
『(?s)LINE.*取締役』
と入力します。この記号を説明すると、
『(?s)』はメール本文に改行があったとしてもメール本文全体を対象とすることを意味します。
『.*』はこの左側の文字列と右側の文字列のセットであれば途中にどのような文字列があっても対象とすることを意味します。ですので
『いまからLINEするのでみなさん確認してください。
その後、取締役の人は取りまとめをお願いします。』
のような文章が対象となります。注意してほしいのはこの正規表現は順番も意味があるので
『(?s)LINE.*取締役』の場合は次のメール文章には反応しません。『取締役の皆様はLINEしてください』
もし上記の文章も対象にしたい場合は
『(?s)取締役.*LINE』 も追加する必要がありますのでご注意ください。 - アクションとして「メッセージをブロック」を設定する
またはいきなりブロックするのは不安がある場合は「メッセージのリダイレクト先」を設定してそのアドレスで内容を確認することをお勧めします。
- 保存して完了


まとめ
- 使い捨てアドレス+一般ドメインの組み合わせには、ドメイン拒否もアドレス拒否も効かない
- 「自社では絶対にあり得ない単語の組み合わせ」を見つけることが鍵
- Exchange Serverなら正規表現
(?s)AAA.*BBBで複数キーワードの共存条件が設定できる - 設定は「テキストパターンと一致する」を使うこと(「単語を含む」ではうまくいかない)
イタチごっこではありますが、パターンが見えてきたら登録を増やしていけば、かなりの数を弾けるようになります。同じような悩みを持つ管理者の方の参考になれば幸いです。
タグ: Exchange Server/迷惑メール対策/なりすましメール/メールセキュリティ/一人情シス/正規表現