Skip To Content

セキュリティのベスト プラクティスを実現するための ArcGIS Server のスキャン

ArcGIS Server には、いくつかの一般的なセキュリティ問題のスキャンを行う Python スクリプト ツール「serverScan.py」が付属しています。このツールは、ArcGIS Server のセキュリティで保護された環境を構成するためのいくつかのベスト プラクティスに基づいて、問題があるかどうかをチェックします。多数の基準または構成プロパティを分析して、CriticalImportantRecommended という 3 段階の重要度レベルに分割します。これらの基準の説明は次のとおりです。

ID重要度プロパティ説明

SS01

Critical

Web の通信

ArcGIS Server に対して HTTPS が有効かどうかを決定します。通信を傍受から守るため、SSL 暗号化を使用するように ArcGIS Server および ArcGIS Web Adaptor (インストールされている場合) を構成することをお勧めします。

SS02

Critical

標準化されたクエリ

標準化されたクエリを適用するかどうかを決定します。SQL インジェクション攻撃から保護するために、このオプションを有効にすることは非常に重要です。

SS03

Critical

トークン リクエスト

GET を介したトークン リクエストの生成をサポートするかどうかを決定します。GET を介してトークンを生成するときに、ユーザーの認証情報が URL の一部として送信されるので、ブラウザーの履歴またはネットワーク ログを通してキャプチャおよび公開される可能性があります。他のアプリケーションから要求されない限り、これは無効にしておく必要があります。

SS04

Critical

トークン リクエスト

クエリ パラメーターの認証情報による POST を介したトークン リクエストの生成をサポートするかどうかを決定します。トークンを生成するときに、ユーザーの認証情報が URL の一部として提供されるので、ブラウザーの履歴またはネットワーク ログを通して公開される可能性があります。他のアプリケーションから要求されない限り、これは無効にしておく必要があります。

SS05

Critical

Filter web content の有効化

filter web content プロパティが無効になっているフィーチャ サービスのリストを生成します。このプロパティを無効にすると、ユーザーが入力フィールドにテキストを入力できるようになり、サービスがクロスサイト スクリプティング (XSS) 攻撃を受ける可能性があります。デフォルトではこのプロパティは有効になっており、サポートされていない HTML エンティティまたは属性が必要にならない限り、無効にしないでください。

SS06

Critical

システム サービス権限

ArcGIS Server Manager のシステム フォルダー内のサービスにデフォルト以外の権限が適用されているかどうかを判断します。管理者と公開者だけがシステム フォルダー内のサービスにアクセスできるようにするために、ロールを割り当てないでください。

SS07

Important

REST サービス ディレクトリ

Web ブラウザーを介して REST サービス ディレクトリにアクセスできるかどうかを決定します。ユーザーがサービスのサーチまたは検索のために積極的に使用している場合を除き、サービスの参照、Web サーチでのサービスの検索、または HTML フォームからのサービスの要求の機会を減らすために、無効にしてください。無効化すると、クロスサイト スクリプティング (XSS) 攻撃から保護することもできます。

SS08

Important

クロスドメイン制限

クロスドメイン リクエストを特定のドメインに制限するかどうかを決定します。不明なアプリケーションから Web サービスに悪意のあるコマンドが送られてくる可能性を低くするために、サービスの使用を、信頼できるドメイン内でホストされるアプリケーションのみに制限することをお勧めします。

SS09

Important

ダイナミック ワークスペース

ダイナミック ワークスペースを介してデータベースにアクセスできるサービスのリストを生成します。適切な保護措置を取らない限り、これによってデータベース/ワークスペースが、REST 経由で悪意のある第三者によってアクセスされる可能性があります。サービスおよびダイナミック レイヤー/ワークスペース機能が、Web アプリケーションでアクティブに使用するためのものである場合のみ、ダイナミック ワークスペースを有効にします。この場合、マップ サービスがワークスペース/データベースに接続するために使用するデータベース接続では、たとえば、ワークスペース内に追加したテーブルのうち必要なテーブルのみに読み取り専用アクセスを付与するなど、アプリケーションに必要な最低限の権限だけが付与されていることを確認することが重要です。

SS10

Recommended

HTTPS 経由の ArcGIS Web Adaptor

1 つ以上の ArcGIS Web Adaptor を HTTPS 経由で登録するかどうかを決定します。ArcGIS Server Manager が HTTPS に正常にリダイレクトできるようにするには、すべての ArcGIS Web Adaptor を HTTPS 経由で登録する必要があります。

SS11

Recommended

PSA アカウントの無効化

プライマリ サイト管理者のアカウントを有効にするかどうかを決定します。このアカウントを無効にして、アイデンティティ ストアで指定したグループまたはロール以外の方法では ArcGIS Server を管理できないようにすることをお勧めします。

SS12

Recommended

フィーチャ サービスの権限

update または delete 操作が有効になっており、匿名アクセスに開かれているフィーチャ サービスのリストを返します。これにより、認証なしでフィーチャ サービスのデータを変更または削除できるようになります。

SS13

Recommended

LDAP アイデンティティ ストア

ArcGIS Server に LDAP アイデンティティ ストアが構成されている場合に、暗号化通信が使用されているかどうかを判断します。ArcGIS Server と LDAP ID プロバイダー間の暗号化通信を確保するには、LDAP ユーザー ストアと LDAP ロール ストア (使用している場合) のどちらの構成にも定義されている接続 URL で ldaps:// を使用することをお勧めします。

SS14

Recommended

サーバー SSL 証明書

ArcGIS Server で自己署名証明書が使用されているかどうかを判断します。ArcGIS Server と通信しているクライアントから Web ブラウザーの警告やその他の予期しない動作を少なくするために、ポート 6443 にバインドされた CA 署名 SSL 証明書をインポートして使用することをお勧めします。

SS15

Critical

システム サービスの共有

システム フォルダー内のサービスがポータル アイテムとして共有されているかどうかを判断します。適切な権限を確保するために、これらのサービスはポータルで共有されるようになっていません。関連付けられたポータル アイテムを削除してデフォルトのサービス権限を復元することをお勧めします。

serverScan.py スクリプトは <ArcGIS Server installation location>\tools\admin ディレクトリにあります。 コマンド ラインまたはシェルからスクリプトを実行します。必要に応じて、スクリプトを実行中にパラメーターを指定できます。

serverScan.py パラメーター

パラメーター説明

-n

ArcGIS Server がインストールされているコンピューターの完全修飾ドメイン名 (gisserver.domain.com)。デフォルトは、スクリプトが実行されているコンピューターのホスト名です。

-u

管理者アカウントのユーザー名。

-p

管理者アカウントのパスワード。

-o

セキュリティ スキャン レポートが保存されるディレクトリ。デフォルトのディレクトリは、スクリプトを実行するのと同じフォルダーです。

-t

ユーザー名とパスワードの代わりに、トークンを生成して使用できます。フェデレートされた ArcGIS Server 用にポータルのトークンが生成される場合、スキャンされる ArcGIS Server の完全修飾ドメイン名が「Webapp URL」フィールドに入力される必要があります。 フェデレーションが解除された ArcGIS Server 用にトークンが生成される場合、トークンは ArcGIS Server Administrator Directory (arcgis/admin/generateToken) を使用して生成される必要があり、クライアントは「リクエスト IP」でなければなりません。トークンが指定されると、指定されているユーザー名またはパスワードが無効化されます。

--ignoressl

SSL 証明書確認を無効化します。10.7.1 以降、デフォルトで、スクリプトがすべての SSL 証明書の確認を試行します。Python が証明書の発行元を信頼しない場合、スクリプトの実行は失敗します。必要に応じて、このパラメーターですべての証明書を無視するよう指定できます。

-h または -?

スクリプトの実行中に指定できるパラメーターのリストを出力します。

例: python serverScan.py -n gisserver.domain.com -u admin -p my.password -o C:\Temp

パラメーターを 1 つも指定せずに serverScan.py スクリプトを実行すると、手動でパラメーターを入力するか、デフォルト値を選択するよう求めるメッセージが表示されます。トークンを使用する場合は、スクリプトを実行中にパラメーターとしてトークンを指定する必要があります。

このスキャンによって、指定された ArcGIS Server サイトで見つかった上記の問題をリスト表示するレポートが、HTML 形式で生成されます。

デフォルトでは、このレポートは、スクリプトを実行したのと同じフォルダーに保存され、serverScanReport_[hostname]_[date].html と名前が付けられます。


このトピックの内容
  1. serverScan.py パラメーター