20.1.3 インスタンス・セキュリティの管理
Oracle Application Expressインスタンスを管理する場合のセキュリティに関するベスト・プラクティスについて学習します。
注意:
開発環境のセキュリティとパフォーマンスを確保するために、この機能はOracle Cloudで実行されているApplication Expressインスタンスでは使用できません。- ログイン制御の作成について
管理者は、インスタンス全体に対して、または個々のワークスペースにログイン制御を構成できます。 - パブリック・ファイルのアップロードの有効化について
管理者は、「パブリック・ファイルのアップロードを許可」属性を使用して、認証されていないユーザーがファイルのアップロード機能を提供するアプリケーションでファイルをアップロードできるかどうかを制御できます - IPアドレスによるユーザー・アクセスの制限について
管理者は、「インスタンスの管理」の「セキュリティ」ページで「IPアドレス別にアクセスを制限」属性に許容されるIPアドレスのカンマ区切りリストを入力して、Oracle Application Expressインスタンスへのユーザー・アクセスを制限できます。 - インスタンス・プロキシの指定について
管理者は、「インスタンス・プロキシ」属性を使用して、すべてのアウトバウンドHTTPトラフィックにプロキシを使用するようにOracle Application Expressインスタンス全体を構成できます。 - Secure Sockets Layerの使用について
Secure Sockets Layer (SSL)は、インターネット上に転送されるデータのセキュリティを管理するためのプロトコルです。SSLは、HTTPSプロトコルを使用してWebアプリケーションに実装されます。機密データが暗号化されていない(クリアテキストの)通信チャネルに送信されないように、SSL (HTTPSプロトコル)を使用してOracle Application Expressアプリケーションを実行することをお薦めします。 - RESTfulアクセスの有効化について
管理者は、「RESTfulアクセスを許可」属性を使用して、開発者がレポート・リージョンをRESTfulサービスとして公開できるかどうかを制御できます。 - 「セッションを再結合」について
「セッションを再結合」属性を使用して、Oracle Application ExpressでセッションIDを含まないアプリケーションURLをサポートするかどうかを制御します。 - ワークスペースの分離について
ワークスペースの分離は、ブラウザ攻撃を防ぐ効果的な方法です。 - セッション・タイムアウトの使用について
「セッション・タイムアウト」属性を構成して、アプリケーションの公開を抑制します。 - パスワードの再利用の制限
サイト管理者は、すべての管理者アカウント、開発者アカウントおよびエンド・ユーザー・アカウントに対し、そのアカウントに以前使用されたパスワードの履歴に基づいて、パスワードの再利用を制限することができます。 - WebシートでのSQLの使用について
SQL Webシートを許可属性を無効にすると、管理者は、WebシートのユーザーがSQLタグを使用して基盤となるデータベース・オブジェクトにアクセスしたり、SQLレポートを作成することを防ぐことができます。 - RESTfulサービスの有効化について
管理者は、ワークスペース・レベルまたはインスタンス・レベルでRESTfulサービスを作成してアクセスする機能を制御できます。
関連項目:
Oracle Application Express管理ガイドのセキュリティの構成
親トピック: セキュリティに関する管理者のベスト・プラクティスの理解
20.1.3.1 ログイン制御の作成について
管理者は、インスタンス全体に対して、または個々のワークスペースにログイン制御を構成できます。
ワークスペースの管理者および開発者は、Oracle Application Expressの開発環境にログインし、ワークスペース内で開発されたアプリケーションに対するエンド・ユーザーの認証を行うためのユーザー・アカウントを作成できます。
管理者は、インスタンス・レベルまたはワークスペースレベルでログイン制御を構成できます。たとえば、インスタンス管理者がOracle Application Express管理サービスでアカウント・ログイン制御を構成した場合、その構成は開発インスタンス全体ですべてのワークスペースの全Application Expressアカウントに適用されます。
インスタンス管理者がインスタンス全体でログイン制御を有効にしない場合は、各ワークスペース管理者がワークスペースごとに次の制御を有効にできます。
-
エンド・ユーザーのアカウント有効期限およびロック。
-
エンド・ユーザー・アカウントへのログイン試行失敗の最大回数。
-
パスワード存続期間(つまりエンド・ユーザー・アカウントのパスワードを使用できる期限が切れるまでの残りの日数)。
関連項目:
Oracle Application Express管理ガイドのワークスペース・アカウント・ログイン制御の管理およびインスタンスの認証制御の構成
親トピック: インスタンス・セキュリティの管理
20.1.3.2 パブリック・ファイルのアップロードの有効化について
管理者は、「パブリック・ファイルのアップロードを許可」属性を使用して、認証されていないユーザーがファイルのアップロード機能を提供するアプリケーションでファイルをアップロードできるかどうかを制御できます
関連項目:
Oracle Application Express管理ガイドのパブリック・ファイルのアップロードの制御に関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.3 IPアドレスによるユーザー・アクセスの制限について
管理者は、インスタンスの管理、セキュリティ・ページで「IPアドレス別にアクセスを制限」属性の許容されるIPアドレスのカンマ区切りリストを入力して、Oracle Application Expressインスタンスへのユーザー・アクセスを制限できます。
関連項目:
Oracle Application Express管理ガイドのIPアドレス別のユーザー・アクセスの制限に関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.4 インスタンス・プロキシの指定について
管理者は、「インスタンス・プロキシ」属性を使用して、すべてのアウトバウンドHTTPトラフィックにプロキシを使用するようにOracle Application Expressインスタンス全体を構成できます。
インスタンス・レベルでのプロキシの設定は、アプリケーション・レベルまたはWebサービス参照で定義されているすべてのプロキシより優先されます。プロキシが指定されている場合、URLタイプのリージョン、Webサービスおよびレポート出力で、そのプロキシが使用されます。
関連項目:
Oracle Application Express管理ガイドのインスタンス用のプロキシ・サーバーの構成に関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.5 Secure Sockets Layerの使用について
Secure Sockets Layer(SSL)は、インターネット上に転送されるデータのセキュリティを管理するためのプロトコルです。SSLは、HTTPSプロトコルを使用してWebアプリケーションに実装されます。機密データが暗号化されていない(クリアテキストの)通信チャネルに送信されないように、SSL (HTTPSプロトコル)を使用してOracle Application Expressアプリケーションを実行することをお薦めします。
管理者は、「HTTPSが必要」属性および「アウトバウンドHTTPSが必要」属性を構成することで、Oracle Application Expressインスタンスとすべての関連アプリケーションでHTTPSを必要とするように構成できます。これらの属性を構成すると、アプリケーション・ビルダー内の認証済ページでは、ネットワーク通信を暗号化するHTTPSを要求することが強制されます。「HTTPSが必要」オプションを変更しても、Webサーバーにはまったく影響しません。これらのオプションが意味を持つためには、HTTPSに対してWebサーバーを有効化する必要があります。HTTPSの有効化についてさらに学習するには、使用する特定のWebサーバーのドキュメントを参照してください。
「HTTPSが必要」オプションは次のとおりです。
-
常時 - すべてのアプリケーション(Oracle Application Express開発および管理アプリケーションを含む)にHTTPSを要求するように強制します。
-
開発および管理 - Oracle Application Express内のすべての内部アプリケーション(つまり、アプリケーション・ビルダー、SQLワークショップ、インスタンス管理など)にHTTPSを要求するように強制します。
-
アプリケーション固有 - HTTPSをアプリケーション・レベル設定依存にします。
関連項目:
『Oracle Application Express管理ガイド』の、HTTPプロトコル属性の構成に関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.6 RESTfulアクセスの有効化について
管理者は、「RESTfulアクセスを許可」属性を使用して、開発者がレポート・リージョンをRESTfulサービスとして公開できるかどうかを制御できます。
関連項目:
Oracle Application Express管理ガイドのインスタンスのRESTfulサービスの有効化
親トピック: インスタンス・セキュリティの管理
20.1.3.7 「セッションを再結合」について
「セッションを再結合」属性を使用して、Oracle Application ExpressでセッションIDを含まないURLをサポートするかどうかを制御します。
ヒント:
セキュリティ上の理由から、管理者は、ワークスペース・レベルまたはインスタンス・レベルで「ホスト名の許可」属性を構成してワークスペース分離を実装する場合を除いて、「セッションを再結合」を無効にすることをお薦めします。ワークスペースの分離についてを参照してください。
セッションの再結合を有効にすると、URLにセッションIDが含まれていない場合、Oracle Application Expressはセッションcookieを使用して既存のセッションを結合しようとします。「セッションを再結合」を使用するには、管理者はアプリケーション・レベルまたはページ・レベルで「セッションを再結合」を有効にする必要があります。「セッションを再結合」にインスタンス・レベルでより制限の多い値が設定されている場合、これによりアプリケーションおよびページ設定が上書きされます。
セッション結合のサポートは便利ですが、複数の重大なセキュリティ・リスクが存在します。
-
セッション・ステートの悪意のある変更または他の変更のトリガー。
攻撃者がユーザーにアプリケーション・リンクをクリックさせた場合に、セッション・ステートの悪意のある変更または他の変更がトリガーされる可能性があります。このリスクのため、Application Expressには、データの変更を伴うリクエスト処理のタイミングを攻撃者が推測できないチェックサムが必要です。
-
アプリケーション間の予期しない変更のトリガー。
ユーザーが同じOracle Application Expressインスタンスの個別のタブで2つのアプリケーションを開いている場合、一方のアプリケーションが他方のアプリケーションで予期しない変更をトリガーする可能性があります。攻撃側のアプリケーションはハッカーによって作成されたか、攻撃者にコードの挿入を可能にするXSS脆弱性がある場合があります。このアプリケーションは、他のアプリケーションとのユーザーの相互作用をシミュレートするAjaxコールを使用することがあります。
関連項目:
-
Oracle Application Express管理ガイドのインスタンスへのセッション再結合の構成
親トピック: インスタンス・セキュリティの管理
20.1.3.8 ワークスペースの分離について
ワークスペースの分離は、ブラウザ攻撃を防ぐ効果的な方法です。
ワークスペースを実際に分離する唯一の方法は、Oracle Application Express管理サービスで「ホスト名の許可」属性を構成して、URLで異なるドメインを強制することです。攻撃者と攻撃を受ける側のURLでドメインとホスト名が異なる場合、ブラウザの同一起点ポリシーによって攻撃が回避されます。
「ホスト名の許可」の構成によるワークスペースの分離は、ワークスペースの境界を越えようとするクライアント側攻撃への対策となります。このセキュリティ対策は、他のフレームワークおよび言語(Oracle Application Development Framework (ADF)やJavaなど)で作成されたアプリケーションを含むインスタンスのホストを使用してアクセスできるすべてのアプリケーションを信頼できる場合は、必要ありません。
関連項目:
-
Oracle Application Express管理ガイドのインスタンスのすべてのワークスペースの分離に関する項
-
Oracle Application Express管理ガイドのブラウザ攻撃を防ぐためのワークスペースの分離に関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.9 セッション・タイムアウトの使用について
「セッション・タイムアウト」属性を構成して、アプリケーションの公開を抑制します。
ユーザーは、長時間コンピュータを操作しなかったり、アプリケーションを終了せずにコンピュータの元を離れることが頻繁にあります。このため、アプリケーションのユーザー・アイデンティティが、権限のないユーザーによって簡単に引き継がれる可能性があります。セッション・タイムアウトおよびアイドル・タイムアウトを設定すると、指定したタイムアウトの後、ユーザーは自動的にアプリケーションからログアウトされます。
「セッション・タイムアウト」属性には、次のものがあります。
-
最大セッションの長さ
-
最大セッション・アイドル時間
-
セッション・タイムアウト警告(秒)
-
セッション・タイムアウトURL (アプリケーション・レベル設定)
-
アイドル・タイムアウトURL (アプリケーション・レベル設定)
開発者は特定のアプリケーションのセッション・タイムアウトを構成でき、管理者はワークスペースまたはインスタンス全体のセッション・タイムアウトを構成できます。
関連項目:
-
これらの属性をアプリケーション・レベルで構成する方法を学習するには、セッション管理を参照してください。
- Oracle Application Express管理ガイドのワークスペースのセッション・タイムアウトの構成およびインスタンスのセッション・タイムアウトの構成
親トピック: インスタンス・セキュリティの管理
20.1.3.10 パスワードの再利用の制限
サイト管理者は、すべての管理者アカウント、開発者アカウントおよびエンド・ユーザー・アカウントに対し、そのアカウントに以前使用されたパスワードの履歴に基づいて、パスワードの再利用を制限することができます。
パスワードの再利用を制限するには:
関連項目:
-
Oracle Application Express APIリファレンスのSTRONG_PASSWORD_CHECKプロシージャに関する項
-
Oracle Application Express APIリファレンスのSTRONG_PASSWORD_VALIDATIONファンクションに関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.11 WebシートでのSQLの使用について
SQL Webシート属性を許可属性を無効にすると、管理者は、WebシートのユーザーがSQLタグを使用して基盤となるデータベース・オブジェクトにアクセスしたり、SQLレポートを作成することを防ぐことができます。
関連項目:
Oracle Application Express管理ガイドのWebシートでのSQLアクセスの有効化と無効化に関する項
親トピック: インスタンス・セキュリティの管理
20.1.3.12 RESTfulサービスの有効化について
管理者は、ワークスペース・レベルまたはインスタンス・レベルでRESTfulサービスを作成してアクセスする機能を制御できます。
「RESTfulサービスを有効にする」属性を無効にすると、開発者は、Oracle REST Data Services 2.0以上とともに使用されるSQLおよびPL/SQLにマップされるRESTful Webサービスを作成および編集できなくなります。
「RESTfulサービスを有効にする」を構成するには:
-
「ワークスペース管理」で、Oracle Application Expressにサインインして、「管理」メニューをクリックします。「サービスの管理」→「ワークスペース・プリファレンスの設定」→「SQLワークショップ」を選択し、「RESTfulサービスを有効にする」属性を検索します。
-
「インスタンス管理」で、Oracle Application Express管理サービスにサインインします。「インスタンスの設定」で、「機能構成」→「機能構成」をクリックします。「REST」タブで、「RESTfulサービスを有効にする」属性を検索します。
関連項目:
Oracle Application Express管理ガイドのワークスペースのRESTfulサービスの有効化およびパス接頭辞の定義およびインスタンスのRESTfulサービスの有効化
親トピック: インスタンス・セキュリティの管理