Area1を使って不審なメールを自動で特定フォルダに移動させる

どうもさいちゃんです。今回はCloudflare Area1のRetract Setting機能を使って、不審なメールを受信した際に自動で迷惑メールフォルダに入れるような設定をしました。
2023.05.11

Retract Settingとは

Area1の実装方式にはインライン実装とAPI実装の2パターンがあります。 ざっくり説明すると、インライン実装の展開ではメールがユーザーのメールボックスに到着する前にメールを評価することが出来るため、不審なメールをメールボックスに到着する前にブロックすることが出来ます。

一方で、API実装ではユーザーの受信トレイに到達した後にArea1がメールを評価します。 API実装はメールフローを変更することなく簡単に展開することが出来ますが、悪意のあるメールが受信者のメールボックスに到達する前にブロックすることは出来ません。

そこで、Retraction optionsを設定することでArea1が不審なメールとして判断したものをを手動、または自動でメールボックス内の特定のフォルダー(例えば、迷惑メールフォルダやゴミ箱など)に移動させることが出来ます。 今回はこちらのドキュメントに沿ってMicrosoft365の撤回設定を行ってみることにしました。

やってみる

Microsoft365でArea1の撤回を承認する

メッセージの撤回を行うためのアクセス許可の承認を行います。Area1がAzureADにサインインしているユーザーの情報と基本的な組織情報にアクセスする許可を与えます。今回与えた許可がどのように影響するのか、詳しくはMiclosoftドキュメントをご覧ください。 なお、こちらの設定を行うアカウントにはPrivileged role administratorが必要となります。

Area1ダッシュボードにログインし、設定(歯車マーク)を選択します。 Email Configuration > Retract Setting > Authorize 0365と進み、Authorizeを選択します。

Microsoftログインページにリダイレクトされますので、ここで先に記載した適切な権限を持ったAzureADアカウントを選択し、認証プロセスを開始します。

認証されると、Area1がRetract Settingを行うために必要な権限のリストが表示されたので承諾を選択します。

Area1のページに戻り、正常に認証が完了したという通知が出るのでDissmissで閉じて大丈夫です。

自動撤回アクションの構成

Area1がメッセージの撤回を行う準備は整ったので実際に撤回設定を行っていきます。

Retract Setting内のAuto-Reractに進みEditを選択します。

詳細設定のページが開くのでここで不審なメールを検出した後のアクションを検出されたメールの性質ごとに選んで行くことが出来ます。

選べるアクションは以下の通りです。

  • No Action - メッセージの移動なし
  • Junk Email - 迷惑メールフォルダに移動
  • Trash - ゴミ箱または削除済みアイテムの電子メールフォルダに移動
  • Soft Delete(User Recoveble) - 削除済みアイテムフォルダに移動。ユーザーはメッセージを復元することが出来る。
  • Hard Delete(Admin Recoveble) - メッセージをユーザーの受信トレイから完全に削除。Microsoft 365の場合メッセージは削除され、管理者の電子情報開示機能を使わないと復元不可。Gmailの場合は管理者であってもメッセージの復元は不可。

今回はSPOOF(なりすまし)として検出されたメールを迷惑メールフォルダに移動させる設定にしておきます。 Update Auto-retract Settingを選択して設定を保存しましょう。

ジャーナリングを構成する

ジャーナルルールを構成することでArea1にメールが転送されるように設定を行っていくのですが、今回は先にMicrosoft Office 365 journaling setup with Area 1を行っていたのでこの手順はスキップします。 ジャーナリングの設定方法については下記のブログで詳しく説明していますのでご覧ください。

ジャーナルルールは保存すると自動的にアクティブな状態になります。Area1に構成の変更が反映されるまで数分かかることがあるので少し待ちましょう。

Microsoft365 Graph API のセットアップ

Retract Settingを行うためにArea1にドメインの登録とMicrosoft365のGreaph APIを呼び出すための許可を与える必要があります。私の環境では先にご紹介したジャーナリング(メールの転送)機能を使ったセットアップしか行っていなかったのでAPIの呼び出しを承認するための設定を行う必要があります。 (この設定を忘れていたのでうまくフォルダ移動ができず一度ハマりました・・・)

さっそく設定を行っていきます。この設定を行うことのできるユーザーはPrivileged authentication administratorPrivileged role administratorの両方のロールを持っている必要があります。ご注意ください。

まずArea1ダッシュボードにログインし、設定(歯車マーク)を選択します。 Email Configuration > Domains & Routing > Domainsと進み、NeW Domainsを選択します。 

 

詳細の入力画面が出るので詳細を入力します。

  • DOMAIN - 今回登録するドメインを入力します。
  • CONFIGURED AS - API Scanにチェックをいれます。
  • Authorize Mail AccessとDirectory Scanning - それぞれを承認します。AUTHORIZE ACCESSを選択するとそれぞれ承認するアカウントへのログインと承認画面に飛ぶので、アカウントへログインし、画面に従って承認をします。

ここで承認するアクセス許可の内容はこちらのドキュメントに記載があります。

両方の承認が完了するとPublish Domainが選択できるようになるので、ドメインを登録します。

ドメイン一覧に登録したモノが表示されるようになっていることを確認します。

確認

今回はSPOOFとして検出されたメールを自動的に迷惑メールフォルダに送る設定にしていますので、sample userになりすました攻撃者を想定したメールを先ほど承認したドメインを持つアドレスに送ってみます。

受信トレイではなく迷惑メールフォルダにメールが届くようになりました。 Area1側で検索バーから受信したメールを確認してみるとSPOOFとして検出したメールのSTATUS欄にRETRACTEDと書かれているのが分かります。

まとめ

今回はArea1をAPIで実装した場合の不審なメールの撤回設定を行っていきました。API実装のメリットは現在のメールフローは変えずに手軽にArea1を導入できる点です。今回のRetract Settingと併せて行うことで、簡単に不審なメールを受信した後でもブロックすることが出来るのでぜひ試してみていただきたい機能の一つです。