ArcGIS Enterprise をデプロイするときのベスト プラクティスについて説明します。
アプリケーションのセキュリティー設定
ArcGIS Enterprise では、セキュリティー強化されたインスタンスについて次のベスト プラクティスが推奨されています。 ユーザー固有のユース ケースに応じて、ArcGIS Enterprise の実装に次のアプリケーションレベルの設定を適用することをおすすめします。
- ArcGIS Enterprise の実装全体で HTTPS を必須にします。https://doc.arcgis.com/en/field-maps/get-started/get-started.htmc
- HTTPS を必須にすると、送信中のデータを暗号化して保護できます。
- ArcGIS Server Manager、Server Adimin または Portal Admin のインターフェイスをパブリックに公開しないでください。
- このように設定するには、Web アダプターまたはリバース プロキシーを配置します。
- 運用システムで Services Directory と Portal Directory を無効化します。
- ArcGIS Server Services Directory は有益な開発ツールですが、ユーザーにサービス リストの参照、Web サーチでのサービスの検索、または HTML フォームからのサービスの要求を許可したくない場合は、運用システムで ArcGIS Server Services Directory を無効化することをおすすめします。
- サービスのクエリー操作を無効化します (可能な場合)。
- 特定のサービスでクエリー操作が必要ない場合、攻撃される可能性を最小限に抑えるために無効にしてください。
- ArcGIS Server の主サイト管理者 (PSA) アカウントを無効化して、Portal for ArcGIS の初期管理者アカウント (IAA) を降格または削除します。
- デフォルトのアカウントを無効にすることによって、エンタープライズ アイデンティティー ストアで識別される管理者用の唯一のアクセス パスが保証され、アカウンタビリティーがさらに高まります。
- Web サイトでの商用データベースの使用を制限します。
- 一般ユーザーがエンタープライズ データベースに直接的 (または間接的) にアクセスできないようにします。 ファイル ジオデータベースは、仲介の役目を果たし、SQL インジェクション攻撃の可能性の軽減に役立ちます。
- 標準化された SQL クエリーを有効化します。
- ArcGIS Enterprise のこのセキュリティー オプションを有効にすると、SQL インジェクション攻撃に対する保護機能が向上します。
- ドメイン間リクエストを制限します。
- ArcGIS Enterprise リソースの使用を信頼済みドメインの許可リストでホストされるアプリケーションのみに制限します。
- (企業のファイアウォール外でアクセス可能な) パブリックに面したアプリケーションでは、ArcGIS Server 印刷サービスではなく ArcGIS Online 印刷サービスを使用します。
- これにより、クラウド インフラストラクチャーへのリクエストの負担が軽減され、Web サービスのリクエストが内部の ArcGIS Server に直接送られるのを防ぎます。
- 外部から ArcGIS Server 印刷サービスを使用する必要がある場合は、常に、一般向けの ArcGIS Enterprise を DMZ 内に配置し、信頼されたネットワークの内部に配置しないようにします。
詳細については、「ArcGIS Server のセキュリティー ベスト プラクティス」と「Portal for ArcGIS のセキュリティー ベスト プラクティス」をご参照ください。
セキュリティー アップデート
中~高程度のリスクの悪用可能な脆弱性は、標準のセキュリティー パッチの一部として対処されます。これらのパッチは、現在も「General Availability」および「Extended Support」フェーズにある ArcGIS Enterprise 製品向けにリリースされます。 重要度は、CVSSv4 の公式を使用した環境および時系列評価によって判定されます。 リスクは、CVSS や CISA の KEV カタログなどの要因によって判定されます。
サポートのフェーズについては、「Esri 製品のライフ サイクル定義」をご参照ください。また、特定のサポート タイムラインについては、「ArcGIS Enterprise サポート ライフサイクル ドキュメント」をご参照ください。
重大で実証済みの悪用可能な脆弱性は、Esri の製品ではまれです。 重大で実証済みの悪用可能な脆弱性が Esri ソフトウェアで発見された場合、Esri は、サポートのフェーズや LTS (Long-Term Support) リリースの利用可能性とは関係なく、現在サポートされているすべてのバージョンの影響を受ける ArcGIS ソフトウェアに対して、パッチのリリースを行うことがあります。
ArcGIS Enterprise 向けにリリースされる重要でないセキュリティー パッチは累積的で、パッチ対象の ArcGIS Enterprise プロジェクト向けにリリースされた過去のすべてのセキュリティ パッチを含みます。
認証
ユーザー認証とは、クライアントの本人性を確認するために、接続時に認証情報が検証されることです。
- GIS 層認証または Web 層認証のいずれかを使用した、ArcGIS Enterprise サービスへの認証が必要です。 ArcGIS Server とフェデレートされた Portal for ArcGIS を使用している場合、ユーザーには、SAML 2.0 か OpenID Connect を使った組織固有のログインを使用するオプションもあります。
- GIS 層認証 - ArcGIS トークン モデル認証とビルトイン ユーザー ストアを使用します。
- Web 層認証 - Web サーバーがサポートする任意の認証 (統合 Windows 認証など) を使用します。また、組織の既存の公開鍵基盤 (PKI) を利用することもできます。
- 組織固有のログイン - Portal for ArcGIS が ArcGIS Enterprise 配置の一部として ArcGIS Server とフェデレートされている場合、SAML ログインか Open ConnectID を使用するオプションもあります。
- SAML 2.0 アイデンティティー プロバイダー (IdP) または OpenID Connect との統合によって、Web シングル サイン オンを提供します。
- SAML と OpenID Connect は、IdP とサーバー プロバイダー (この場合は Portal for ArcGIS) との間で認証データを安全に交換するためのオープン規格です。
認証
認証とは、リソースへのアクセスまたは特定機能の実行の前に、クライアントの権限が検証されるプロセスです。
- ロールベース アクセス制御 (RBAC) を実行します。
- ArcGIS Enterprise 内でのロールの管理には、最小権限モデルを使用します。
- ユーザーが要求された機能を実行するために必要な権限のみを割り当てます。
- ArcGIS Server にすでにあるデフォルトのロールは次のとおりです。
- 管理者
- 公開者
- ユーザー
- Portal for ArcGIS を使用している場合、さらに細かくユーザー アクセスを定義するために、最小権限の原則に基づいてカスタム ロールを利用することを推奨します。
暗号化
暗号化は、暗号化キーへのアクセス権のないユーザーはデータを読み取ることができないように、データを変換するプロセスです。
- ArcGIS Enterprise で HTTPS を有効にして、送信データを暗号化します。
- TLS 1.2 を使用します。
- 既存の証明書インフラストラクチャーを使用し、信頼できる第三者認証機関が署名した証明書を使用します。
- 特に重要なデータ セットに対して、保存データを暗号化します (可能な限り)。
- データベースに対しては、透過的なデータ暗号化 (TDE) の使用を検討してください。
- ファイル リポジトリーに対しては、ディスク全体の暗号化の使用を検討してください。
- 強力な暗号化アルゴリズムを使用します。
- 暗号化技術は常に進化を遂げており、古くなったアルゴリズムは次々と危険であると判断されていきます。
- NIST などの標準機関の推奨事項をチェックします。
ログ記録と監査
ログ記録とは、システムの対象のイベントを記録することです。 監査とは、システムが正しく機能していることを確認したり、発生したトランザクションに関する質問に答えたりするために、これらのログを検査することです。
- サービスの公開者など、対象のイベントを記録します。
- アプリケーション、オペレーティング システム、ネットワーク レイヤーで、システム全体のログ記録を確実に使用します。
- 組織が規定した間隔でログを確実にレビューします。
- セキュリティー情報およびイベント管理 (SIEM) の使用は、関連付けの自動化に役立ちます。
ハードニング
ハードニングとは、できるだけ多くのセキュリティー リスクを軽減するために、システムを安全に構成するプロセスです。 次の方法によってシステムが攻撃される可能性を最小化することができます。
- アプリケーションレベルのセキュリティー強化機能を実装します (上記のガイダンスをご参照ください)。
- 不要なソフトウェアを削除します。
- 不要なサービスを無効化します。
- その他のアプリケーション固有のセキュリティー強化機能に関するガイドライン (Enterprise 強化ガイドなど) を参照します。
- Microsoft Security Compliance Toolkit などのツールを使用して、OS ベンダーのベースライン ポリシーを管理します。
- 独立系のセキュリティー ガイドライン (CIS Security Benchmarks など) を参照します。
ArcGIS Server のセキュリティー検証
serverScan.py スクリプトは <ArcGIS Server installation location>/tools/admin ディレクトリーにあります。 コマンド ラインまたはシェルからスクリプトを実行します。 スクリプトを実行中にパラメーターを指定できます。
パラメーターを 1 つも指定せずに serverScan.py スクリプトを実行すると、手動でパラメーターを入力するか、デフォルト値を選択するよう求めるメッセージが表示されます。 トークンを使用するには、スクリプトを実行中にパラメーターとしてトークンを指定する必要があります。
スキャンを実行すると、指定した ArcGIS Server サイトで前述の問題が発生した場合に、それを記載した HTML 形式のレポートが作成されます。
デフォルトでは、このレポートは、スクリプトを実行したのと同じフォルダーに保存され、serverScanReport_[hostname]_[date].html と名前が付けられます。
Portal for ArcGIS のセキュリティー検証
portalScan.py スクリプトは <Portal for ArcGIS installation location>\tools\security ディレクトリーにあります。 コマンド ラインまたはシェルからスクリプトを実行します。 スクリプトを実行中にパラメーターを 1 つ以上指定できます。
パラメーターを 1 つも指定せずに portalScan.py スクリプトを実行すると、手動でパラメーターを入力するか、デフォルト値を選択するよう求めるメッセージが表示されます。 トークンを使用するには、スクリプトを実行中にパラメーターとしてトークンを指定する必要があります。
スキャンを実行すると、指定ポータルで前述の問題が発生した場合に、それを記載した HTML 形式のレポートが作成されます。
デフォルトでは、このレポートは、スクリプトを実行したのと同じフォルダーに保存され、portalScanReport_[hostname]_[date].html と名前が付けられます。
参考資料
ArcGIS Server のその他のベスト プラクティスについては、製品のドキュメントをご参照ください。