ホーム > Oracle Application Expressのホスティングされたインスタンス管理 > 環境設定の管理 > セキュリティ設定の構成
前へ |
次へ |
Oracle Application Express管理者は、Application Expressのログイン・フォームへの移入に使用するCookieの無効化、アカウントへのアクセスの制御、パスワード・ポリシーの設定などのセキュリティ設定を構成できます。
トピック:
Oracle Application Express管理者は、開発者または管理者がApplication Expressのログイン・ページから作業領域にログインするときにユーザーのコンピュータに便利なCookieを送信するかどうかを制御できます。デフォルトでは、「作業領域Cookieの設定」オプションは「はい」に設定されます。
選択した場合、Oracle Application Expressにより次のような永続Cookieが送信されます。
最後に使用された作業領域名とユーザー名が組み合されます
6か月の存続期間があります
Application Expressの作業領域ログイン・フォーム(Oracle Application Express管理サービスのログイン・フォームではありません)への移入のために読み取られます
注意: コンピュータがこのCookieを受信している場合は、ブラウザのツールまたはシステム・ユーティリティを使用して、ディスク上の永続位置から物理的に削除できます。このCookieはORA_WWV_REMEMBER_UN という名前です。以前のリリースのOracle Application Expressの場合、このCookieはORACLE_PLATFORM_REMEMBER_UN という名前です。このCookieは、個別のホスト名およびパス・コンポーネントを持つ、アクセスされた各Oracle Application Expressサービスに存在します。 |
ログイン時にユーザーのコンピュータにCookieを送信しないようにするには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「セキュリティ」セクションに移動します。
「作業領域Cookieの設定」で、「いいえ」を選択します。
「変更の適用」をクリックします。
Oracle Application Express管理者は、Oracle Application Express管理サービスへのユーザー・アクセスを制限できます。これにより、ユーザーはOracle Application Express管理サービスにログインできなくなります。
Oracle Application Express管理サービスへのユーザー・アクセスを無効にするには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「セキュリティ」セクションに移動します。
「管理者ログインの無効化」で「はい」を選択します。
「変更の適用」をクリックします。
この値を設定してログアウトすると、すべてのユーザーがOracle Application Express管理サービスにログインできなくなります。
この設定を無効化し、管理者ログインを有効化するには、次のステップを実行します。
SQL*Plusに接続し、SYS
としてOracle Application Expressがインストールされているデータベースに接続します。次に例を示します。
Windowsの場合:
SYSTEM_DRIVE:\ sqlplus /nolog
connect sys as sysdba
UNIXおよびLinuxの場合:
$ sqlplus /nolog connect sys as sysdba
プロンプトが表示されたら、適切なパスワードを入力します。
次の文を実行します。
ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
次の文を実行します。
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('DISABLE_ADMIN_LOGIN', 'N'); commit; END; /
Oracle Application Expressを構成するアプリケーション(アプリケーション・ビルダー、SQLワークショップなど)は、内部という作業領域内に存在します。内部アプリケーションへのユーザー・アクセスを制限するには、「作業領域ログインの無効化」で「はい」を選択します。本番環境で「はい」を選択すると、権限のないユーザーは内部作業領域のアプリケーション(アプリケーション・ビルダー、SQLワークショップなど)を実行できません。この機能を使用する管理者は、Oracle Application Express管理サービスへのユーザー・アクセスの無効化も検討する必要があります。
内部作業領域へのユーザー・アクセスを無効にするには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「セキュリティ」セクションに移動します。
「作業領域ログインの無効化」で「はい」を選択します。
「はい」を選択すると、ユーザーが内部作業領域にログインできなくなります。
「変更の適用」をクリックします。
「パブリック・ファイルのアップロードを許可」属性を使用して、認証されていないユーザーがファイルのアップロード制御を提供するアプリケーションでファイルをアップロードできるかどうかを制御します。
ファイルのアップロードを制御するには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「セキュリティ」セクションに移動します。
「パブリック・ファイルのアップロードを許可」で、次のいずれかを選択します。
はい: 認証されていないユーザーが内部作業領域のアプリケーションでファイルをアップロードできます。
いいえ: 認証されていないユーザーが内部作業領域のアプリケーションでファイルをアップロードできません。
「変更の適用」をクリックします。
Oracle Application Express管理者は、RESTRICT_IP_RANGE
という実行時の設定を作成して、Oracle Application Expressインスタンスへのユーザー・アクセスを制限できます。
IPアドレスでユーザー・アクセスを制限するには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「セキュリティ」セクションに移動します。
「管理者ログインの無効化」で、「いいえ」を選択します。
「IPアドレス別にアクセスを制限」に、カンマで区切られたIPアドレスのリストを入力します。ワイルドカードを指定するには、アスタリスク(*)を使用します。
1つから4つのレベルのIPアドレスを入力できます。次に例を示します。
141, 141.* ... 192.128.23.1 ...
注意: ワイルドカードを使用する場合は、ワイルドカードの後ろに数値を追加して入力しないでください。たとえば、138.*.41.2 とは入力できません。 |
「変更の適用」をクリックします。
Secure Socktets Layer(SSL)は、インターネット上で転送されるデータのセキュリティを管理するためのプロトコルです。Webアプリケーションの場合、SSLはHTTPSプロトコルを使用して実装されます。機密データが暗号化されていない(クリアテキストの)通信チャネルに送信されないように、SSL(HTTPSプロトコル)を使用してOracle Application Expressアプリケーションを実行することをお薦めします。
サービスの管理ページで「HTTPSが必要」属性を「はい」に設定すると、Oracle Application Expressインスタンスとすべての関連アプリケーションでHTTPSを必要とするように構成できます。
注意: 「HTTPSが必要」を「はい」に設定すると、HTTPSを介してのみOracle Application Express作業領域またはOracle Application Express管理サービスにログインできます。 |
Oracle Application ExpressインスタンスでHTTPSを必要とするようにするには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「セキュリティ」セクションに移動します。
「HTTPSが必要」で、「はい」を選択します。
「変更の適用」をクリックします。
インスタンスレベル要件の「HTTPSが必要」を無効化するには、次のステップを実行します。
現行スキーマとしてApplication Expressエンジン・スキーマを使用してSQL*PlusまたはSQL Developerに接続します。次の例を示します。
Windowsの場合:
SYSTEM_DRIVE:\ sqlplus /nolog
connect sys as sysdba
UNIXおよびLinuxの場合:
$ sqlplus /nolog connect sys as sysdba
プロンプトが表示されたら、適切なパスワードを入力します。
次の文を実行します。
ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
次の文を実行します。
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('REQUIRE_HTTPS', 'N'); commit; end; /
「セッション・タイムアウト」の属性を使用して、アプリケーション・レベルでWebブラウザが開いたまま放置されたコンピュータに対する公開を抑制します。
Oracle Application Expressインスタンスのセッション設定を管理するには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
Application Expressの「セッション・タイムアウト」で、次の属性を指定します。
最大セッションの長さ: Oracle Application Expressアプリケーション(Application Builder、SQLワークショップなど)のためにセッションが存続できる時間(秒)を示す正の整数を入力します。値をNULL
のままにすると、デフォルト値28800秒(8時間)に戻されます。8時間ごとに実行され、24時間より前のセッションを削除するジョブ操作が、ここに指定するセッション期間よりも優先されることがあります。
最大セッション・アイドル時間: Oracle Application Expressアプリケーション(Application Builder、SQLワークショップなど)のためにセッションがアイドル状態で存続できる時間(秒)を示す正の整数を入力します。値をNULLのままにすると、デフォルト値1時間(3600秒)に戻されます。
「変更の適用」をクリックします。
Oracle Application Expressインスタンス全体に対してURLタイプのリージョンおよびWebサービスを制限できます。Oracle Application Express管理者は除外するドメインおよびURLタイプのリージョンを定義します。Web参照またはURLタイプのリージョンに除外されたドメインが含まれる場合、制限されていることを通知するエラーがユーザーに表示されます。
URLタイプのリージョンおよびWebサービスからドメインを除外するには、次のステップを実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「ドメインの使用禁止」で、除外するドメインのコロン区切りのリストを入力します。
「変更の適用」をクリックします。
デフォルトでは、Oracle Application Expressインスタンス間でログイン制御が有効です。Oracle Application Express管理者はすべての開発インスタンス間のすべての作業領域のすべてのアカウントに対してログイン制御を有効にできます。アカウントのログイン制御には次が含まれます。
ユーザーのアカウント有効期限およびロックの要求
ログイン試行の失敗最大回数の設定
新しいパスワードを要求するプロンプトが表示されるまでのパスワードの存続期間の設定
Oracle Application Express管理者がすべてのインスタンスに対してログイン制御を有効にしない場合は、各作業領域管理者が作業領域ごとに次の制御を有効にできます。「作業領域に対するログイン制御の有効化」を参照してください。
アカウント・ログイン制御は、Application Expressのユーザー・アカウント作成機能、およびアカウントに対して認証を使用するアプリケーションに影響を与えますので注意してください。
すべての作業領域に対してログイン制御を有効にするには、次を実行します。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
「アカウント・ログイン制御」までスクロールします。
「アカウント・ログイン制御」には、次の項目があります。
ユーザー・アカウントの有効期限およびロックが必要: 「はい」を選択して、Oracle Application Expressインスタンス全体のすべての作業領域に対してこの機能を有効にします。この機能は、Application Expressエンド・ユーザー・アカウント管理インタフェースを使用して作成されたエンド・ユーザー・アカウントに適用されます。
「いいえ」を選択すると、各作業領域管理者に対して制御は行われません。
許可されるログイン失敗の最大回数: 開発者アカウントまたは管理者アカウントがロックされるまでに許可される認証の連続失敗の最大回数を入力します。このフィールドの値を指定しない場合は、デフォルト値の4が設定されます。
この設定はApplication Express管理者および開発者アカウントに適用されます。エンド・ユーザー・アカウントには適用されません。
作業領域管理者が値を指定しない場合は、ここで入力した値が作業領域レベルの「許可されるログイン失敗の最大回数」プリファレンスのデフォルトとして使用されます。このプリファレンスは各作業領域内のエンド・ユーザー・アカウントで使用されます。
アカウント・パスワード・ライフタイム(日): アカウントの期限が切れるまでに開発者または管理者アカウント・パスワードを使用できる最大日数を入力します。このフィールドの値を指定しない場合は、デフォルト値の45日が設定されます。
この設定はApplication Express管理および開発環境へのアクセスに使用するアカウントにのみ適用されます。Application Expressで開発されたアプリケーションで使用するエンド・ユーザー・アカウントには適用されません。
作業領域管理者が値を指定しない場合は、ここで入力した値が作業領域レベルのエンド・ユーザー・アカウント・ライフタイムのプリファレンスのデフォルトとして使用されます。このプリファレンスは各作業領域内のエンド・ユーザー・アカウントで使用されます。
「変更の適用」をクリックします。
ヒント: この機能は、Application Expressのユーザー作成および管理機能を使用して作成したアカウントにのみ適用されます。この機能は、追加的なアプリケーションの認証セキュリティを提供します。「Application Expressユーザーの管理」を参照してください。 |
Oracle Application Express管理者は次に対してパスワード・ポリシーを有効にできます。
すべての作業領域におけるすべてのユーザー(つまり作業領域管理者、開発者およびエンド・ユーザー)
Oracle Application Express管理者は、パスワードの文字、長さ、単語、パスワードの連続失敗を含む制限をすべてのユーザーに対して設定できます。
Oracle Application Express管理サービスにログインするユーザー
Oracle Application Expressで強力なパスワード要件を機能させると、ハッカーが管理者のパスワードを判別できないようセキュリティの層をさらに追加できます。このオプションを選択する場合、パスワードはこれらの要件を満たす必要があります。
6文字以上で構成されます
小文字および大文字のアルファベット、数字、記号を1つ以上含みます
ユーザー名は含めることができません
Internalという単語を含めることができません
このセクションの「作業領域名使用禁止」にある単語を含めることができません
パスワード・ポリシーを構成するには、次のようにします。
Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。
「サービスの管理」をクリックします。
「環境設定の管理」で、「セキュリティ」をクリックします。
作業領域管理者、開発者およびエンド・ユーザーに対してパスワード・ポリシーを設定するには、「作業領域のパスワード・ポリシー」までスクロールし、表「作業領域のパスワード・ポリシーの属性」に示されている属性を指定します。
作業領域のパスワード・ポリシーの属性
属性 | 説明 |
---|---|
パスワードの最小文字数 |
パスワードの最小文字数を入力します。 |
パスワードの差分の最小値 |
正の整数または0を入力します。 ユーザーがパスワードを変更したとき、新しいパスワードは古いパスワードと文字数が異なる必要があります。新旧パスワードの同じ位置における各差分が、差分の最低要件を満たしているかどうかについて、新旧パスワードが1文字ずつ比較されます。 |
アルファベット文字を最低1つ含める必要があります |
「はい」を選択すると、ユーザーのパスワードに最低1つのアルファベット文字が含まれる必要があります。「アルファベット」フィールドにはアルファベット文字がリストされます。 |
数値を最低1つ含める必要があります |
「はい」を選択すると、ユーザーのパスワードには数字(0、1、2、3、4、5、6、7、8、9)を1文字以上使用する必要があります。 |
句読点を最低1つ含める必要があります |
「はい」を選択すると、ユーザーのパスワードに最低1つの記号が含まれる必要があります。「記号」フィールドには記号がリストされます。 |
大文字を最低1つ含める必要があります |
「はい」を選択すると、ユーザーのパスワードに最低1つの大文字のアルファベットが含まれる必要があります。 |
小文字を最低1つ含める必要があります |
「はい」を選択すると、ユーザーのパスワードに最低1つの小文字のアルファベットが含まれる必要があります。 |
ユーザー名使用禁止 |
「はい」を選択すると、大/小文字に関係なくユーザーのパスワードにユーザー名を含むことが禁止されます。 |
作業領域名使用禁止 |
「はい」を選択すると、大/小文字に関係なくユーザーのパスワードに作業領域名を含むことが禁止されます。 |
使用禁止 |
ユーザーのパスワードに使用できない単語を、コロンで区切って入力します。これらの単語は、大/小文字のどの組合せでもパスワードに使用できません。 この機能により、hello、guest、welcomeなどの単語に基づいて、単純な推測されやすいパスワードが作成できなくなるため、セキュリティが向上します。 |
アルファベット |
新しいテキストを入力するか、既存のテキストを編集します。これは、アルファベット文字に関するパスワード検証に使用される一連の文字です。 |
記号文字 |
新しいテキストを入力するか、既存のテキストを編集します。これは、記号に関するパスワード検証に使用される一連の文字です。 |
次に、サービス管理者のパスワード・ポリシーを設定します。
「サービス管理者のパスワード・ポリシー」にスクロールし、次のいずれかを指定します。
「作業領域のパスワード・ポリシー」で指定したポリシーの使用: 前述の「作業領域のパスワード・ポリシー」で指定したパスワード・ルールをサービス管理者のパスワードに適用します。
デフォルトの強力なパスワード・ポリシーの使用: デフォルトの強力なパスワード・ポリシーをサービス管理者のパスワードに適用します。詳細は、アイテム・ヘルプを参照してください。
「変更の適用」をクリックします。
mod_plsql
および埋込みPL/SQLゲートウェイでは、コールされるPL/SQLファンクションをHTTPリクエストごとに指定するためのディレクティブがサポートされています。この機能を使用すると、埋込みPL/SQLゲートウェイまたはmod_plsql
を介して起動されるプロシージャを制限できます。このファンクションは、リクエストで指定されたプロシージャが許可されていればTRUE
を戻し、許可されていなければFALSE
を戻します。このファンクションを使用すると、Oracle Application Expressに対するアクセス制限を、データベース・アクセス記述子(DAD)ベースで適用できます。
Oracle Application Expressには、wwv_flow_epg_include_modules.authorize
というリクエスト検証ファンクションが付属しています。このファンクションを使用すると、Oracle Application Expressに構成された標準的なDADに対して適切な制限が指定されます。
インストーラによるインストールでは、Oracle Application Express製品スキーマ(APEX_030200
)にPL/SQLファンクションも自動的に作成されます。アクセスを制限するには、このファンクションを変更して再コンパイルします。このファンクションのソース・コードは、ラッピングされておらず、Oracle Application Express製品コア・ディレクトリのファイルwwv_flow_epg_include_local.sql
にあります。ソース・コードは、次のとおりです。
CREATE OR REPLACE FUNCTION wwv_flow_epg_include_mod_local( PROCEDURE_NAME IN VARCHAR2) RETURN BOOLEAN IS BEGIN RETURN FALSE; -- remove this statement when you add procedure names to the "IN" list IF UPPER(procedure_name) IN ( '') THEN RETURN TRUE; ELSE RETURN FALSE; END IF; END wwv_flow_epg_include_mod_local; /
許可されるプロシージャの名前を追加するには、次のステップを実行します。
BEGIN
文のすぐ後ろのRETURN FALSE
文を削除するかコメント・アウトします。
... BEGIN RETURN FALSE; -- remove this statement when you add procedure names to the "IN" list ...
HTTPリクエストでの起動を許可するプロシージャの名前を表す句に、名前を追加します。たとえば、プロシージャPROC1
およびPROC2
をIN
リストで許可する場合は、IN ('PROC1', 'PROC2')
のように記述します。
このファンクションのソース・コードの変更後に、Oracle Application Express製品スキーマ(APEX_030200
)を変更し、そのスキーマのファンクションをコンパイルします。
製品スキーマAPEX_030200
を変更するには、次のステップを実行します。
SQLコマンドライン(SQL*Plus)にSYS
としてログインします。
次のコマンドを入力して、製品スキーマ(APEX_030200
)を変更します。
ALTER SESSION SET CURRENT_SCHEMA APEX_030200;
ファンクションwwv_flow_epg_include_local.sql
をコンパイルします。
wwv_flow_epg_include_mod_local
ファンクションは、埋込みPL/SQLゲートウェイまたはmod_plsqlからコールされるOracle Application Expressのリクエスト検証ファンクションからコールされます。このOracle Application Expressファンクションは、まずリクエストを評価し、プロシージャ名に基づいて承認するか、拒否するか、またはローカル・ファンクションwwv_flow_epg_include_mod_local
に渡します(このローカル・ファンクションは、独自ルールでリクエストを評価できます)。
Oracle Application Expressで使用するデータベース・アクセス記述子を新しく作成する際は、リクエスト検証ファンクションのディレクティブを指定する必要があります。具体的には、ファンクションwwv_flow_epg_include_modules.authorize
を、dads.conf
のデータベース・アクセス記述子エントリのディレクティブPlsqlRequestValidationFunction
で指定する必要があります。
wwv_flow_epg_include_modules.authorize
ファンクションで実装される以外の制限がない場合は、wwv_flow_epg_include_mod_local
ファンクションのソース・コードについて実行する処理はありません。
PL/SQLのリクエスト検証ファンクションのディレクティブは、Oracle Application Server 10gおよびOracle HTTP Server 11g以上でのみ使用できます(また、埋込みPL/SQLゲートウェイはOracle Database 11g以上でのみ使用できます)。このディレクティブは、Oracle HTTP Serverリリース9.0.3では使用できません。