ArcGIS Server には、いくつかの一般的なセキュリティ問題のスキャンを行う Python スクリプト ツール「serverScan.py」が付属しています。このツールは、ArcGIS Server のセキュリティで保護された環境を構成するためのいくつかのベスト プラクティスに基づいて、問題があるかどうかをチェックします。12 の基準または構成プロパティを分析して、Critical、Important、Recommended という 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 操作が有効になっており、匿名アクセスに開かれているフィーチャ サービスのリストを返します。これにより、認証なしでフィーチャ サービスのデータを変更または削除できるようになります。 |
serverScan.py スクリプトは <ArcGIS Server installation location>/tools/admin ディレクトリにあります。 コマンド ラインまたはシェルからスクリプトを実行します。ArcGIS Server の URL と、管理者のユーザー名およびパスワードを入力する必要があります。
このスキャンによって、指定された ArcGIS Server サイトで見つかった上記の問題をリスト表示するレポートが、HTML 形式で生成されます。このレポートは、スクリプトの実行場所と同じフォルダーで生成され、serverScanReport_[hostname]_[date].html という名前が付けられます。