Cloudflare Email Security の Outbound DLP を Microsoft 365 で確認する

# 目的

:::note info
機能の有効化については、Cloudflare アカウントチームにご相談ください。
:::

Cloudflare Email Security の Outbound DLP を、以下の手順に従って Microsoft 365 で確認します。

https://developers.cloudflare.com/cloudflare-one/email-security/outbound-dlp/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/03866a8d-4016-45ea-8346-ce07000c7567.png)


# 動作イメージ
以下のようにアドインをインストールしますが、アドイン自体はメール配信をブロックしません。

その代わり、`cf_outbound_dlp: BLOCK` ヘッダを追加します。

そのヘッダを判定条件に使った Microsoft Purview DLP ポリシーによって、メール配信をブロックできます。

```mermaid:
%%{init: {'themeCSS': 'img {width: 48px; height:48px;}'}}%%
%%<img src='https://cf-icons.pages.dev/calls.svg' width='48' height='48'/><br>
graph 

subgraph M365 [Microsoft 365]
Outlook[<img src='https://outlook.office.com/mail/favicon.ico' width='48' height='48'/><br>Outlook]:::transparent
Addin[<img src='https://cf-icons.pages.dev/gear.svg' width='48' height='48'/><br>Cloudflare DLP Add-In]:::transparent

subgraph MTA [Purview DLP Policy]

Policy{<img src='https://cf-icons.pages.dev/dlp.svg' width='48' height='48'/><br>Check if<br>cf_outbound_dlp: BLOCK<br>header exists}
end

end

subgraph Cloudflare [Cloudflare Email Security]
DLP[<img src='https://cf-icons.pages.dev/email-security.svg' width='48' height='48'/><br>Outbound DLP]:::transparent
end

Allow["<img src='https://cf-icons.pages.dev/email-forwarding.svg' width='48' height='48'/><br>Deliver"]:::transparent
Block["<img src='https://cf-icons.pages.dev/notifications.svg' width='48' height='48'/><br>Block/Encrypt<br>/Send for approval<br>with notifications"]:::transparent

Outlook --> |Read Content|Addin
Addin --> |<div align='center'><img src='https://cf-icons.pages.dev/exclamation-sign.svg' width='48' height='48'/><br>Display Alert Message<br>+<br>Insert Header|Outlook
Addin <--> |Interact with policies|DLP

classDef hidden display: none;
classDef transparent fill-opacity:0,stroke-opacity:0;

Outlook --> |Send|MTA
Policy --> |<div align='center'><img src='https://cf-icons.pages.dev/ok.svg' width='48' height='48'/><br>No Header|Allow
Policy --> |<div align='center'><img src='https://cf-icons.pages.dev/remove.svg' width='48' height='48'/><br>Has Header|Block

style MTA fill-opacity:0,stroke-opacity:0;
%%style TCPApp fill-opacity:0,stroke-opacity:0;
%%style Note fill:#ffd, stroke:#ccb, fill:#fff,stroke-dasharray: 5 5
```

# Cloudflare Outbound DLP 設定

`Email Security` ＞ `アウトバウンド DLP` から設定を `始める` ことができます。

`アドインをダウンロード` から `xml` ファイルをダウンロードします。

`必要な要件をすべて満たしたことを確認します。` にチェックを入れて、`ポリシーを追加する` に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/4047556a-46e9-a75c-53d8-f5d8b671d02c.png)

以下の記事で作成した DLP カスタムプロファイルを使用したアウトバウンドポリシーを作成ます。

https://qiita.com/khayama/items/89891e5e2160c9e2eecd#dlp-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%BD%9C%E6%88%90

>![image-20221130010442804](https://cdn.jsdelivr.net/gh/kyouheicf/image@master/uPic/image-20221130010442804.png)

>![image-20221130010636530](https://cdn.jsdelivr.net/gh/kyouheicf/image@master/uPic/image-20221130010636530.png)

カスタムメッセージとして以下の内容を設定します。

:::note warn
警告！このメール本文には機密情報が含まれる可能性があります。本当に送信してもよろしいですか？
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/f03298f7-c882-ef25-b823-9fcc358a6e0d.png)

# Cloudflare DLP アドインインストール
以下の記事で紹介した手順とほぼ同じです。

https://qiita.com/khayama/items/db4f521086ec9ff3e7c9#office-365-%E8%A8%AD%E5%AE%9A

ダウンロードした `xml` ファイル `office365-addin.ces.dlp.teams.cloudflare.com.manifest-2025.x.x.x.xml` をアップロードして展開します。

https://learn.microsoft.com/ja-jp/microsoft-365/admin/manage/manage-deployment-of-add-ins?view=o365-worldwide

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/d2fa23e5-3aa0-1097-9e5a-965e82f87eda.png)

以下のように Cloudflare Data Loss Prevention のアドインの展開操作が完了します。

:::note warn
Cloudflare アドインはインストール後、伝播に最大 24 時間かかることがあります。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/a045878c-8174-eaf6-05c1-db6c38c28da9.png)

# 動作確認（Microsoft Purview DLP ポリシーなし）
以下のように件名や本文の入力を読み取って、Cloudflare Outbound DLP で設定したカスタムメッセージが表示されることを確認できます。

入力を消すと、カスタムメッセージの表示も消えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/b2c02154-9600-4901-a2a7-40cca948b9b2.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/4ab84848-a01b-4045-a59e-023dade3f688.png)

また、以下のような PDF ファイルを添付した場合でも、カスタムメッセージが表示されることを確認できます。

```tex:dlptest.pdf
おはようございます、こんにちは、こんばんは
よろしくお願いします。
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/ba7e1a71-6ff0-4b75-9e71-acecde23c8ad.png)

送信しようとすると、さらにアドインからメッセージが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/fa48bcae-1dd7-4359-99bd-1b47b930955c.png)

ただ、Microsoft Purview DLP ポリシーがない状態なので、このまま送信自体は可能です。（いわゆる Soft Block の状態です。）

受信したメッセージでは `cf_outbound_dlp: BLOCK` ヘッダが追加されていることを確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/63ed852e-7842-4377-8878-290da992ca49.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/cfed9f83-ea33-41f5-9332-daad831576af.png)


# Microsoft Purview DLP ポリシー設定
以下の URL から Microsoft Purview DLP ポリシーを設定します。
[https://purview.microsoft.com/datalossprevention/](https://purview.microsoft.com/datalossprevention/`)

https://learn.microsoft.com/ja-jp/purview/dlp-create-deploy-policy?tabs=purview

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/ce32b044-511f-4278-bb4e-927b8701f61f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/5208fbba-aebf-4908-92d6-47ac1119a724.png)

メールのみを対象とする場合は、 `Exchange メール` のみを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/7436191c-c8e4-4354-aa73-fe156ddbd3c1.png)

`詳細な DLP ルールを作成またはカスタマイズします` を選択して進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/a573485b-28db-420e-9e84-80d911d3bfb3.png)

`cf_outbound_dlp: BLOCK` ヘッダが存在し、かつ組織外へのメール送信であることを条件として追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/9f334374-9331-4ab8-a21a-e54e4db86930.png)

以下の操作の処理の選択肢があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/f962e963-f3f4-4ddd-b75e-c8925b8b9ad5.png)

`Microsoft 365 の場所にあるコンテンツへのアクセスを制限またはコンテンツを暗号化する` を選択します。

ユーザ通知も有効にします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/2675786c-fecb-4418-af0e-309321526760.png)

インシデントレポートも有効にできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/cdc35c99-69ba-4d39-84c2-11858ea8a882.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/0b61302d-8725-440c-97b4-1dc0c97991d9.png)

:::note warn
ポリシーの作成後、変更が適用されるまでに最大1時間かかります。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/a7c616bc-61be-4875-9577-02ebec88d0e1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/41c947d6-70ad-4399-a95e-359d5f045d45.png)

以上で、Microsoft Purview DLP ポリシーが作成できました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/5ae50474-80aa-4352-96f7-3c12e8036da8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/875e39f4-de06-4715-85f2-9388bac34f68.png)


# 動作確認（Microsoft Purview DLP ポリシーあり）

Microsoft Purview DLP ポリシーが有効な状態で、メール送信すると、以下のようなブロック通知が届くことを確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/f0b74bcb-0153-4ed9-a561-59cc628cc949.png)

# まとめ
Cloudflare DLP アドインを導入することで、Cloudflare DLP プロファイルを活用して、インタラクティブに警告メッセージを表示させ、Soft Block な状態とできることがわかりました。

Microsoft Purview DLP ポリシーとの組み合わせによって、メッセージをブロック・通知する仕組みも簡単に実現できます。

また、Microsoft Purview DLP ポリシー次第で、操作の処理を `ホストされた検疫にメッセージを配信する` にして、検疫で内容を確認できたものは解放するといった運用も考えられます。

Cloudflare Email Security では、入り口となるフィッシングやビジネスメール詐欺（BEC）対策をしつつ、外部へのデータ漏えいリスクも同時軽減する出口対策も取ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/608e2b73-50b8-451c-a7f2-d9fa2c65dda0.png)