Office365サービスのIPアドレス確認(変更監視)について

はじめに

セキュリティ機器等にO365サービスのIPアドレスを登録する時の確認方法が Microsoft公式ページ にて公開されています。
今回、Win10なPCとIFTTTとWebhookとGmailを使い、当該IPアドレスの変更を検知して通知メールを飛ばすようにしてみました。
※IFTTTとWebhookとGmailの登録及び連携は済んでいるものとします
※以下、常時ログインしているユーザ名を『foo』とします

IFTTTの設定

  1. 公式ページ内のサンプルスクリプトを取り込み、適当に保存します。
    例:C:\Users\foo\Documents\Office365IPCheck.ps1

  2. PowerShell から上記スクリプトを実行します。

  3. 上記スクリプトの実行結果
    C:\Users\foo\AppData\Local\Temp\endpoints_clientid_latestversion.txt
    を開いて、一行目の文字列をメモっておきます。
    これが後程必要となる ClientRequestId となります。

  4. IFTTTで新規アプレットを作成します。
    this には『Webhooks』を選択
    Event Name には『トリガー名(半角ANKで)』を入力
    that には『Gmail(Send an email)』を選択
    To address には『通知先メアド』を入力
    Body には次の内容を Attachment URL には次の内容を 記入します。

  5. アプレットを保存します。

PowerShellスクリプトの変更

  1. IFTTT 上の Webhooks のページにある『Documentation』をクリックし、『Your key is:』の値をメモします。

  2. PowerShellスクリプトの最後の方の、『# TODO』行と『}』行の間に、次の行を追加します。
  3. PowerShellスクリプトを保存します。

監視タスクの追加

  1. 監視タスク実行時に窓が表示されるのを防ぐために、キック用スクリプトを次のような内容で作成します。
    例:C:\Users\foo\Documents\task-scheduler.js
  2. タスクスケジューラで監視タスクを作成します。
    • トリガータイミングは適当に(毎時とか毎日とか毎週とか)
    • 操作→プログラムの開始
    • プログラム名には、『task-scheduler.js』を入力
    • 引数には、PowerShellスクリプト名をダブルクォートで囲って設定
      例:”C:\Users\foo\Documents\Office365IPCheck.ps1″
    • 開始オプションに、PowerShellスクリプトの保管場所を指定
      例:C:\Users\foo\Documents\
  3. 監視タスクを保存します。

動作テスト

  1. PowerShellスクリプトの実行結果ファイル
    C:\Users\foo\AppData\Local\Temp\endpoints_clientid_latestversion.txt
    を削除します。
    本ファイルを削除することにより、PowerShellスクリプトの実行時に『IPアドレスが更新された』と判断されます。

  2. タスクスケジューラで設定したタイミングでメール通知が届けば成功です。