社畜の所業

社畜の所業

Microsoft365の機能について解説をしていきたいと思います。このブログの情報をご活用いただければ幸いです。たまに他の情報も取り入れていきたいと思います。

※このサイトはPR記事を含みます。

【Microsoft365参考書】中継サーバーを経由するフローでSPF認証やDKIM認証をPassするには?拡張フィルタリングとは?

拡張フィルタリング

 

 

送信元サーバーから中継サーバーを経由し、Exchange Online で受信しているメールフローである場合、SPF 認証や DKIM 認証の際に中継サーバーの送信元 IP アドレスから判定をおこないます。

そのため、SPF 認証や DKIM 認証に失敗し、DMARCポリシーにより拒否されることが想定されます。

 

それを回避する方法として、[拡張フィルタリング] の機能を利用することで、外部インターネットからオンプレミスサーバーなど中継サーバーを経由して Exchange Online へ配送されるメールに対し、Exchange Online にメールを受け渡した直前のサーバーではなく送信元の IP アドレスを参照して SPF 認証や DKIM 認証をを行うことができます

 

 

Exchange Online に接続した送信元 IP アドレスはメッセージヘッダー情報上 [CIP] にて確認が可能ですが、受信コネクタの拡張フィルタリングが動作し Exchange Online で受信したメールのメッセージヘッダーの [CIP] は送信元サーバーの送信元 IP アドレスではなく、中継サーバーの送信 IP アドレスが記載されます

 

そのため、トランスポートルールで [送信者] > [IP アドレスが次の範囲内にあるか、完全に一致する] を条件としたルールを作成している場合は、最後に Exchange Online に接続したサーバーの IP アドレスを指定する必要があり、メッセージヘッダーの [CIP] の IP アドレスを指定する構成となるため、送信元サーバーの送信元IPアドレスを指定している場合は動作しないことをご注意ください。

 

 

それでは、受信コネクタと拡張フィルタリングの設定方法についてご紹介したいと思います。

 

受信コネクタの設定手順例  

  1. 全体管理者の権限を付与したアカウントで、Exchange 管理センター (https://admin.exchange.microsoft.com/) にサインインします。  
  2. 左側メニューより [メールフロー] > [コネクタ] をクリックします。  
  3. 右側画面の [+ コネクタを追加] をクリックします。  
  4. [新しいコネクタ] 画面で [パートナー組織] を選択し、[次] をクリックします。  
  5. [コネクタ名] 画面で [名前] を任意に入力し、[次] をクリックします。  
  6. [送信メールを認証する] 画面で [送信側サーバーの IP アドレスが、パートナー組織に属している次の IP アドレスのいずれかと一致することを確認する] を選択します。  
  7. 入力欄に送信元の送信 IP アドレス (大元の送信元サーバーの IP アドレス) を入力して [+] をクリックし、欄の下に表示されたことを確認してから [次] をクリックします。  

    ※ 複数の IP アドレスや CIDR 表記の範囲指定も可能です。  

  1. [セキュリティの制限] 画面で [メッセージが TLS 経由で送信されていない場合は拒否する] を運用に応じて設定します。  
  2. [コネクタを確認する] 画面で設定内容を確認し、問題がなければ [コネクタを作成] をクリックします。  

 

 

拡張フィルタリングの設定手順例  

  1. 全体管理者の権限を付与したアカウントで、Microsoft 365 Defender (https://security.microsoft.com) へアクセスします。  
  2. 左側メニューより [ポリシーとルール]、右側画面から [脅威のポリシー] > [拡張フィルタリング] をクリックします。  
  3. 一覧から、上記にて作成した受信コネクタを選択します。  
  4. [IP アドレスをスキップする] で任意の項目を選択します。  

    ・コネクタの拡張フィルタリングを無効にする (初期値) : 拡張フィルタリングを無効にします。  

    ・自動的に検出して最後の IP アドレスをスキップする : Exchange Online にメールを受け渡すサーバーの IP アドレスを自動的に検出してスキップします。  

    ・コネクタに関連付けされたこれらの IP アドレスをスキップする : スキップさせたい任意の IP アドレスを指定します。  

  1. [これらのユーザーに適用する] にて、"組織全体に適用する" を選択します。
  2. [保存] をクリックします。

 

 

なお、MXレコードをセキュリティサーバーなど中継サーバーをポイントして、中継サーバーからExchangeOnlineにルーティングする構成をしているシナリオも多いと思いますが、そのシナリオの場合は、拡張フィルタリングを設定していないとDMARCポリシーが動作しないことを確認しています。

以下の記事で書いてますのでご参照くださいね。

 

 

it-bibouroku.hateblo.jp

 

 

SPF認証、DKIM認証については以下の記事でご紹介しておりますので参考としてくださいね。

 

 

it-bibouroku.hateblo.jp

 

【Microsoft365参考書】受信側サーバーの電源が落ちている場合にメールが送信することができるか?

NDR再送

 

Exchange Online では、配信先のサーバーが停止するなど 400 番台から始まる一時的なエラーが発生した場合は、遅延キューに 24 時間保持される動作があります。

なお、遅延キューに保持され、最初は 15 分間隔で再送されますが、その後は動的に最大で 60 分間間隔で再送が繰り返されます。

 

再配送は 24 時間に渡り繰り返されますが、24 時間エラーが解消せず、メッセージが配送出来ない場合は、送信者へ 500 番台から始まる恒久的なエラーの配信不能通知 (NDR) を返します。

受信側サーバーの電源が落ちている状態で何も応答が返すことができない場合は、レスポンスが返らない状況に対して送信側サーバーにて400番台のエラーを送信者に返しています。

 

その際のエラー内容として以下の500番台と400番台のエラーが記載されたNDRが返されることを確認しています。

 

エラー内容

'550 5.4.316 Message expired, connection refused(Socket error code 10061)'

'450 4.4.316 Connection refused [Message=Socket error code 10061]

 

 

 

 

learn.microsoft.com

 

遅延メッセージはキューに 1 日残ります。 再試行は、宛先の電子メール サーバーから受信したエラーに基づいています。最初のいくつかの遅延は 15 分以下です。以降の再試行の間隔は、最大 60 分に増加します。間隔期間の拡張は動的であり、複数の変数 (キューサイズ、内部メッセージの優先順位など) を考慮します。

 

なお、今までは遅延キューの保持期間を変更することができませんでしたが、PowerShellのコマンドレットにて、12 24 時間で任意の時間に変更できるようになりました。

以下のサイトをもとにExchangeOnlineに接続してから実行してください。

 

it-bibouroku.hateblo.jp

 

<構文>

Set-TransportConfig -MessageExpiration "dd.hh:mm:ss"

 

<実行例>

Set-TransportConfig -MessageExpiration "0.12:00:00"

 

値を指定するには、dd.hh:mm:ss の形式で期間として入力します。ここで、dd = 日、hh = 時間、mm = 分、ss = 秒です。

既定値は 1.00:00:00 (24 時間) です。

有効な値は、12 時間 (0.12:00:00) から 24 時間 (1.00:00:00) までです。

 

 

NDRについては以下の記事でご紹介しておりますので参考としてくださいね。

it-bibouroku.hateblo.jp

 

【Microsoft365参考書】削除されたメールを復元するには?

削除メール復元

 

メールを削除した場合、回復可能なアイテム領域 (Deletions) に移動し、既定で 14 日経過後に完全削除される動作です。

なお、訴訟ホールドなどの保持機能が有効である場合は、回復可能なアイテム領域 (Deletions) から削除されたあと、指定した保持期間まで回復可能なアイテム領域 (DiscoveryHolds または Purges) に移動し保持されます。

 

 

回復可能なアイテム領域 (Deletions) に残っている場合は、ユーザーでも復元することができますが、回復可能なアイテム領域 (DiscoveryHolds または Purges) に移動している場合は管理者にて復元する必要があります。

 

以下に、回復可能なアイテム領域 (Purges) のアイテムを復元する方法をご紹介したいと思います。

 

 

 

回復可能なアイテム領域のアイテムを復元する手順

事前準備 : 必要な権限の付与を行う

事前に実行するユーザーに対して [管理者の役割] で [Mailbox Import Export] 権限の付与が必要となります。

※ グローバル管理者も、既定では [Mailbox Import Export] 権限が付与されていません。

 

Mailbox Import Export の役割の付与

  1. 管理者にて、Microsoft 365 管理センターにサインインし、[管理センター] - [Exchange] の順にクリックします。
  2. Exchange 管理センターにて、[アクセス許可] - [管理者の役割] をクリックします。
  3. [+] (追加) ボタンをクリックし [名前] に任意の名前を入力します。
  4. [役割:] にて、[+] ボタン (追加) より、"Mailbox Import Export" を追加し [OK] をクリックします。
  5. [メンバー:] にて、[+] ボタン (追加) より、役割を付与するユーザーを追加し [OK] をクリックします。
  6. 画面下の [保存] をクリックします。

 

管理者にて、Exchange 管理センターから回復可能なアイテム領域のアイテムを復元する

  1. 管理者権限を持つアカウントで Exchange 管理センターにアクセスします。
  2. Exchange 管理センターに遷移しますので、[受信者] > [メールボックス] を選択します。
  3. 対象のメールボックスにチェックを入れ、[その他] から [削除済みアイテムを復元] をクリックします。
  4. 表示されたアイテム一覧の [フォルダーの種類] より、現在の格納先フォルダーが確認可能です。

※ 画面上部の  […] > [フォルダーの種類] より [削除] を選択し [フィルターの適用] をクリックすると [Deletions] フォルダー内のアイテムのみが表示され、[アーカイブされたアイテム] 選択し、 [フィルターの適用] すると [Purges] フォルダー内のアイテムのみの表示となります。

  1. 復元対象のアイテムがある場合、アイテムを選択した状態で [削除済みアイテムを復元] をクリックします。

 

上記の手順では、DiscoveryHolds に格納されているアイテムは復元ができないため、以下の Powershell の手順にて実施ください。

※ 上述した [Mailbox Import Export] の権限が付与されているユーザーにて実施してください。

 

以下のサイトの手順にて、Exchange Online に接続してから実行してください。

 

it-bibouroku.hateblo.jp

 

 

Restore-RecoverableItems コマンドによる復元について

Restore-RecoverableItems コマンドを実行することで、削除される前に存在していたフォルダーにアイテムの復元が可能です。

※ [FilterStartTime] や [FilterEndTime] には削除日が含まれるように指定してください。

※ [削除済みアイテムを復元 (Deletions)] フォルダーから削除されたアイテムは、無期限の訴訟ホールドが有効な場合は、[Purges]、有期限の訴訟ホールド、または保持ポリシーによる保持が有効な場合は [DiscoveryHolds] フォルダーに格納され、設定された期間保持が行われる動作を確認しております。

 

1. 特定メールボックスの Purges フォルダー内のアイテムを確認する

[構文]

Get-RecoverableItems <対象メールボックス> -SourceFolder Purgeditem -FilterStartTime "<開始日>" -FilterEndTime "<終了日>" -ResultSize Unlimited

 

[実行例]

Get-RecoverableItems User01@contoso.com -SourceFolder Purgeditem -FilterStartTime "06/01/2023" -FilterEndTime "06/19/2023" -ResultSize Unlimited

 

2. 特定メールボックスの DiscoveryHolds フォルダー内のアイテムを確認する

[構文]

Get-RecoverableItems <対象メールボックス> -SourceFolder DiscoveryHoldsitem -FilterStartTime "<開始日>" -FilterEndTime "<終了日>" -ResultSize Unlimited

 

[実行例]

Get-RecoverableItems User01@contoso.com -SourceFolder DiscoveryHoldsitem -FilterStartTime "06/01/2023" -FilterEndTime "06/19/2023" -ResultSize Unlimited

 

[実行結果例]

LastParentPath : 送信済みアイテム

LastParentFolderID : 0F*******

EntryID : 00**********************************

Subject : メールアイテムの件名

SourceFolder : RecoverableItems\DiscoveryHolds

 

実行結果にて [LastParentPath] が [送信済みアイテム] である場合、[送信済みアイテム] フォルダーに格納されていたアイテムとなります。

上記 [LastParentPath] が [送信済みアイテム] の [LastParentFolderID] の値を指定することで [送信済みアイテム] フォルダーに格納され削除されたアイテムのみを復元します。

 

3. 特定メールボックスの [LastParentFolderID] の値を指定しフォルダー内のアイテムを復元する

[構文]

Restore-RecoverableItems <対象メールボックス> -SourceFolder "Purgeditem または、DiscoveryHoldsitem" -LastParentFolderID "送信済みアイテムフォルダーの LastParentFolderID の値"

 

[実行例]

Restore-RecoverableItems User01@contoso.com -SourceFolder Purgeditem -LastParentFolderID "0F*******"

※ 上記実行例では、User01@contoso.com の回復可能なアイテム領域移動の Purges 内に格納されたアイテム内、[送信済みアイテム] フォルダーの [LastParentFolderID] を指定して復元しています。

※ 対象アイテムが DiscoveryHolds に格納されている場合は、[-SourceFolder] パラメータは [DiscoveryHoldsitem] を指定します。

 

4. 特定メールボックスの [EntryID] の値を指定し対象のアイテムを復元する

[構文]

Restore-RecoverableItems <対象メールボックス> -EntryID "対象のアイテムの EntryID の値"

 

[実行例]

Restore-RecoverableItems User01@contoso.com -EntryID "00**********************************"

※ 上記実行例では、User01@contoso.com の回復可能なアイテム領域内に格納されたアイテムの [EntryID] を指定して復元しています。

 

なお、アーカイブメールボックスの回復可能なアイテムに移動したアイテムについては、上記の手順では復元することができません。

その場合は、[コンテンツの検索]でPSTファイルにエクスポートしインポートする方法で復元する必要があります。

 

 

it-bibouroku.hateblo.jp

 

【Microsoft365参考書】Exchange Online の送信元IPアドレスについて

EOP送信IP

 

Exchange Online Protection (EOP) から送信する際の送信元 IP アドレスや URL については公開された情報がないことを確認しました。

以下の公開情報にExchange Online で受信する際の IP アドレスが公開されていますが、送信時の IP アドレスではないようです。

 

learn.microsoft.com

 

 

 

Exchange Online では、送信時に送信スパムの機能によりスパム判定された場合は、別の IP アドレスプールの経路 (高リスク配信プール) を通って配送されます。

高リスク配信プールにより配信される場合の送信元 IP アドレスについては、40.95.0.0/16 の範囲であることが以下の公開情報に記述されていました。

 

learn.microsoft.com

 

送信サーバーの IP (リレープールは 40.95.0.0/16 の範囲) を調べることで、リレー プール経由でメッセージが送信されたことを確認できます。

 

 Exchange Online で利用するドメインに登録するSPF レコードには、なりすまし送信でないことを証明するために送信に利用するIPアドレスが登録されていますので、送信元IPアドレスを確認することができるかもしれません。

 

 

コマンドプロンプトにて SPF レコードを確認する方法

 

  1-1. コマンドプロンプトを起動します。

  1-2. 以下のコマンドを順番に実行します。

       nslookup

       set type=txt

       spf.protection.outlook.com

 2. エンターキーを押し、表示された ip4から始まる以下の IP アドレスが送信 IP アドレスとして利用されています。

 

40.92.0.0/15

40.107.0.0/16

52.100.0.0/14

104.47.0.0/17

 

SPFレコードについては以下の記事でご紹介しておりますので参考としてくださいね。

it-bibouroku.hateblo.jp

 

【Microsoft365参考書】"MailItemsAccessed"や"Send"などの監査ログがE5ライセンス以外でも利用可能に?

監査ログプレミア

 

 

メールアイテムアクセスに関する操作を監査ログで確認する場合、Search-MailboxAuditLog にて取得可能な Operations の"MailItemsAccessed" のログを確認することで可能です。

 

"MailItemsAccessed" は、今までは、E5 または E5 コンプライアンス アドオン サブスクリプションライセンスが付与されているメールボックスでのみ取得可能なログであり、E3 ライセンスが割り当てられているメールボックスでは取得が行えないログでした。

 

MC711333 では  E5 コンプライアンス アドオン サブスクリプションライセンスが付与されているメールボックスのみで取得可能であった以下 3 つのログ取得が E5ライセンス以外が割り当てが行われているメールボックスでも取得可能となり、2024年3月上旬からプレビュー版のロールアウトが開始され、2024年6 月下旬より標準リリースが開始される予定となってます。

 

・ MailItemsAccessed : 管理者または メールボックス所有者、代理人 がメールボックス内のアイテムにアクセスした際に当該ログが記録されます。

・ SearchQueryInitiated : メールボックス所有者がメールボックス内で検索を行った際に当該ログが記録されます。

・ Send : メールボックス所有者がメール送信を行った場合に当該ログが記録されます。

 

以下ロードマップで公開されていますので参考としてくださいね。

 

www.microsoft.com

 

なお、"MailItemsAccessed"が利用可能になったことでPowerShellで"MessageBind"を追加するコマンドレットを実行すると警告が表示されることを確認しています。

 

エラーメッセージ

|Microsoft.Exchange.Management.Tasks.RecipientTaskException|MessageBind という監査操作の種類は非推奨となりました。MailItemsAccessed を代わりの監査操作の種類としてお使いください。

 

現状 [MessageBind] が設定されているメールボックスについては引き続きログの取得は可能ですが、[MailItemsAccessed] にてアイテムへのアクセスに関するログを確認するようにしたほうがいいと思います。

 

MC711333 では、各メールボックスに設定されている監査項目設定が [DefaltAuditSet] (既定値) から変更されている場合、取得可能なログの追加が自動的に行われないため、その場合は後述するオプション 1 または オプション 2 に記載されたいずれかの手順で対応が必要であることが記述されています。

なお、監査項目設定を既定値から変更していないメールボックスについての対応は不要であり、MC のロールアウト後自動的に追加のログ取得が可能となります。

 

特定メールボックスの監査項目設定を確認する手順

以下の URL を参照し Windows PowerShell を Exchange Online に接続します。

 

it-bibouroku.hateblo.jp

 

事前準備

以下コマンドレットを実行し、Windows PowerShell 画面上にすべてのログが表示されるようにします。

 

[構文]

$FormatEnumerationLimit = -1

 

 

1. 特定メールボックスの監査項目設定を確認する

[構文]

Get-Mailbox -Identity "確認するユーザーのメールアドレス" | Select DisplayName,DefaultAuditSet,AuditAdmin,AuditDelegate,AuditOwner,AuditLogAgeLimit

 

[実行例]

Get-Mailbox -Identity User01@contoso.com | Select DisplayName,DefaultAuditSet,AuditAdmin,AuditDelegate,AuditOwner,AuditLogAgeLimit

 

 

2. 全ユーザーメールボックスの監査項目設定を確認する手順

[構文]

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select DisplayName,DefaultAuditSet,AuditAdmin,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-CSV -Encoding UTF8 -NoTypeInformation -Path "<ファイルの出力場所\ファイル名.csv>"

 

[実行例]

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select DisplayName,DefaultAuditSet,AuditAdmin,AuditDelegate,AuditOwner,AuditLogAgeLimit | Export-CSV -Encoding UTF8 -NoTypeInformation -Path "C:\temp\MailboxAudtsSet.csv"

 

[取得例]

DisplayName : 表示名

DefaultAuditSet : Admin,Delegate,Owner

AuditAdmin : 管理者による操作監査項目

AuditDelegate : メールボックス所有者以外がアクセスを行った監査項目

AuditOwner : メールボックス所有者がアクセスを行った監査項目

AuditLogAgeLimit : ログの保存期間

 

[DefaultAuditSet] にて [Admin,Delegate,Owner] が記載されている場合は設定不要で展開後、自動で追加されるログが取得可能となります。

※ AuditAdmin などに [MailItemsAccessed] が含まれていることを確認します。

 

 

Admin, Delegate, Owner に不足が合った場合の対応について

DefaultAuditSet の項目に不足がある場合、MC のロールアウト後自動的にログの追加が行われないため、オプション1、オプション2 いずれかで対応を行う必要があります。

 

※オプション 1 を実施し時間経過後も監査項目が追加されない場合は、オプション 2 にて手動で監査項目を追加してください。

※ E5 ライセンス以外のユーザーにて、DefaultAuditSet の項目に不足があり [MailItemsAccessed] が含まれていない場合に実施します。

 

オプション 1 の対応

DefaultAuditSet の値をリセットし、既定値に戻すことで、ログの自動追加を可能とする対応となります。

 

特定メールボックスの DefaultAuditSet をリセットする手順

PowerShell にて Exchange Onlineへ接続し、以下コマンドレットを実行します。

 

[構文]

Set-Mailbox -Identity "設定するユーザーのメールアドレス" -DefaultAuditSet Admin,Delegate,Owner

 

[実行例]

Set-Mailbox -Identity User02@contoso.com -DefaultAuditSet Admin,Delegate,Owner

 

上記実行後、DefaultAuditSet の値が既定になっているか確認します。

 

[実行例]

Get-Mailbox -Identity User02@contoso.com | Select DisplayName,DefaultAuditSet

 

[表示例]

DisplayName     DefaultAuditSet

--------------    ----------------

User02             {Admin, Delegate,Owner}

 

MC711333 がロールアウトされたタイミングで MailItemsAccessed、Send 、SearchQueryInitiated のログ取得が可能となります。

 

全ユーザーメールボックスのDefaultAuditSet をリセットする手順

[実行例]

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -DefaultAuditSet Admin,Delegate,Owner

 

 

オプション 2 の対応

オプション 2. については、手動で各ログを追加するコマンドレットとなります。

こちらの手順については自動追加ではなく、MC ロールアウト後に手動でログの追加を行います。

 

1. 特定メールボックスの監査項目を追加する

[構文]

Set-Mailbox -Identity "設定するユーザーのアドレス" -AuditOwner @{Add= "MailItemsAccessed,Send"} -AuditAdmin @{Add= "MailItemsAccessed,Send"} -AuditDelegate @{Add= "MailItemsAccessed"}

 

[実行例]

Set-Mailbox -Identity User@contoso.com -AuditOwner @{Add= "MailItemsAccessed,Send"} -AuditAdmin @{Add= "MailItemsAccessed,Send"} -AuditDelegate @{Add= "MailItemsAccessed"}

 

2. 全ユーザボックスの監査項目を追加する

[実行例]

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -AuditOwner @{Add= "MailItemsAccessed,Send"} -AuditAdmin @{Add= "MailItemsAccessed,Send"} -AuditDelegate @{Add= "MailItemsAccessed"}

 

なお、メールボックス監査ログが廃止されるため、統合監査ログで確認する必要があります。

 

it-bibouroku.hateblo.jp