Cloudflare Area 1 Email Security と Office 365 のインライン設定時の検疫ユースケースを整理する

# 目的
以下の設定バリエーションについて、わかりやすいように `mermaid` で図示して整理します。

[Office 365 use cases · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/a16bd682-42f8-18c7-85d7-c783aedac2d8.png)

Office 365 のドキュメントでは以下が参考になります。

- [Exchange Onlineのメッセージで SCL へのメール フロー ルールを使用する | Microsoft Learn](https://learn.microsoft.com/ja-jp/exchange/security-and-compliance/mail-flow-rules/use-rules-to-set-scl?view=o365-worldwide)
- [EOP のスパム信頼レベル (SCL) | Microsoft Learn](https://learn.microsoft.com/ja-jp/microsoft-365/security/office-365-security/anti-spam-spam-confidence-level-scl-about?view=o365-worldwide)

:::note info
[Cloudflare Area 1 の IP アドレスを IP 許可リストに設定](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/#1-add-area-1-ip-addresses-to-allow-list)している場合には、スパムフィルター処理がスキップ（`SCL=-1` に設定）されるため、意図しない挙動となります。必要に応じて IP 許可リスト設定を見直してください。

> - [既定の接続フィルター ポリシーを構成する | Microsoft Learn](https://learn.microsoft.com/ja-jp/microsoft-365/security/office-365-security/connection-filter-policies-configure?view=o365-worldwide)
**IP 許可リスト**: 指定した送信元 IP アドレスまたは IP アドレス範囲からのすべての受信メッセージのスパム フィルター処理をスキップします。 すべての受信メッセージは、マルウェアと信頼度の高いフィッシング用にスキャンされます。
:::

# 参考：検知に対する推奨アクション

[Message handling - Deploy and configure Microsoft Office 365 with Area 1 as the MX Record · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/#4-message-handling)

> | 検知 | アクション |
> |:-:|:-:|
> | `MALICIOUS` | 常に隔離されるべきである。ユーザーが通知を必要とする場合、メッセージの解放には管理者の承認が必要です。ユーザは、管理者の承認なしに、悪意のある電子メールを自己修復する能力を持ってはならない。メールには本文と件名のラベルを必ず付けること。 |
> | `SUSPICIOUS` | 隔離されるべきではありません。メールは本文と件名にラベル付けされ、ユーザーの受信トレイまたは迷惑メールフォルダに配信されます。Advantage のお客様は、この設定でURL defangを使用してください。一方、Enterpriseのお客様は、常にメールリンクの分離を有効にしてください。 |
> | `SPAM` | 常に隔離する必要があります。ユーザが通知を必要とする場合、メールを解放するために管理者の承認が必要な場合と不要な場合があります。メールには件名ラベルを付けましょう。 |
> | `BULK` | 隔離されるべきではありません。電子メールには件名ラベルを付けて、受信トレイまたは迷惑メールフォルダに配信する。 |
> | `SPOOF` | SPOOFの検出がクリーンな状態であり、許可リストで適切に管理されている場合、メールは常に隔離されます。SPOOFの検出がクリーンでない場合、Enhanced Detectionsが設定されていれば、SPAM処分と同じ扱いになります。そうでない場合、SPOOF検出メールはBULKとして扱われます。メールには本文と件名のラベルを付けましょう。 |

# ユースケース１： Office 365 の迷惑メールフォルダと Area 1 の管理者隔離にメールを配信する（推奨）
Office 365 の迷惑メールフォルダと Area 1 の管理者隔離にメールを配信します。

- [1 - Junk email and Area 1 Admin Quarantine - Office 365 · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine/)

```mermaid:
graph LR

Incoming[Incoming<br>Email] --> MALICIOUS & SUSPICIOUS & BENIGN

subgraph Cloudflare Area 1 Email Security
subgraph Dispositions
MALICIOUS["MALICIOUS<br>---------------<br>SPAM<br>---------------<br>SPOOF"]
SUSPICIOUS["SUSPICIOUS<br>---------------<br>BULK"]
BENIGN
end
Admin[Admin<br>Quarantine]
MALICIOUS --> |Quarantine<br>Policy|Admin
end

subgraph Office 365
MailFlow["Mail flow rule<br>(Transport rule)"]
Junk[Junk<br>Email<br>Folder]
subgraph Anti-spam [Anti-spam policy]
Spam["Spam<br>(SCL = 5, 6)"]
Hcspam["High<br>confidence<br>spam<br>(SCL = 7, 8, 9)<br>---------------<br>Phishing<br>---------------<br>High<br>confidence<br>phishing"]
end
Defender[Administrative<br>Quarantine]
Inbox
end

SUSPICIOUS ---> |"X-Area1Security-Disposition<br>message header"|MailFlow
BENIGN ---> Spam & Hcspam
BENIGN ---> Inbox
MailFlow --> |"Set SCL to 5<br>(Spam Confidence Level)"|Spam
Spam ---> |"Move messages to Junk Email folder"|Junk
Hcspam --> |"Quarantine<br>Policy"|Defender
Defender -.-> |"User Notification<br>+<br>Admin Release"|Inbox
```

# ユースケース２： Office 365 の迷惑メールフォルダと Office 365 のユーザー管理隔離にメールを配信する（悪意のあるメールは Area 1 の管理者隔離）

`SUSPICIOUS` と `BULK` メッセージは Office 365 の迷惑メールフォルダに、
`SPAM` と `SPOOF` メッセージは Office 365 のユーザー管理隔離に配信する。

- [2 - Junk email and user managed quarantine - Office 365 · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine/)

```mermaid:
graph LR
Incoming[Incoming<br>Email] --> MALICIOUS & SPAM & SUSPICIOUS & BENIGN
subgraph Cloudflare Area 1 Email Security
subgraph Dispositions
MALICIOUS
SUSPICIOUS["SUSPICIOUS<br>---------------<br>BULK"]
SPAM["SPAM<br>---------------<br>SPOOF"]
BENIGN
end
Admin[Admin<br>Quarantine]
MALICIOUS --> |Quarantine<br>Policy|Admin
end
subgraph Office 365
MailFlow1["Mail flow rule #1<br>(Transport rule)"]
SUSPICIOUS --> |X-Area1Security-Disposition<br>message header|MailFlow1
MailFlow2["Mail flow rule #2<br>(Transport rule)"]
SPAM --> |X-Area1Security-Disposition<br>message header|MailFlow2
subgraph Anti-spam [Anti-spam policy]
Spam["Spam<br>(SCL = 5, 6)"]
Hcspam["High<br>confidence<br>spam<br>(SCL = 7, 8, 9)"]
Phishing["Phishing<br>---------------<br>High<br>confidence<br>phishing"]
end
MailFlow1 --> |"Set SCL to 5<br>(Spam Confidence Level)"|Spam
MailFlow2 --> |"Set SCL to 9<br>(Spam Confidence Level)"|Hcspam
Defender[Administrative<br>Quarantine]
User[User managed<br>Quarantine]
Junk[Junk<br>Email<br>Folder]
Inbox
end
Spam ---> |Move messages to Junk Email folder|Junk
Hcspam --> |"Quarantine<br>Policy #1"|User
User -.-> |User Notification<br>+<br>User Release|Inbox
Phishing --> |"Quarantine<br>Policy #2"|Defender
Defender -.-> |User Notification<br>+<br>Admin Release|Inbox
BENIGN ----> Spam & Hcspam & Phishing & Inbox
```

# ユースケース３：Office 365 の迷惑メールフォルダと Office 365 の管理者隔離にメールを配信する
`SUSPICIOUS` と `BULK` のメッセージは Office 365 の迷惑メールフォルダに、
`MALICIOUS` 、`SPAM` 、`SPOOF` のメッセージは Office 365 の管理者隔離に配信されます。
（これは Office 365 管理者がメールを解放する必要があります。）

- [3 - Junk email and administrative quarantine - Office 365 · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine/)

```mermaid:
graph LR
Incoming[Incoming<br>Email] --> MALICIOUS & SUSPICIOUS & BENIGN
subgraph Cloudflare Area 1 Email Security
subgraph Dispositions
MALICIOUS["MALICIOUS<br>---------------<br>SPAM<br>---------------<br>SPOOF"]
SUSPICIOUS["SUSPICIOUS<br>---------------<br>BULK"]
BENIGN
end
end
MALICIOUS --> |X-Area1Security-Disposition<br>message header|MailFlow2
subgraph Office 365
MailFlow1["Mail flow rule #1<br>(Transport rule)"]
SUSPICIOUS --> |X-Area1Security-Disposition<br>message header|MailFlow1
MailFlow2["Mail flow rule #2<br>(Transport rule)"]
Junk[Junk<br>Email<br>Folder]
subgraph Anti-spam [Anti-spam policy]
Spam["Spam<br>(SCL = 5, 6)"]
Hcspam["High<br>confidence<br>spam<br>(SCL = 7, 8, 9)<br>---------------<br>Phishing<br>---------------<br>High<br>confidence<br>phishing"]
end
MailFlow1 --> |"Set SCL to 5<br>(Spam Confidence Level)"|Spam
MailFlow2 --> |"Set SCL to 9<br>(Spam Confidence Level)"|Hcspam
Defender[Administrative<br>Quarantine]
Inbox
end
Spam ---> |Move messages to Junk Email folder|Junk
Hcspam --> |"Quarantine<br>Policy"|Defender
Defender -.-> |User Notification<br>+<br>Admin Release|Inbox
BENIGN --> Spam & Hcspam & Inbox
```

# ユースケース４： Office 365 のユーザー管理隔離と Office 365 の管理者隔離にメールを配信する
`SPAM` および `SPOOF` メッセージは Office 365 のユーザー管理隔離に、
`MALICIOUS` メッセージは Office 365 の管理者隔離に配信します。
（この場合、Office 365 管理者がメールを解放する必要があります。）

- [4 - User managed quarantine and administrative quarantine - Office 365 · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine/)

```mermaid:
graph LR
Incoming[Incoming<br>Email] --> MALICIOUS & SPAM & BENIGN
subgraph Cloudflare Area 1 Email Security
subgraph Dispositions
MALICIOUS
SPAM["SPAM<br>---------------<br>SPOOF"]
BENIGN["SUSPICIOUS<br>---------------<br>BULK<br>---------------<br>BENIGN"]
end
end
MALICIOUS --> |X-Area1Security-Disposition<br>message header|MailFlow1
subgraph Office 365
MailFlow1["Mail flow rule #1<br>(Transport rule)"]
MailFlow2["Mail flow rule #2<br>(Transport rule)"]
SPAM --> |X-Area1Security-Disposition<br>message header|MailFlow2
subgraph Anti-spam [Anti-spam policy]
Spam["Spam<br>(SCL = 5, 6)"]
Hcspam["High<br>confidence<br>spam<br>(SCL = 7, 8, 9)<br>---------------<br>Phishing<br>---------------<br>High<br>confidence<br>phishing"]
end
MailFlow2 --> |"Set SCL to 5<br>(Spam Confidence Level)"|Spam
MailFlow1 --> |"Set SCL to 9<br>(Spam Confidence Level)"|Hcspam
Defender[Administrative<br>Quarantine]
User[User managed<br>Quarantine]
Inbox
end
BENIGN --> Spam & Hcspam
Spam --> |"Quarantine<br>Policy #2"|User
Hcspam --> |"Quarantine<br>Policy #1"|Defender
Defender -.-> |User Notification<br>+<br>Admin Release|Inbox
User -.-> |User Notification<br>+<br>User Release|Inbox
BENIGN --> Inbox
```

# ユースケース５： Office 365 の迷惑メールフォルダと Office 365 の管理者隔離にメールを配信する（ユーザへの隔離通知なし）

ユースケース３とは隔離通知がない点のみ異なる。
構成はユースケース３と同様。

- [5 - Junk email folder and administrative quarantine - Office 365 · Cloudflare Area 1 Email Security docs](https://developers.cloudflare.com/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine/)

```mermaid:
graph LR
Incoming[Incoming<br>Email] --> MALICIOUS & SUSPICIOUS & BENIGN
subgraph Cloudflare Area 1 Email Security
subgraph Dispositions
MALICIOUS["MALICIOUS<br>---------------<br>SPAM<br>---------------<br>SPOOF"]
SUSPICIOUS["SUSPICIOUS<br>---------------<br>BULK"]
BENIGN
end
end
MALICIOUS --> |X-Area1Security-Disposition<br>message header|MailFlow2
subgraph Office 365
MailFlow1["Mail flow rule #1<br>(Transport rule)"]
SUSPICIOUS --> |X-Area1Security-Disposition<br>message header|MailFlow1
MailFlow2["Mail flow rule #2<br>(Transport rule)"]
Junk[Junk<br>Email<br>Folder]
subgraph Anti-spam [Anti-spam policy]
Spam["Spam<br>(SCL = 5, 6)"]
Hcspam["High<br>confidence<br>spam<br>(SCL = 7, 8, 9)<br>---------------<br>Phishing<br>---------------<br>High<br>confidence<br>phishing"]
end
Defender[Administrative<br>Quarantine]
MailFlow1 --> |"Set SCL to 5<br>(Spam Confidence Level)"|Spam
Inbox
end
Spam ---> |Move messages to Junk Email folder|Junk
Hcspam --> |"Quarantine<br>Policy"|Defender
MailFlow2 --> |"Redirect the message to hosted quarantine"|Defender
Defender -.-> |NO User Notification<br>+<br>Admin Release|Inbox
BENIGN --> Spam & Hcspam & Inbox
```

# 参考：Office 365 隔離通知メール

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/67b77165-61a6-2a84-1f6b-ab14a2df1718.png)