Applications Manager ナレッジベース

IPアドレスのホワイトリスト/ブラックリストの設定方法


概要

Applications Managerは、WebクライアントにアクセスするユーザーのリクエストIPアドレスフィルタリングに対応していません。
ただし、Applications ManagerがインストールされているTomcatアプリサーバーを利用することで、対応可能です。

上記フィルタリング方法の代わりに、ネットワークファイアウォールを使用してIPアドレスのアクセス制御を構成することを推奨します。
ユーザー様の環境の都合により、Webサーバーにアクセスできない場合は本ナレッジに記載した方法を実施ください。

手順

  1. Applications Managerインストールフォルダー/working/apache/tomcat/conf/backup/server.xmlのバックアップを取得してから、
    編集可能なツールでファイルを開きます。
  2. <Valve className ="com.adventnet.appmanager.tomcatagent.ver5.valve.AdventNetHostValve"/>を検索します。
  3. IPアドレスをホワイトリストまたはブラックリストに登録します。
    手順2で見つかった行の下に、以下の行を追加します。
    ・IPアドレスをホワイトリストに登録する:
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" denyStatus="500" allow="<IPアドレスを入力>" />
    ・IPアドレスをブラックリストに登録する:
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" denyStatus="500" deny="<IPアドレスを入力>" />
    ※下記に記載しております、「記載例の解説」をご参照ください。
  4. Applications Managerを再起動し、APMにアクセスして構成を確認します。
制限されたIPアドレスからApplications Managerにアクセスした場合、HTTP ERROR 500が返されます。

IPアドレスをホワイトリストに登録したい場合の記載例は以下です。

<Valve className="org.apache.catalina.valves.RemoteAddrValve" denyStatus="500" allow="^(127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.14\.17\.1|10\.14\.18\.1)$" />

記載例の解説

ホワイトリスト:正規表現パターンに一致する特定のIPアドレスセットのみへのアクセスを許可します。
ブラックリスト:正規表現パターンに一致する特定のIPアドレスセットへのアクセスを拒否します。

サンプル正規表現パターン:"^(127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.14\.17\.1|10\.14\.18\.1)$"

前提条件:
  1. 指定の始まりには「"^(」、終わりには「)$"」を記載します。
  2. それぞれをパイプ文字(|)で区切ります。
  3. 「.」は「\.」になります。
解説:
  1. ローカルIPv4およびIPv6アドレスである127.xx.xx.xx、::1、0:0:0:0:0:0:0:1を介してApplications Managerにアクセスしたい。
    127\.\d+\.\d+\.\d+
    ::1
    0:0:0:0:0:0:0:1
  2. ユーザー固有のIPアドレスである10.14.17.1および10.14.18.1を介してApplications Managerにアクセスしたい。
    10\.14\.17\.1
    10\.14\.18\.1

IPアドレスはワイルドカードパターンでも設定可能です。
例1:10.14.xx.xxで始まるすべてのIPアドレスを許可する

<Valve className="org.apache.catalina.valves.RemoteAddrValve" denyStatus="500" allow="^(127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.14\.\d+\.\d+)$" />

例2:特定のIPアドレスを複数許可する

<Valve className = "org.apache.catalina.valves.RemoteAddrValve" denyStatus = "500" allow = "^(192\.168\.0\.0|192\.168\.0\.1)$" />

補足

  • ファイルを手動で編集する場合、編集を始める前に必ずファイルのバックアップを取得してください。問題発生時の復元に利用します。
  • Tomcat9サイト:RemoteAddress

本社版ナレッジ