ArcGIS Enterprise をデプロイするときのベスト プラクティスについて説明します。
アプリケーションのセキュリティ設定
ArcGIS Enterprise では、セキュリティ強化されたインスタンスについて次のベスト プラクティスが推奨されています。 ユーザー固有のユース ケースに応じて、ArcGIS Enterprise の実装に次のアプリケーションレベルの設定を適用することをお勧めします。
- ArcGIS Enterprise の実装全体で HTTPS を必須にします。
- 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 製品の長期サポート (LTS) リリースとしてリリースされます。 リスクは、CVSSv3.1 の公式を使用した社内評価によって判定されます。 サポートのフェーズについては、「Esri 製品のライフ サイクル定義」をご参照ください。また、STS と LTS のリリースについて説明したブログ投稿「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) の使用は、関連付けの自動化に役立ちます。
ハードニング
ハードニングとは、できるだけ多くのセキュリティ リスクを軽減するために、システムを安全に構成するプロセスです。 次の方法によってシステムが攻撃される可能性を最小化することができます。
- アプリケーションレベルのセキュリティ強化機能を実装します (上記のガイダンスをご参照ください)。
- 不要なソフトウェアを削除します。
- 不要なサービスを無効化します。
- その他のアプリケーション固有のセキュリティ強化機能に関するガイドライン (Esri ArcGIS Server STIG など) を参照します。
- 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 のその他のベスト プラクティスについては、製品のドキュメントをご参照ください。