ArcGIS Server をセキュリティで保護する場合は、ArcGIS Server を実行する環境を保護することも重要です。セキュリティを最大にするためのセキュリティに関するベスト プラクティスについて説明します。
独自のサーバー証明書の要求と構成
ArcGIS Server には、事前に構成された自己署名証明書が付属しています。これを使用してサーバーで初期テストを行い、インストールが成功したことをすばやく確認できます。ただし、ほとんどの場合、組織は、信頼された認証機関 (CA) からの証明書を要求し、それを使用するようにサーバーを構成しています。これには、組織が発行したドメイン証明書または CA 署名証明書を使用できます。
ArcGIS Server と同様に、Portal for ArcGIS にも事前に構成された自己署名証明書が付属しています。サイトを Portal for ArcGIS とフェデレートする場合は、信頼された CA に証明書を要求し、それを使用するようにポータルを構成する必要があります。
信頼された認証機関からの証明書を構成することによって、Web ベース システムを安全に保護するとともに、ブラウザーの警告メッセージなどの予期しない動作が発生するのを防ぎます。ArcGIS Server と Portal for ArcGIS に付属する自己署名証明書をテスト中に使用する場合、以下の状況が生じます。
- 信頼されないサイトに関して Web ブラウザーと ArcGIS Desktop から警告メッセージが表示されます。Web ブラウザーは、自己署名証明書を検出すると、通常は警告を表示し、そのサイトに移動するか確認します。多くのブラウザーは、自己署名証明書を使用した場合、アドレス バーに警告アイコンや赤色を表示します。
- フェデレーション サービスをMap Viewerで開くこと、セキュリティ保護されたサービス アイテムをポータルに追加すること、フェデレーション サーバー上で ArcGIS Server Manager にログインすること、または ArcGIS Maps for Office からポータルに接続することはできません。
- ユーティリティ サービスを構成するとき、ホストされたサービスを印刷するとき、およびクライアント アプリケーションからポータルにアクセスするときに、予期しない動作が発生します。
注意:
上記の問題のリストは、自己署名証明書を使用したときに発生するすべてを事象を網羅しているわけではありません。CA 署名証明を使用してポータルを完全にテストしてから配置することは不可欠です。
CA 署名証明書を使用した ArcGIS Enterprise の構成方法については、以下のトピックをご参照ください。
ファイル権限の制限
ファイル権限を設定して、ArcGIS Server のインストール ディレクトリ、構成ストア、およびサーバー ディレクトリに、必要なアクセス権だけを付与することをお勧めします。ArcGIS Server ソフトウェアがアクセスする必要があるアカウントは、ArcGIS Server アカウントだけです。これは、ソフトウェアを実行するために使用されているアカウントです。組織によっては、追加のアカウントにアクセス権を付与しなければならない場合もあります。サイトを適切に機能させるには、ArcGIS Server アカウントにインストール ディレクトリ、構成ストア、およびサーバー ディレクトリに対するフル アクセス権が必要です。
ArcGIS Server は、ファイル権限をインストール場所の親フォルダーから継承します。また、ArcGIS Server は ArcGIS Server アカウントにアクセス権を付与して、インストールされているディレクトリにアクセスできるようにします。ArcGIS Server の実行時に作成されたファイル (ログなど) は、親フォルダーのアクセス権を継承します。構成ストアとサーバー ディレクトリをセキュリティで保護する場合は、制限されたアクセス権を親フォルダーに設定します。
構成ストアへの書き込みアクセスが可能なアカウントは、通常はシステムの管理者だけが変更できる ArcGIS Server の設定を変更できます。組み込みのセキュリティ ストアを使用してユーザーを保守している場合は、構成ストアにこれらのユーザーの暗号化されたパスワードが格納されています。この場合は、構成ストアの読み取りアクセス権も制限してください。
マップまたはジオプロセシング サービスをセキュリティで保護している場合は、サーバー ディレクトリのファイル権限をロックして、権限のないアカウントがマップやジオプロセシング ジョブの出力にアクセスできないようにすることが重要です。
プライマリ サイト管理者のアカウントの無効化
プライマリ サイト管理者アカウントは、ArcGIS Server Manager で最初にサイトを作成するときに指定するアカウントです。このアカウントの名前とパスワードは ArcGIS Server のみで認識されます。これはオペレーティング システムのアカウントではなく、アイデンティティ ストアのユーザー アカウントとは別に管理されます。
プライマリ サイト管理者アカウントは無効にすることをお勧めします。これにより、アイデンティティ ストアで指定したグループまたはロール以外の方法では ArcGIS Server を管理することができなくなります。詳細な手順については、「プライマリ サイト管理者アカウントの無効化」をご参照ください。
ArcGIS トークンの生成に使用される共有鍵の定義
ArcGIS トークンは、暗号化された情報の文字列です。共有鍵は、この暗号化された文字列を生成するための暗号鍵です。共有鍵が複雑であるほど、悪意のあるユーザーが暗号を破って共有鍵を解読することは困難になります。共有鍵を解読し、ArcGIS Server の暗号化アルゴリズムを複製して認証済みユーザーのリストを取得したユーザーは、トークンを生成して、その ArcGIS Server 上にあるセキュリティで保護されたリソースを利用できるようになります。
共有鍵を定義する前に、次の点を考慮してください。
- 共有鍵は 16 文字に設定する必要があります (16 文字を超える文字は使用されません)。鍵には一連のランダムな文字を使用することが推奨されます。英数字以外の文字を含め、あらゆる文字を使用することができます。
- 鍵には、辞書にある単語や、簡単に推測できる一般的な値を使用しないでください。鍵を覚えておく必要や、別の場所で鍵を使用する必要はないので、鍵の複雑さがパスワードの場合のように問題になることはありません。
- トークンは、Rijndael としても知られる AES (Advanced Encryption Standard) に基づいて、共有鍵で暗号化されます。鍵を構成する 16 文字は、暗号化に使用される 128 ビットを表します。暗号化と AES の詳細については、セキュリティ リファレンスを参照するか、組織内のセキュリティや暗号に詳しい担当者に問い合わせてください。
- セキュリティ レベルが高い環境では、定期的に共有鍵を変更することをお勧めします。共有鍵を変更した場合は、新しい共有鍵を使用するためにアプリケーションの更新が必要になる場合があることに注意してください。共有鍵を変更すると、埋め込まれているすべての既存のトークンが無効になります。
詳細については、「ArcGIS トークンについて」をご参照ください。
ArcGIS トークンのセキュリティで保護された転送
トークンの傍受と悪用を避けるために、HTTPS を使用してセキュリティで保護された接続を使用することをお勧めします。HTTPS を使用することで、クライアントから送信されたユーザー名とパスワードと、ArcGIS Server から返されたトークンが傍受されなくなります。 詳細については、「ArcGIS Server での HTTPS の構成」をご参照ください。
GET リクエストを使用して ArcGIS トークンベースの認証でセキュリティ保護された Web サービスにアクセスするカスタム ArcGIS クライアント アプリケーションを構築する場合、クエリ パラメーターの代わりに X-Esri-Authorization ヘッダーでトークンを送信することをお勧めします。これにより、プロキシ、ゲートウェイ、ロードバランサーなどのネットワーク上の中間地点でトークンを取得できなくなります。以下の HTTP GET リクエストの例は、X-Esri-Authorization ヘッダーでトークンを送信します。GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
X-Esri-Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
ArcGIS Server が ArcGIS Server 認証を使用し、Web 層認証 (IWA、HTTP BASIC、PKI など) を使用しない場合、X-Esri-Authorization ヘッダーの代わりに標準の HTTP 認証ヘッダーを使用できます。GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1 Host: arcgis.mydomain.com
Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
標準化されたクエリの使用
ArcGIS Server には、標準化されたクエリと呼ばれるセキュリティ オプションが含まれ、SQL インジェクション攻撃に対する優れた保護を提供しています。このオプションはデフォルトで有効になっています。
サーバー管理者は、このセキュリティ オプションを有効のままにして、アプリケーション開発者に対しては、データベースに依存しない構文を使用する WHERE 句ステートメントを作成するように指示することをお勧めします。このオプションを無効にすると、システムが SQL インジェクション攻撃に対して脆弱になります。
詳細については、「標準化されたクエリについて」をご参照ください。
ArcGIS Server Services Directory の無効化
ArcGIS Server Services Directory を無効化すると、サービスを参照されたり、Web 検索で見つけられたり、HTML フォームでクエリされたりする可能性を減らすことができます。ArcGIS Server Services Directory を無効化すると、クロスサイト スクリプティング (XSS) 攻撃から保護することもできます。
ArcGIS Server Services Directory を無効化するかどうかは、サイトの目的と、ユーザーと開発者をそのサイトに案内する必要性の度合いによって変わります。ArcGIS Server Services Directory を無効にした場合は、サイトで使用可能なサービスについて、他のリストやメタデータの作成が必要な場合があります。
ArcGIS Server Services Directory の無効化の詳細については、「ArcGIS Server Services Directory の無効化」をご参照ください。
クロス ドメイン リクエストの制限
クロスドメインのリクエストは、多くのシステム攻撃で使用されます。ArcGIS Server サービスの使用を、信頼できるドメイン内でホストされるアプリケーションのみに制限することをお勧めします。詳細については、「ArcGIS Server へのクロス ドメイン リクエストの制限」をご参照ください。