前へ
前へ
 
次へ
次へ

セキュリティ設定の構成

Oracle Application Express管理者は、Application Expressのログイン・フォームへの移入に使用するCookieの無効化、アカウントへのアクセスの制御、パスワード・ポリシーの設定などのセキュリティ設定を構成できます。

トピック:

Application Expressのログイン・フォームへ移入するCookieの無効化

Oracle Application Express管理者は、開発者または管理者がApplication Expressのログイン・ページから作業領域にログインするときにユーザーのコンピュータに便利なCookieを送信するかどうかを制御できます。デフォルトでは、「作業領域Cookieの設定」オプションは「はい」に設定されます。

選択した場合、Oracle Application Expressにより次のような永続Cookieが送信されます。


注意:

コンピュータがこのCookieを受信している場合は、ブラウザのツールまたはシステム・ユーティリティを使用して、ディスク上の永続位置から物理的に削除できます。このCookieはORA_WWV_REMEMBER_UNという名前です。以前のリリースのOracle Application Expressの場合、このCookieはORACLE_PLATFORM_REMEMBER_UNという名前です。このCookieは、個別のホスト名およびパス・コンポーネントを持つ、アクセスされた各Oracle Application Expressサービスに存在します。

ログイン時にユーザーのコンピュータにCookieを送信しないようにするには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「セキュリティ」セクションに移動します。

  5. 「作業領域Cookieの設定」で、「いいえ」を選択します。

  6. 「変更の適用」をクリックします。

Oracle Application Express管理サービスへのアクセスの無効化

Oracle Application Express管理者は、Oracle Application Express管理サービスへのユーザー・アクセスを制限できます。これにより、ユーザーはOracle Application Express管理サービスにログインできなくなります。

Oracle Application Express管理サービスへのユーザー・アクセスを無効にするには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「セキュリティ」セクションに移動します。

  5. 「管理者ログインの無効化」で「はい」を選択します。

  6. 「変更の適用」をクリックします。

この値を設定してログアウトすると、すべてのユーザーがOracle Application Express管理サービスにログインできなくなります。

管理者ログインの有効化

この設定を無効化し、管理者ログインを有効化するには、次のステップを実行します。

  1. SQL*Plusに接続し、SYSとしてOracle Application Expressがインストールされているデータベースに接続します。次に例を示します。

    • Windowsの場合:

      SYSTEM_DRIVE:\ sqlplus /nolog
      connect sys as sysdba
      
    • UNIXおよびLinuxの場合:

      $ sqlplus /nolog
      connect sys as sysdba
      

    プロンプトが表示されたら、適切なパスワードを入力します。

  2. 次の文を実行します。

    ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
    
  3. 次の文を実行します。

    BEGIN
      APEX_INSTANCE_ADMIN.SET_PARAMETER('DISABLE_ADMIN_LOGIN', 'N');
      commit;
    END;
    /
    

Oracle Application Express内部アプリケーションへのアクセスの無効化

Oracle Application Expressを構成するアプリケーション(アプリケーション・ビルダー、SQLワークショップなど)は、内部という作業領域内に存在します。内部アプリケーションへのユーザー・アクセスを制限するには、「作業領域ログインの無効化」で「はい」を選択します。本番環境で「はい」を選択すると、権限のないユーザーは内部作業領域のアプリケーション(アプリケーション・ビルダー、SQLワークショップなど)を実行できません。この機能を使用する管理者は、Oracle Application Express管理サービスへのユーザー・アクセスの無効化も検討する必要があります。

内部作業領域へのユーザー・アクセスを無効にするには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「セキュリティ」セクションに移動します。

  5. 「作業領域ログインの無効化」で「はい」を選択します。

    「はい」を選択すると、ユーザーが内部作業領域にログインできなくなります。

  6. 「変更の適用」をクリックします。

パブリック・ファイルのアップロードの無効化

「パブリック・ファイルのアップロードを許可」属性を使用して、認証されていないユーザーがファイルのアップロード制御を提供するアプリケーションでファイルをアップロードできるかどうかを制御します。

ファイルのアップロードを制御するには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「セキュリティ」セクションに移動します。

  5. 「パブリック・ファイルのアップロードを許可」で、次のいずれかを選択します。

    • はい: 認証されていないユーザーが内部作業領域のアプリケーションでファイルをアップロードできます。

    • いいえ: 認証されていないユーザーが内部作業領域のアプリケーションでファイルをアップロードできません。

  6. 「変更の適用」をクリックします。

IPアドレスによるユーザー・アクセスの制御

Oracle Application Express管理者は、RESTRICT_IP_RANGEという実行時の設定を作成して、Oracle Application Expressインスタンスへのユーザー・アクセスを制限できます。

IPアドレスでユーザー・アクセスを制限するには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「セキュリティ」セクションに移動します。

  5. 「管理者ログインの無効化」で、「いいえ」を選択します。

  6. 「IPアドレス別にアクセスを制限」に、カンマで区切られたIPアドレスのリストを入力します。ワイルドカードを指定するには、アスタリスク(*)を使用します。

    1つから4つのレベルのIPアドレスを入力できます。次に例を示します。

    141, 141.* ...
    192.128.23.1 ...
    

    注意:

    ワイルドカードを使用する場合は、ワイルドカードの後ろに数値を追加して入力しないでください。たとえば、138.*.41.2とは入力できません。

  7. 「変更の適用」をクリックします。

HTTPSの必要性

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を必要とするようにするには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「セキュリティ」セクションに移動します。

  5. 「HTTPSが必要」で、「はい」を選択します。

  6. 「変更の適用」をクリックします。

HTTPS要件の無効化

インスタンスレベル要件の「HTTPSが必要」を無効化するには、次のステップを実行します。

  1. 現行スキーマとしてApplication Expressエンジン・スキーマを使用してSQL*PlusまたはSQL Developerに接続します。次の例を示します。

    • Windowsの場合:

      SYSTEM_DRIVE:\ sqlplus /nolog
      connect sys as sysdba
      
    • UNIXおよびLinuxの場合:

      $ sqlplus /nolog
      connect sys as sysdba
      

    プロンプトが表示されたら、適切なパスワードを入力します。

  2. 次の文を実行します。

    ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
    
  3. 次の文を実行します。

    BEGIN
        APEX_INSTANCE_ADMIN.SET_PARAMETER('REQUIRE_HTTPS', 'N');
        commit;
    end;
    /
    

セッション・タイムアウトの構成

「セッション・タイムアウト」の属性を使用して、アプリケーション・レベルでWebブラウザが開いたまま放置されたコンピュータに対する公開を抑制します。

Oracle Application Expressインスタンスのセッション設定を管理するには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. Application Expressの「セッション・タイムアウト」で、次の属性を指定します。

    • 最大セッションの長さ: Oracle Application Expressアプリケーション(Application Builder、SQLワークショップなど)のためにセッションが存続できる時間(秒)を示す正の整数を入力します。値をNULLのままにすると、デフォルト値28800秒(8時間)に戻されます。8時間ごとに実行され、24時間より前のセッションを削除するジョブ操作が、ここに指定するセッション期間よりも優先されることがあります。

    • 最大セッション・アイドル時間: Oracle Application Expressアプリケーション(Application Builder、SQLワークショップなど)のためにセッションがアイドル状態で存続できる時間(秒)を示す正の整数を入力します。値をNULLのままにすると、デフォルト値1時間(3600秒)に戻されます。

  5. 「変更の適用」をクリックします。


参照:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのセッション・タイムアウトに関するセクション

URLタイプのリージョンおよびWebサービスからのドメインの除外

Oracle Application Expressインスタンス全体に対してURLタイプのリージョンおよびWebサービスを制限できます。Oracle Application Express管理者は除外するドメインおよびURLタイプのリージョンを定義します。Web参照またはURLタイプのリージョンに除外されたドメインが含まれる場合、制限されていることを通知するエラーがユーザーに表示されます。

URLタイプのリージョンおよびWebサービスからドメインを除外するには、次のステップを実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「ドメインの使用禁止」で、除外するドメインのコロン区切りのリストを入力します。

  5. 「変更の適用」をクリックします。

すべての作業領域に対するログイン制御の有効化

デフォルトでは、Oracle Application Expressインスタンス間でログイン制御が有効です。Oracle Application Express管理者はすべての開発インスタンス間のすべての作業領域のすべてのアカウントに対してログイン制御を有効にできます。アカウントのログイン制御には次が含まれます。

Oracle Application Express管理者がすべてのインスタンスに対してログイン制御を有効にしない場合は、各作業領域管理者が作業領域ごとに次の制御を有効にできます。「作業領域に対するログイン制御の有効化」を参照してください。

アカウント・ログイン制御は、Application Expressのユーザー・アカウント作成機能、およびアカウントに対して認証を使用するアプリケーションに影響を与えますので注意してください。

すべての作業領域に対してログイン制御を有効にするには、次を実行します。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 「アカウント・ログイン制御」までスクロールします。

  5. 「アカウント・ログイン制御」には、次の項目があります。

    1. ユーザー・アカウントの有効期限およびロックが必要: 「はい」を選択して、Oracle Application Expressインスタンス全体のすべての作業領域に対してこの機能を有効にします。この機能は、Application Expressエンド・ユーザー・アカウント管理インタフェースを使用して作成されたエンド・ユーザー・アカウントに適用されます。

      「いいえ」を選択すると、各作業領域管理者に対して制御は行われません。

    2. 許可されるログイン失敗の最大回数: 開発者アカウントまたは管理者アカウントがロックされるまでに許可される認証の連続失敗の最大回数を入力します。このフィールドの値を指定しない場合は、デフォルト値の4が設定されます。

      この設定はApplication Express管理者および開発者アカウントに適用されます。エンド・ユーザー・アカウントには適用されません。

      作業領域管理者が値を指定しない場合は、ここで入力した値が作業領域レベルの「許可されるログイン失敗の最大回数」プリファレンスのデフォルトとして使用されます。このプリファレンスは各作業領域内のエンド・ユーザー・アカウントで使用されます。

    3. アカウント・パスワード・ライフタイム(日): アカウントの期限が切れるまでに開発者または管理者アカウント・パスワードを使用できる最大日数を入力します。このフィールドの値を指定しない場合は、デフォルト値の45日が設定されます。

      この設定はApplication Express管理および開発環境へのアクセスに使用するアカウントにのみ適用されます。Application Expressで開発されたアプリケーションで使用するエンド・ユーザー・アカウントには適用されません。

      作業領域管理者が値を指定しない場合は、ここで入力した値が作業領域レベルのエンド・ユーザー・アカウント・ライフタイムのプリファレンスのデフォルトとして使用されます。このプリファレンスは各作業領域内のエンド・ユーザー・アカウントで使用されます。

  6. 「変更の適用」をクリックします。


ヒント:

この機能は、Application Expressのユーザー作成および管理機能を使用して作成したアカウントにのみ適用されます。この機能は、追加的なアプリケーションの認証セキュリティを提供します。「Application Expressユーザーの管理」を参照してください。

パスワード・ポリシーについて

Oracle Application Express管理者は次に対してパスワード・ポリシーを有効にできます。

パスワード・ポリシーの構成

パスワード・ポリシーを構成するには、次のようにします。

  1. Oracle Application Express管理サービスへログインします。「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「サービスの管理」をクリックします。

  3. 「環境設定の管理」で、「セキュリティ」をクリックします。

  4. 作業領域管理者、開発者およびエンド・ユーザーに対してパスワード・ポリシーを設定するには、「作業領域のパスワード・ポリシー」までスクロールし、表「作業領域のパスワード・ポリシーの属性」に示されている属性を指定します。

    作業領域のパスワード・ポリシーの属性

    属性 説明

    パスワードの最小文字数

    パスワードの最小文字数を入力します。

    パスワードの差分の最小値

    正の整数または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などの単語に基づいて、単純な推測されやすいパスワードが作成できなくなるため、セキュリティが向上します。

    アルファベット

    新しいテキストを入力するか、既存のテキストを編集します。これは、アルファベット文字に関するパスワード検証に使用される一連の文字です。

    記号文字

    新しいテキストを入力するか、既存のテキストを編集します。これは、記号に関するパスワード検証に使用される一連の文字です。


    次に、サービス管理者のパスワード・ポリシーを設定します。

  5. 「サービス管理者のパスワード・ポリシー」にスクロールし、次のいずれかを指定します。

    1. 「作業領域のパスワード・ポリシー」で指定したポリシーの使用: 前述の「作業領域のパスワード・ポリシー」で指定したパスワード・ルールをサービス管理者のパスワードに適用します。

    2. デフォルトの強力なパスワード・ポリシーの使用: デフォルトの強力なパスワード・ポリシーをサービス管理者のパスワードに適用します。詳細は、アイテム・ヘルプを参照してください。

  6. 「変更の適用」をクリックします。

データベース・アクセス記述子(DAD)によるOracle Application Expressへのアクセスの制限

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;
/

許可されるプロシージャの名前を追加するには、次のステップを実行します。

  1. BEGIN文のすぐ後ろのRETURN FALSE文を削除するかコメント・アウトします。

    ...
    BEGIN  
        RETURN FALSE; -- remove this statement when 
    you add procedure names to the "IN" list
    ...
    
  2. HTTPリクエストでの起動を許可するプロシージャの名前を表す句に、名前を追加します。たとえば、プロシージャPROC1およびPROC2INリストで許可する場合は、IN ('PROC1', 'PROC2')のように記述します。

このファンクションのソース・コードの変更後に、Oracle Application Express製品スキーマ(APEX_030200)を変更し、そのスキーマのファンクションをコンパイルします。

製品スキーマAPEX_030200を変更するには、次のステップを実行します。

  1. SQLコマンドライン(SQL*Plus)にSYSとしてログインします。

  2. 次のコマンドを入力して、製品スキーマ(APEX_030200)を変更します。

    ALTER SESSION SET CURRENT_SCHEMA APEX_030200; 
    
  3. ファンクション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では使用できません。