ファイアウォールと ArcGIS Server
ファイアウォールの機能
各コンピュータには、他のコンピュータが情報を送信するために使用する数千ものポートがあります。ファイアウォールは、他のコンピュータが通信に使用できるコンピュータ上のポートの数を制限するセキュリティ メカニズムです。ファイアウォールを使用して通信を少数のポートに制限すると、それらのポートを厳重に監視して攻撃を阻止できるようになります。また、通信を既知のポートにのみ制限するようにファイアウォールを構成することもできます。
ファイアウォールは、ハードウェア、ソフトウェア、またはその両方を通じて実装することができます。ファイアウォールは、ワームやトロイの木馬といった、オープン ポートを通じてシステムへの進入をもくろむ攻撃を阻止するのに威力を発揮します。電子メールに添付されたウイルスやネットワーク内部の脅威からシステムを保護するものではありません。したがって、ファイアウォールは重要ですが、セキュリティ全般をつかさどる唯一のコンポーネントではありません。アンチウイルス ソフトウェアと強固な認証/認可手法は、ファイアウォールと合わせて配置すべきセキュリティ手法の一例です。
ファイアウォールによる ArcGIS Server の保護
ファイアウォールを使用して ArcGIS Server サイトを保護するために、いくつかの手法を採用することができます。以下の手法では、ファイアウォールを使用して(セキュリティが適用された)内部ネットワークと(セキュリティが保証されていない)外部ネットワークを分離します。
単一のファイアウォール
2 つのうちより簡単で安全性の低い方のオプションでは、1 つのファイアウォールを使用して Web サーバへのトラフィックを制限します。通常はポート 80 だけが開かれたままになります。Web サーバ、ArcGIS Web Adaptor、GIS サーバ、およびデータはすべてファイアウォールの内側のセキュリティで保護された内部ネットワーク上に存在します。
境界ネットワーク内でリバース プロキシと ArcGIS Web Adaptor を使用する複数のファイアウォール
より安全な、ただしより複雑な手法は、境界ネットワーク内に Web サーバと ArcGIS Web Adaptor を構成することです。これは、DMZ(DeMilitarized Zone)またはスクリーン サブネットと呼ばれる手法です。このシナリオでは、ArcGIS Web Adaptor はポート 80 経由でリクエストを受信した後、ポート 6080 を使用して別のファイアウォール経由でそのリクエストを GIS サーバに送信します。ArcGIS Web Adaptor により、コンピュータがリバース プロキシとして動作します。
次に、このシナリオの各コンポーネントを詳しく見ていきます。
- 境界ネットワークは、インターネット ユーザがファイアウォール経由でアクセスできるコンピュータで構成されますが、セキュリティで保護された内部ネットワークの一部ではありません。境界ネットワークは、直接的なインターネット クライアント アクセスから内部ネットワークを分離します。
- 境界ネットワークの ArcGIS Web Adaptor は、ポート 80 などの共通ポートを通じてインターネット リクエストを受信します。他のポートからのアクセスはファイアウォールによって阻止されます。次に、ArcGIS Web Adaptor は ArcGIS Server ポート 6080 を使用して別のファイアウォール経由で、リクエストをセキュリティで保護された内部ネットワークに送信します。
- GIS サーバとデータ サーバ(存在する場合)は、セキュリティで保護された内部ネットワーク上に存在します。セキュリティで保護されたネットワークに渡されるリクエストは、ArcGIS Web Adaptor から送信される必要があり、ファイアウォールを通過する必要があります。セキュリティで保護された内部ネットワークからのレスポンスは、送信されてきたときと同じようにクライアントに返されます。まず、レスポンスはファイアウォール経由で ArcGIS Web Adaptor に渡されます。次に、ArcGIS Web Adaptor は別のファイアウォール経由でレスポンスをクライアントに送信します。
境界ネットワーク内のコンピュータが安全でなくなった場合でも、2 番目のファイアウォールにより、内部ネットワーク上のコンピュータに影響が及ぶ可能性が低く抑えられます。
既存のリバース プロキシの統合
すでにリバース プロキシを使用している組織では、リクエストをセキュリティで保護された内部ネットワーク上の ArcGIS Server にルーティングするよう、リバース プロキシを構成できます。最も基本的な方法は、ArcGIS Web Adaptor をインストールせずに、ポート 6080 を通して直接 GIS サーバに接続することです。
リバース プロキシとセキュリティで保護された内部ネットワーク間のポートを非公開のままにする場合は、セキュリティで保護された内部ネットワーク内の別の Web サーバに ArcGIS Web Adaptor をインストールします。この ArcGIS Web Adaptor を構成して、選択したポートを経由するトラフィックを受け付けることができます。
ArcGIS Server サイトはプロキシ ディレクティブに直接追加できます。たとえば、リバース プロキシとして Apache を使用している場合は、Apache Web サーバ構成ファイルの httpd.conf で、ProxyPass ディレクティブに ArcGIS Server サイトを追加する必要があります。
ProxyPass /arcgis http://gisserver.domain.com:6080/arcgis
ProxyPassReverse /arcgis http://gisserver.domain.com:6080/arcgis
リバース プロキシを使用しているときに、サイトの URL の末尾がデフォルトの /arcgis(すべて小文字)以外の文字列である場合は、ArcGIS Server の WebContextURL プロパティを設定する必要もあります。これにより、ArcGIS Sever はすべてのリソースで正しい URL を構築して、エンド ユーザに送信することができます。次の手順で、WebContextURL を変更します。
-
管理者権限のあるユーザとして ArcGIS Server Administrator Directory(http://gisserver.domain.com:6080/arcgis/admin)にログインします。
-
[system] → [properties] → [update] の順にクリックします。
-
[Properties] テキスト ボックスに次の JSON を挿入します。ArcGIS Server の URL は、ユーザが組織のファイアウォールの外部から参照する際に使用する URL に置き換えてください。
{ "WebContextURL": "http://gisserver.domain.com/mygis" }
- [Update] をクリックします。
-
サイト内の各 GIS サーバで ArcGIS Server を再起動します。Linux 上で、各コンピュータのインストール フォルダにある stopserver スクリプトおよび startserver スクリプトを実行します。
GIS サーバ コンピュータ間のファイアウォール
通常は、GIS サーバ コンピュータ間にファイアウォールを配置する必要はありません。ただし、GIS サーバ コンピュータ間にファイアウォールを配置する場合は、「ArcGIS Server で使用されるポート」に示されているポートを開く必要があります。