1 このリリースの新機能と改良点

Oracle Tuxedoリリース22c (22.1.0.0.0)には、次の主な新機能および機能拡張が含まれています:

1.1 セキュリティの適用

このリリースでは、セキュアなTuxedoデプロイメントをデフォルトで保証するために、次のセキュリティ機能の更新を導入しています。

1.1.1 必須セキュリティ設定

Oracle Tuxedoリリース22c (22.1.0.0.0)では、UBBCONFIGファイルのSECURITYパラメータは必須です。この値をNONEに設定すると、SECURITYキーワードに安全でないオプションNONEが設定されたという警告メッセージ(CMDTUX_CAT:8423: WARN)がULOGに示されます。TM_SECURITY_CONFIGNONEに設定することで、以前のリリースの動作が必要であることを示します。SECURITYパラメータはオプションで、デフォルトで値はNONEです。SECURITY値がNONEの場合、ULOGに警告は報告されません。

1.1.2 リンク・レベルの暗号化

このリリースでは、LLEはデフォルトで無効になっています。Tuxedoクライアント/サーバーは、LLEの使用を検出すると、ユーザー・ログ(ULOG)に警告メッセージを報告するかわりにエラーで終了します。なんらかの理由でLLEが必要な場合には、環境変数TM_ALLOW_NOTLSYに設定して有効にすることができます。

警告:

LLEは非推奨です。ネットワーク・リンクを保護するためにSSLを使用することをお薦めします。

LLEを使用する際は、LLE_DEPRECATION_WARN_LEVELNONEまたはONCEに設定して、警告メッセージを抑制します。

1.1.3 Secure Sockets Layer

次のコンポーネントは、デフォルトでOracle Tuxedoリリース22c (22.1.0.0.0)のリンク・レベルでTLS 1.2を使用します。SSLがコマンドライン・オプションとして指定されていない場合、次のコンポーネントは失敗します:

  • CLOPT '-s'を設定してWSLを起動します。
  • CLOPT '-s'を設定して、JSLを起動します。
  • CLOPT '-S'を設定して、ISLを起動します。
  • CLOPT '-s'を設定して、tlistenを起動します。

    BRIDGEが起動に失敗するのは、UBBCONFIGファイルのOPTIONSSSL設定が含まれない場合です。
    GWTDOMAIN
    が起動に失敗するのは、DMCONFIGNWPROTOCOLSSLまたはSSL_ONE_WAY設定が含まれない場合です。

    デフォルトでは、TuxedoはTLS 1.2を使用するSSLクライアントまたはサーバーとして機能します。TuxedoコンポーネントがTLS 1.0または1.1接続を受け入れるようにするには、環境変数TM_TLS_FORCE_VERを使用します。

    Oracle Tuxedoリリース22c (22.1.0.0.0)では、デフォルトで次の暗号スイートがサポートされています:

    • TLS_RSA_WITH_AES_256_CBC_SHA256
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_128_CBC_SHA256
    • TLS_RSA_WITH_AES_128_GCM_SHA256

TM_CIPHERSUITES環境変数を使用して、許可される暗号スイートを指定できます。

公開キー・アルゴリズムRSAの最小キー長は、デフォルトでは2048です。Tuxedoはキー/証明書のロード時にキー長を検出します。キー長が2048より小さいと、ロードに失敗します。短いキー長を使用するには、環境変数TM_MIN_PUB_KEY_LENGTHに、許可される最小キー長を指定します。

以前のリリースとの互換性のためにSSL/TLS接続を無効にするには、TM_ALLOW_NOTLSをYに設定できます。最小/最大キー長を(0,0)に設定すると、リンク・レベルで暗号化が行われません。

1.1.4 JOLTクライアント

JOLTクライアントでは、次を使用して環境変数をJavaプロパティに置き換えます。
  • Joltクライアントは、デフォルトでTLS 1.2を使用してJoltサーバーに接続する必要があります。JavaプロパティTM_ALLOW_NOTLSYに設定して、LLEを使用するサーバーまたは暗号化を使用しないサーバーにJoltクライアントが接続できるようにします。
  • TM_MIN_PUB_KEY_LENGTH Javaプロパティを使用して、RSAキー長の最小許容値を指定できます。このプロパティが有効でない場合、デフォルトのキー長は2048です。
  • bea.JOLT.TLS.version Javaプロパティを使用して、JOLTクライアントのTLSバージョンを設定できます。このプロパティが有効でない場合、デフォルトのプロトコル・バージョンはTLS1.2です。
  • bea.JOLT.tls.ciphersuites Javaプロパティを使用して、クライアント暗号スイートを明示的に指定できます。bea.JOLT.tls.ciphersuites Javaプロパティを設定して、クライアント暗号スイートを明示的に指定できます。デフォルトのかわりに次の暗号スイートを使用してください:
    • TLS_RSA_WITH_AES_256_CBC_SHA256
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_128_CBC_SHA256
    • TLS_RSA_WITH_AES_128_GCM_SHA256

1.1.5 サポートされている公開キーのアルゴリズム

Oracle Tuxedoリリース22c (22.1.0.0.0)では、次の公開キー・セキュリティ・アルゴリズムがサポートされています:
  • 対称キー・アルゴリズム:
    1. データ暗号化規格(DES)
    2. DES3
    3. RC2 (Rivest’s Cipher 2)
    4. RC5
  • 非対称キー・アルゴリズム:
    1. デジタル署名アルゴリズム(DSA)
    2. Rivest, Shamir, and Adelman (RSA)
  • メッセージ・ダイジェスト・アルゴリズム:
    1. Message Digest (MD5)
    2. Secure Hash Algorithm 1 (SHA1)

ノート:

Oracle Tuxedoリリース22c (22.1.0.0.0)には、デフォルトで無効になっているいくつかのセキュアでないアルゴリズムが含まれています。下位互換性を有効にするには、下位互換性のために環境変数TM_USE_OLD_CIPHERYに設定します。

1.1.6 XAUTHSVRによるTLS 1.2のデフォルト使用

Oracle Tuxedoリリース22c (22.1.0.0.0)では、XAUTHSVRはSSL/TLSプロトコルを使用してLDAPサーバーに接続します。デフォルトの暗号スイートはAES256-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES128-GCM-SHA256に設定されています。デフォルトのTLSバージョンは1.2に設定されています。

プロトコルを変更するには、構成ファイルまたは環境変数を使用して、OpenLDAPクライアント内のTLS_OPTIONSを構成します。詳細は、OpenLDAPの構成を参照してください。
1.1.6.1 WebLogic Server (WLS) 14.1.1でのXAUTHSVRの構成
GAUTHSVRは、このリリースではサポートされなくなりました。代替としてはXAUTHSVRを使用します。UBBCONFIGファイルに既存のGAUTHSVR構成がないことを確認してから、ステップに従ってWLS (LDAP)に対してXAUTHSVRを構成します。
XAUTHSVRサーバー構成ファイルの設定
  1. テキスト・エディタでUBBCONFIGファイルを開きます。
  2. REASOURCES セクションで、次のようにします:
    1. SECURITYパラメータをUSER_AUTHまたはAUTHSVCのいずれかの値に設定します。
    2. OPTIONSパラメータをEXT_AAに設定します。
    3. 次を実行します:
    1. SECURITYパラメータがUSER_AUTHに設定された場合、AUTHSVCAUTHSVC (XAUTHSVRサーバーによって通知されているサービス名)に設定します。
  3. SERVERSセクションでA -f <fullpath-to-tpxauth>/tpxauthを設定します。
    次に、tpxauth ファイルの構成の内容を示します:
    FILE_VERSION 1
    LDAP_VERSION 3
    BINDDN cn=Admin
    BASE ou=people,ou=myrealm,dc=mydomain     <- BaseDN for WLS embedded LDAP. It might be changed according to WLS domain settings
    LDAP_ADDR //<hostname or IP address>:<port>      <- WLS server listen address
    UID_KW uid
    MEMBEROF_KW ismemberof
    PWD_KW userPassWord 
  4. tpxauth ファイル内のパスワードを暗号化します:
    tploadconf -f tpxauth
  5. WLS LDAP BINDDNのパスワードを2回入力します。
  6. 環境変数XAUTH_UID_DN_SUFFIXを設定します
    1. ",<BASE>"環境変数を設定します。ここで、BASEtpxauthで定義されているベースDNです。
      export XAUTH_UID_DN_SUFFIX=",ou=people,ou=myrealm,dc=mydomain"
  7. tmloadcfYに設定して、構成をロードします。tmloadcfコマンドは、UBBCONFIG を解析し、TUXCONFIG変数が指す場所にバイナリ形式のTUXCONFIGファイルをロードします。アプリケーションにアクセスするためのパスワードを2回入力してください。
  8. tmbootは、ENCRYPTION_REQUIRED=Yパラメータを渡した後で、Tuxedoアプリケーションを起動します。

1.2 TuxedoアプリケーションによるOracle Databaseアプリケーション・コンティニュイティの活用

Oracle Real Application Clusters (RAC)、Oracle RAC One NodeおよびOracle Active Data Guardのアプリケーション・コンティニュイティでは、リカバリ可能な停止後、処理中のデータベース・セッションをリストアすることにより、停止をエンド・ユーザーやアプリケーションから隠します。アプリケーション・コンティニュイティは、停止の後で、処理中のデータベース・セッションをリカバリすることにより、エンド・ユーザーおよびアプリケーションから停止を隠します。アプリケーション・コンティニュイティは、このリカバリをアプリケーションの外部で実行するため、停止ではなく実行がわずかに遅れたようにアプリケーションが認識します。AC (アプリケーション・コンティニュイティ)は、Oracle DB 12.2で導入されました。Oracle Database 19c以降では、透過的アプリケーション・コンティニュイティ(TAC)が、透過的にセッションおよびトランザクションの状態を追跡および記録します。こうすることで、リカバリ可能な停止の後にデータベース・セッションをリカバリすることができます。これは、アプリケーションの知識やアプリケーション・コードの変更なしで実現され、透過的アプリケーション・コンティニュイティがアプリケーションで有効になります。

TuxedoサーバーでOracleデータベースに接続するには、次のように複数の方法があります:
  • XA接続

    tpopen()パラメータを呼び出して、OracleデータベースへのXA接続を作成できます。

  • Oracle Call Interface (OCI)接続

    Oracleデータベースへの接続にはOCI APIを使用できます。

  • Oracle Pro*C接続

    Oracleデータベースに接続するためにEXEC SQL CONNECTパラメータを使用できます。

Tuxedoアプリケーションは、OCI接続のみを使用してAC機能を使用します。ACをサポートするため、また同様にTACをサポートするために、OCI 12.2以上のバージョンがあることを確認します。

AC機能の使用方法

ステップに従って、アプリケーション・コンティニュイティを構成して使用します:

  1. Oracle Database側でACが有効で、TuxedoサーバーがOCI APIを使用してOracle Databaseに明示的に接続する場合、アプリケーション・コンティニュイティ機能を有効にするためにデータベース・リクエスト境界を宣言するかどうかを指定できます。Tuxedo UBBCONFIGの対応するSERVERSセクションで、次のパラメータを設定できます:
    ORAREQBOUNDARY = {Y | N}
    デフォルトはNです。この属性は、次の表に示すように、TM_MIBを介してT_SERVER クラスに指定することもできます:
    属性 権限 デフォルト
    TA_ORAREQBOUNDARY string rw-r--r- {Y|N} "N"
  2. Oracle Database側でTACが有効になっているときに、TuxedoサーバーがOCI APIを使用してOracle Databaseに明示的に接続すると、TuxedoサーバーはAC機能を使用します。ORAREQBOUNDARYが構成されているかどうか、またどのような値に構成されているかには関係ありません。

AC機能使用の利点

TuxedoアプリケーションがOracle Database ACを利用する場合、アクティブなノードの障害時にOracle Databaseに再接続するために、TuxedoサーバーはOCI APIを明示的にコールする必要がなく、DB接続によってDB APIが再開始および自動的にリプレイされるため、OCIコールが成功します。

ヒント:

OCI APIを使用してOracle Databaseと対話するときに、Tuxedoの拡張機能を利用するには、次の手順に従ってください:
  1. $TUXDIR/libs/tuxociucb.so.1.0$ORACLE_HOME/lib/にコピーし、環境変数ORA_OCI_UCBPKGを設定します(export ORA_OCI_UCBPKG=tuxociucb)。
  2. UBBCONFIGのTuxedoサーバーCLOPTに次を入力します:
    -L libclntsh.so -F noECID

1.3 SNMPのセキュアな使用

このリリースで、Oracle SNMPエージェント・インテグレータが非推奨になりました。使用しないことをお薦めします。

Oracle Tuxedoリリース22c (22.1.0.0.0)には、次の変更が含まれています:
  • SNMP v1およびSNMP v2は無効です
  • プライバシ・プロトコルのデフォルト・プロトコルが、DESからAESに変更されています。
    • snmpkeyの引数の更新:
      • -x privProtocol 
        このフラグは、生成されたキーのプロトコルを指定します。デフォルト・プロトコルは、AES 128ビットCFBモードです。有効値は次のとおりです:
        • AES: AES 128ビットCFBモードを示します。
        • DES: CBC-DESを示します。
    • snmpgetsnmpgetnextsnmptestsnmptrapおよびsnmpwalkの引数の更新:
      • -x PrivProtocol

        このフラグは、暗号化されるSNMPv3メッセージに使用されるプライバシ・プロトコル(DESまたはAES)を設定します。デフォルトのprivProtocolAESです。

1.4 TuxedoサーバーCLOPT -oおよび-eパラメータでのTuxedoサーバーIDおよびプロセスIDのサポート

TuxedoサーバーのCLOPT -oおよび-eパラメーターを使用すると、stdoutおよびstderrを特定のファイルにリダイレクトできます。

UBBCONFIGのサーバーのCLOPT -o および-eパラメータでは、環境変数TM_STDOUTERR_EXTYに設定されると、次のプレースホルダがサポートされます:
%SRVID%: Tuxedo server ID 
%PROCID% : process ID
例:
simpserv SRVGRP=GROUP1 SRVID=2341 MIN=2 MAX=2 CLOPT="-A -o mystdout.%SRVID% -e mystderr.%PROCID%.log"

stdoutファイル名はそれぞれmystdout.2341およびmystdout.2342stderrファイル名はmystderr.<pid>.logのようになります。

1.5 Oracle Tuxedoリリース22c (22.1.0.0.0)でのその他の更新

Oracle Tuxedoリリース22c (22.1.0.0.0)には、以下が含まれています:

  • Tuxedo Javaサーバーの動作がOpenJDKに対して保証されました。