My Home NW Lab

逸般の誤家庭のネットワーク

Site24x7サービスからのMeraki Dashboard APIへのアクセス制限

概要

Site24x7のサービスからのみMeraki Dashboard APIが利用できるように、許可対象の送信元IPアドレスを絞る方法を紹介します。

Site24x7によるMeraki Dashboard APIを用いたMerakiバイスの監視の設定自体は、下記の記事を参考にしてください。

myhomenwlab.hatenablog.com

Site24x7サービスの送信元IPアドレスの情報源

Site24x7のサービスで使用しているIPアドレスは下記のページにて公開されています。

  • 日本語サイト
    www.site24x7.jp

    f:id:myhomenwlab:20220324205016j:plain
    Site24x7の日本語サイト (2022年03月頃)

  • 英語サイト
    www.site24x7.com

    f:id:myhomenwlab:20220324205034j:plain
    Site24x7の英語サイト (2022年03月頃)

送信元IPアドレス情報のみの取り出し

Meraki Dashboardで送信元IPアドレスを制限するには、送信元IPアドレスを1行単位で改行して記載する必要があります。 今回はJSONフォーマットのリストを元にして、Linuxコマンドを用いて文字情報を加工します。

ダウンロード先のURLは変わる可能性もあるため最新の情報に置き換えてください。
作業時の一時ファイルなどは /tmp 配下に出力するようにしています。作業完了後は適宜削除してください。

  • 下記は一連の加工手順です。
    • ファイルのダウンロードをしてからオリジナルのフォーマットをざっと確認して、jq コマンドでIPアドレスのみを抽出します。
    • 一度、コンソールに出力させて想定通りに加工されているか確認した上で、ファイルに保存します。
curl --output /tmp/site24x7_addr.json https://creatorapp.zohopublic.com/site24x7/location-manager/json/IP_Address_View/C80EnP71mW2fDd60GaDgnPbVwMS8AGmP85vrN27EZ1CnCjPwnm0zPB5EX4Ct4q9n3rUnUgYwgwX0BW3KFtxnBqHt60Sz1Pgntgru

jq . /tmp/site24x7_addr.json | head -n 15

jq --raw-output '.IP_Address_View[] | .external_ip' /tmp/site24x7_addr.json

jq --raw-output '.IP_Address_View[] | .external_ip' /tmp/site24x7_addr.json > /tmp/meraki_format_site24x7_addr.json

ls -l /tmp/meraki_format_site24x7_addr.json
  • 下記は加工前 (Before)と加工後 (After)のサンプル出力の抜粋です。
$ jq . /tmp/site24x7_addr.json | head -n 15
{
  "IP_Address_View": [
    {
      "IPv6_Address_External": "2607:f170:54:10::d00",
      "ID": "101930000018002042",
      "City": "Virginia",
      "Place": "US",
      "external_ip": "208.117.86.232"
    },
    {
      "IPv6_Address_External": "",
      "ID": "101930000018002038",
      "City": "Virginia",
      "Place": "US",
      "external_ip": "38.107.226.220"
$
$ jq --raw-output '.IP_Address_View[] | .external_ip' /tmp/site24x7_addr.json | head -n 15
208.117.86.232
38.107.226.220
169.197.143.213
142.202.48.51
64.42.178.106
45.56.110.193
5.188.225.87
159.138.117.134
43.225.142.155
103.161.224.210
103.161.224.208
95.111.218.48
23.81.44.73
5.188.36.85
216.238.75.92
$

Meraki Dashboard APIの送信元IPアドレスの制限

メニュー: Organization > Settings より Login IP ranges セクションにある Limit Dashboard API access to these IP ranges にて、 "API使用者のみ"に対する送信元IPアドレスの制限を行えます。

Limit Dashboard and Dashboard API access to these IP ranges の設定項目だと、DashboardAPIの両方に適用されてしまうので設定を間違えないように注意してください。

先の手順で加工したSite24x7のサービスが使用してるIPアドレスを貼り付けます。 すでに別のサービスなどでAPIを利用している場合は、それらのサービスのIPアドレスも設定し忘れないようにしてください。

f:id:myhomenwlab:20220324204359j:plain
Limit Dashboard API access to these IP ranges

設定後の確認

Meraki Dashboard APIの送信元IPアドレスの制限を行った後には、Site24x7のMerakiの監視設定が情報を取得できているのを確認してください。
筆者の場合は、OrganizationへのPollingが行われていてステータスが正常になっているのを確認しました。

f:id:myhomenwlab:20220324211354j:plain
設定後の確認例