Skip to main content

セキュリティーのベスト プラクティスを実現するためのポータルのスキャン

Portal for ArcGIS には、いくつかの一般的なセキュリティー問題のスキャンを行う Python スクリプト ツール portalScan.py があります。 このツールは、ポータル用のセキュリティーで保護された環境の構成のベスト プラクティスに基づき、問題をチェックします。 多数の基準または構成プロパティを分析し、Critical (重大)、Important (重要)、Recommended (推奨) という 3 段階の重要度レベルに分割します。 これらの基準の説明は次のとおりです。

ID

重要度

プロパティ

説明

PS01

重大

プロキシー制限

ポータルのプロキシー機能が制限されているかどうかを判断します。 デフォルトでは、ポータル プロキシー サーバーはどの URL にも開いています。 サービス拒否 (DoS) やサーバー サイド リクエスト フォージェリー (SSRF) 攻撃を受けるリスクを軽減するため、ポータルのプロキシー機能を、許可された Web アドレスに制限することをおすすめします。

PS02

重大

トークン リクエスト

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

PS03

重要

ポータル サービス ディレクトリー

Web ブラウザーを通じてポータル サービス ディレクトリーにアクセスできるかどうかを判断します。 ポータルのアイテム、サービス、Web マップ、グループ、その他のリソースを参照されたり、Web 検索で見つけられたり、HTML フォームでクエリーされたりする可能性を減らすため、無効にしてください。

PS04

重要

セキュアな通信

ポータルの通信が HTTPS のみを介しているかどうかを判断します。 ポータル内のすべての通信の傍受から守るために、SSL を使用するようにポータルと ArcGIS Web Adaptor をホストする Web サーバーを構成することをおすすめします。

PS05

推奨

組み込みアカウントのサインアップ

ユーザーがポータルのサインアップ ページで アカウントの作成 ボタンをクリックして、組み込みポータル アカウントを作成できるかどうかを判断します。 組織固有のアカウントを使用している場合や、すべてのアカウントを手動で作成する場合は、このオプションを無効にする必要があります。

PS06

推奨

匿名アクセス

匿名アクセスが可能かどうかを判断します。 ポータルに認証情報を入力していないユーザーがコンテンツにアクセスできないように、匿名アクセスを無効化してポータルを構成することをおすすめします。

PS07

推奨

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

ポータルが LDAP アイデンティティー ストアを使用して構成されている場合、このストアによって暗号化通信を使用するかどうかが決定されます。 ユーザー ストアおよびグループ ストアの構成パラメーターにリストされている ldapURLForUsers および ldapURLForRoles プロパティで、LDAPS を使用することをおすすめします。

PS08

推奨

ポータルの SSL 証明書

自己署名証明書をポータルで使用するかどうかを決定します。 ポータルと通信するクライアントの Web ブラウザーによる警告メッセージなどの予期しない動作を減らすには、ポート 7443 にバインドされた CA 署名 SSL 証明書をインポートして使用することをおすすめします。

PS09

推奨

クロス ドメイン リクエスト

クロス ドメイン (CORS) リクエストが制限されないかどうかを決定します。 未知のアプリケーションが共有ポータル アイテムにアクセスする可能性を減らすには、クロス ドメイン リクエストを信頼済みドメインでのみホストされているアプリケーションに制限することをおすすめします。

PS10

重大

フェデレーション サーバーの管理 URL

フェデレーション サーバーの管理者 URL がポータルからアクセスできるかどうか、およびこの URL で使用されている SSL 証明書が信頼済みかどうかを決定します。 証明書が信頼済みでない場合や、ポータルからアクセスできない場合、多くのポータルの機能および操作は失敗します。

PS11

推奨

フェデレーション サーバーのサービス URL

フェデレーション サーバーのサービス URL がポータルからアクセスできるかどうか、およびこの URL で使用されている SSL 証明書が信頼済みかどうかを決定します。 証明書が信頼済みでない場合や、ポータルからアクセスできない場合でも、ポータルは機能しますが、一部のポータル操作は失敗する可能性があります。

PS12

推奨

パブリック コンテンツ

メンバーがコンテンツをパブリックに共有できないようにポータルが構成されている場合でも、すべてのユーザー と共有されているアイテムは表示されます。

PS13

重要

SAML 構成設定

ポータルが SAML 認証を使用するように構成されている場合、暗号化アサーションと署名付きリクエストを有効にするかどうかを決定します。 ID プロバイダーがサポートしている場合、暗号化アサーションと署名付きリクエストの両方を要求するようにポータルを構成することをおすすめします。

PS14

重要

デフォルト印刷サービスのステータス

ポータルでデフォルトで構成されている印刷サービスは、通常、ArcGIS Server がフェデレートされたら上書きされます。 デフォルトの印刷サービスを使用していない場合は、無効化することをおすすめします。

PS15

推奨

凡例サービスのステータス

凡例サービスは、古いマップとフィーチャ サービスから (SOAP 経由で) 凡例アイコンを取得するためにポータルによって使用されます。 REST による凡例取得をサポートしていない古いサービスにアクセスする場合を除き、このサービスを無効化することをおすすめします。

PS16

推奨

RSS サービスのステータス

RSS サービスは、GeoRSS フィードと通信するためにポータルによって使用されます。 ポータルの Web マップから GeoRSS フィードにアクセスしない場合は、このサービスを無効化することをおすすめします。

PS17

推奨

KML サービスのステータス

KLM サービスは、KLM エンドポイントと通信するためにポータルによって使用されます。 ポータルの Web マップから KLM エンドポイントにアクセスしない場合は、このサービスを無効化することをおすすめします。

PS18

重大

サービス アカウントの権限

Windows 上で Portal for ArcGIS サービスを実行しているサービス アカウントが、ローカルの管理者グループのメンバーであるかどうかを判定します。 これにより、システムが高レベルのセキュリティー リスクにさらされます。 アカウントを管理者グループから削除するか、最小限必要な権限のみを持つ、管理者以外のアカウントを使用することをおすすめします。

ID

重要度

プロパティ

説明

PS01

重大

プロキシー制限

ポータルのプロキシー機能が制限されているかどうかを判断します。 デフォルトでは、ポータル プロキシー サーバーはどの URL にも開いています。 サービス拒否 (DoS) やサーバー サイド リクエスト フォージェリー (SSRF) 攻撃を受けるリスクを軽減するため、ポータルのプロキシー機能を、許可された Web アドレスに制限することをおすすめします。

PS02

重大

トークン リクエスト

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

PS03

重要

ポータル サービス ディレクトリー

Web ブラウザーを通じてポータル サービス ディレクトリーにアクセスできるかどうかを判断します。 ポータルのアイテム、サービス、Web マップ、グループ、その他のリソースを参照されたり、Web 検索で見つけられたり、HTML フォームでクエリーされたりする可能性を減らすため、無効にしてください。

PS04

重要

セキュアな通信

ポータルの通信が HTTPS のみを介しているかどうかを判断します。 ポータル内のすべての通信の傍受から守るために、SSL を使用するようにポータルと ArcGIS Web Adaptor をホストする Web サーバーを構成することをおすすめします。

PS05

推奨

組み込みアカウントのサインアップ

ユーザーがポータルのサインアップ ページで アカウントの作成 ボタンをクリックして、組み込みポータル アカウントを作成できるかどうかを判断します。 組織固有のアカウントを使用している場合や、すべてのアカウントを手動で作成する場合は、このオプションを無効にする必要があります。

PS06

推奨

匿名アクセス

匿名アクセスが可能かどうかを判断します。 ポータルに認証情報を入力していないユーザーがコンテンツにアクセスできないように、匿名アクセスを無効化してポータルを構成することをおすすめします。

PS07

推奨

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

ポータルが LDAP アイデンティティー ストアを使用して構成されている場合、このストアによって暗号化通信を使用するかどうかが決定されます。 ユーザー ストアおよびグループ ストアの構成パラメーターにリストされている ldapURLForUsers および ldapURLForRoles プロパティで、LDAPS を使用することをおすすめします。

PS08

推奨

ポータルの SSL 証明書

自己署名証明書をポータルで使用するかどうかを決定します。 ポータルと通信するクライアントの Web ブラウザーによる警告メッセージなどの予期しない動作を減らすには、ポート 7443 にバインドされた CA 署名 SSL 証明書をインポートして使用することをおすすめします。

PS09

推奨

クロス ドメイン リクエスト

クロス ドメイン (CORS) リクエストが制限されないかどうかを決定します。 未知のアプリケーションが共有ポータル アイテムにアクセスする可能性を減らすには、クロス ドメイン リクエストを信頼済みドメインでのみホストされているアプリケーションに制限することをおすすめします。

PS10

重大

フェデレーション サーバーの管理 URL

フェデレーション サーバーの管理者 URL がポータルからアクセスできるかどうか、およびこの URL で使用されている SSL 証明書が信頼済みかどうかを決定します。 証明書が信頼済みでない場合や、ポータルからアクセスできない場合、多くのポータルの機能および操作は失敗します。

PS11

推奨

フェデレーション サーバーのサービス URL

フェデレーション サーバーのサービス URL がポータルからアクセスできるかどうか、およびこの URL で使用されている SSL 証明書が信頼済みかどうかを決定します。 証明書が信頼済みでない場合や、ポータルからアクセスできない場合でも、ポータルは機能しますが、一部のポータル操作は失敗する可能性があります。

PS12

推奨

パブリック コンテンツ

メンバーがコンテンツをパブリックに共有できないようにポータルが構成されている場合でも、すべてのユーザー と共有されているアイテムは表示されます。

PS13

重要

SAML 構成設定

ポータルが SAML 認証を使用するように構成されている場合、暗号化アサーションと署名付きリクエストを有効にするかどうかを決定します。 ID プロバイダーがサポートしている場合、暗号化アサーションと署名付きリクエストの両方を要求するようにポータルを構成することをおすすめします。

PS14

重要

デフォルト印刷サービスのステータス

ポータルでデフォルトで構成されている印刷サービスは、通常、ArcGIS Server がフェデレートされたら上書きされます。 デフォルトの印刷サービスを使用していない場合は、無効化することをおすすめします。

PS15

推奨

凡例サービスのステータス

凡例サービスは、古いマップとフィーチャ サービスから (SOAP 経由で) 凡例アイコンを取得するためにポータルによって使用されます。 REST による凡例取得をサポートしていない古いサービスにアクセスする場合を除き、このサービスを無効化することをおすすめします。

PS16

推奨

RSS サービスのステータス

RSS サービスは、GeoRSS フィードと通信するためにポータルによって使用されます。 ポータルの Web マップから GeoRSS フィードにアクセスしない場合は、このサービスを無効化することをおすすめします。

PS17

推奨

KML サービスのステータス

KLM サービスは、KLM エンドポイントと通信するためにポータルによって使用されます。 ポータルの Web マップから KLM エンドポイントにアクセスしない場合は、このサービスを無効化することをおすすめします。

portalScan.py スクリプトは <Portal for ArcGIS installation location>/tools/security ディレクトリーにあります。 同じディレクトリーにある portalScan Bash スクリプトを使用してシェルからスクリプトを実行します。 スクリプトの実行時に、1 つ以上のパラメーターを指定することもできます。

portalScan.py スクリプトは <Portal for ArcGIS installation location>\tools\security ディレクトリーにあります。 同じディレクトリーにある portalScan.bat を使用してコマンド ラインからスクリプトを実行します。 スクリプトの実行時に、1 つ以上のパラメーターを指定することもできます。

portalScan.py パラメーター

portalScan.py のパラメーターを次の表に示します:

パラメーター

説明

-n

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

-u

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

-p

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

-o

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

-t

ユーザー名とパスワードの代わりに、トークンを生成して使用できます。 トークンを生成すると、portalScanWebapp URL フィールドに入力されます。 トークンが指定されると、指定されているユーザー名またはパスワードが無効化されます。

--ignoressl

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

-h または -?

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

例 (ユーザーのホーム ディレクトリーに書き込まれる出力ファイルを使用):

./portalScan -n portal.example.com -u admin -p my.password -o ~

例 (C:\Temp に書き込まれる出力ファイルを使用してコマンド プロンプトから実行):

portalScan -n portal.example.com -u admin -p my.password -o C:\Temp

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

スキャンを実行すると、指定ポータルで前述の問題が発生した場合に、それを記載した HTML 形式のレポートが作成されます。

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