C Kerberos、SSLおよびRADIUS認証パラメータ

sqlnet.oraファイルおよびデータベース初期化ファイルには、Kerberos、RADIUSまたはSSL認証パラメータが用意されています。

Kerberos認証を使用するクライアントとサーバーのパラメータ

Oracle Databaseには、Kerberos認証を使用するためのクライアントとサーバーのパラメータが用意されています。

表C-1に、Kerberosを使用するクライアントとサーバーの構成ファイルに挿入するパラメータを示します。

表C-1 Kerberos認証パラメータ

ファイル名 構成パラメータ

sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5): クライアントとサーバーの両方に設定します。

SQLNET.AUTHENTICATION_KERBEROS5_SERVICE=oracle : クライアントとサーバーの両方に設定します。

SQLNET.KERBEROS5_CC_NAME=/usr/tmp/DCE-CC : 通常、サーバーでは必要ありません。クライアントがMicrosoft Windows上にありドメインの一部である場合は、インメモリー・チケット・キャッシュの使用と、このパラメータをOSMSFT://またはMSLSA:に設定することを検討できます。

SQLNET.KERBEROS5_CLOCKSKEW=1200 : クライアントとサーバーの両方に設定します。

SQLNET.KERBEROS5_CONF=/krb5/krb.conf : クライアントとサーバーの両方に設定します。(通常、クライアントでのこのパスは、サーバーでのパスとは異なります。)

SQLNET.KERBEROS5_CONF_MIT=(TRUE) : クライアントとサーバーの両方で、これをTRUEに設定します。

SQLNET.KERBEROS5_REALMS=/krb5/krb.realms : この設定は、通常、クライアントまたはサーバーでは必要ありません。

SQLNET.KERBEROS5_KEYTAB=/krb5/v5srvtab: このパラメータはサーバーにのみ設定し、クライアントには設定しません。

SQLNET.FALLBACK_AUTHENTICATION=FALSE: クライアントとサーバーの両方に設定します。

初期化パラメータ・ファイル

OS_AUTHENT_PREFIX="": このパラメータは、サーバーにのみ設定し、クライアントには設定しません。

Secure Sockets Layerを使用するクライアントとサーバーのパラメータ

Oracleには、Secure Sockets Layer認証を制御するパラメータが用意されています。

Secure Socket Layerのパラメータの構成方法

Secure Sockets Layer (SSL)のパラメータの構成方法は2つあります。

  • 静的: sqlnet.oraファイルに存在するパラメータの名前。SSL_CIPHER_SUITESSSL_VERSIONなどのパラメータは、listener.oraファイルを使用して構成することもできます。

  • 動的: Oracle Netアドレスのセキュリティ・サブセクションで使用されるパラメータの名前。

クライアントとサーバーのSecure Sockets Layer認証パラメータ

Oracleには、静的と動的の両方のSecure Sockets Layer (SSL)認証パラメータが用意されています。

表C-2では、サーバーでSSLを構成するための静的パラメータと動的パラメータについて説明します。

表C-2 クライアントとサーバーのSSL認証パラメータ

属性 説明

パラメータ名(静的)

SQLNET.AUTHENTICATION_SERVICES

パラメータ名(動的)

AUTHENTICATION

パラメータ・タイプ

文字列LIST

パラメータ・クラス

静的

設定できる値

使用可能な認証サービスのリストにTCPSを追加します。

デフォルト値

デフォルト値なし。

説明

ユーザーが使用する認証サービスを制御します。

ノート: 動的バージョンでは、1つのタイプの設定のみがサポートされます。

既存/新規パラメータ

既存

構文(静的)

SQLNET.AUTHENTICATION_SERVICES = (TCPS, selected_method_1, selected_method_2)

例(静的)

SQLNET.AUTHENTICATION_SERVICES = (TCPS, radius)

構文(動的)

AUTHENTICATION = string

例(動的)

AUTHENTICATION = (TCPS)

Secure Sockets Layerの暗号スイート・パラメータ

Secure Sockets Layer (SSL)に対して暗号スイート・パラメータを構成できます。

表C-3では、暗号スイートを構成するための静的パラメータと動的パラメータについて説明します。

表C-3 Secure Sockets Layerの暗号スイート・パラメータ

属性 説明

パラメータ名(静的)

SSL_CIPHER_SUITES

パラメータ名(動的)

SSL_CIPHER_SUITES

パラメータ・タイプ

文字列LIST

パラメータ・クラス

静的

設定できる値

既知のSSL暗号スイート

デフォルト値

デフォルトなし

説明

SSLで使用する暗号化とデータ整合性の組合せを制御します。

既存/新規パラメータ

既存

構文(静的)

SSL_CIPHER_SUITES=(SSL_cipher_suite1[, SSL_cipher_suite2, ... SSL_cipher_suiteN])

例(静的)

SSL_CIPHER_SUITES=(SSL_DH_DSS_WITH_DES_CBC_SHA)

構文(動的)

SSL_CIPHER_SUITES=(SSL_cipher_suite1

[, SSL_cipher_suite2, ...SSL_cipher_suiteN])

例(動的)

SSL_CIPHER_SUITES=(SSL_DH_DSS_WITH_DES_CBC_SHA)

サポートされているSecure Sockets Layer暗号スイート

Oracle Databaseでは、Secure Sockets Layer (SSL)に対して数多くの暗号スイートをサポートしています。

暗号スイートを次に示します。

  • SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

  • SSL_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

  • SSL_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

  • SSL_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

  • SSL_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

  • SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

  • SSL_RSA_WITH_AES_128_CBC_SHA256

  • SSL_RSA_WITH_AES_128_GCM_SHA256

  • SSL_RSA_WITH_AES_128_CBC_SHA

  • SSL_RSA_WITH_AES_256_CBC_SHA

  • SSL_RSA_WITH_AES_256_CBC_SHA256

Secure Sockets Layerバージョン・パラメータ

使用するSSLのバージョンを構成するために、様々なSecure Sockets Layer (SSL)パラメータを設定できます。

表C-4では、使用するSSLのバージョンを構成するための静的および動的なSSL_VERSIONパラメータについて説明します。

表C-4 Secure Sockets Layerバージョン・パラメータ

属性 説明

パラメータ名(静的)

SSL_VERSION

パラメータ名(動的)

SSL_VERSION

パラメータ・タイプ

文字列

パラメータ・クラス

静的

設定できる値

SSLの有効なバージョン。値は次のとおりです。

undetermined | 1.0 | 1.1 | 1.2 | 3.0

あるバージョンまたは別のバージョンを指定する場合は、"or"を使用します。次の値を使用できます。

1.0 or 3.0 | 1.2 or 3.0 | 1.1 or 1.0 | 1.2 or 1.0 | 1.2 or 1.1 | 1.1 or 1.0 or 3.0 | 
1.2 or 1.0 or 3.0 | 1.2 or 1.1 or 1.0 | 1.2 or 1.1 or 3.0 |1.2 or 1.1 or 1.0 or 3

デフォルト値

undetermined

SSL_VERSIONをundeterminedに設定すると、デフォルトでは3.0が使用されます。

説明

SSL接続のバージョンを強制します。

既存/新規パラメータ

新規

構文(静的)

SSL_VERSION=version

例(静的)

SSL_VERSION=1.1

構文(動的)

SSL_VERSION=version

例(動的)

SSL_VERSION=1.1 or 1.2

ノート:

ADD_SSLv3_IMPLICITLY初期化パラメータは、SSL_VERSIONパラメータには影響しません。

Secure Sockets Layerクライアント認証パラメータ

クライアントに対してSecure Sockes Layer (SSL)の静的および動的パラメータを構成できます。

表C-5では、SSL_CLIENT_AUTHENTICATIONパラメータについて説明します。

表C-5 Secure Sockets Layerクライアント認証パラメータ

属性 説明

パラメータ名(静的)

SSL_CLIENT_AUTHENTICATION

パラメータ名(動的)

SSL_CLIENT_AUTHENTICATION

パラメータ・タイプ

ブール

パラメータ・クラス

静的

設定できる値

TRUEまたはFALSE

デフォルト値

TRUE

説明

クライアント(サーバーに加えて)をSSLを使用して認証するかどうかを制御します。

既存/新規パラメータ

新規

構文(静的)

SSL_CLIENT_AUTHENTICATION={TRUE | FALSE}

例(静的)

SSL_CLIENT_AUTHENTICATION=FALSE

構文(動的)

SSL_CLIENT_AUTHENTICATION={TRUE | FALSE}

例(動的)

SSL_CLIENT_AUTHENTICATION=FALSE

Secure Sockets Layer X.509サーバー照合パラメータ

SSL_SERVER_DN_MATCHおよびSSL_SERVER_CERT_DNパラメータで、クライアントが接続するサーバーの識別情報を検証します。

SSL_SERVER_DN_MATCH

SSL_SERVER_DN_MATCHパラメータでは、サーバーの識別名(DN)がサービスの名前と一致することを強制します。

表C-6では、SSL_SERVER_DN_MATCHパラメータについて説明します。

表C-6 SSL_SERVER_DN_MATCHパラメータ

属性 説明

パラメータ名

SSL_SERVER_DN_MATCH

格納場所

sqlnet.ora

目的

このパラメータを使用して、サーバーの識別名(DN)とそのサービス名の一致を強制します。一致確認を強制する場合は、SSLによって証明書がサーバーからのものであることが保証されます。一致確認を強制しない場合、SSLによるチェックは実行されるものの、一致しているかどうかに関係なく接続は許可されます。 一致を強制しないと、サーバーの識別情報の偽装が可能になります。

yes|on|true。一致を強制します。DNとサービス名が一致した場合、接続は正しく行われ、それ以外の場合、接続は失敗します。

no|off|false。一致を強制しません。DNがサービス名と一致していない場合、接続は成功しますが、エラーがsqlnet.logファイルに記録されます。

デフォルト

Oracle8i以上: FALSE。SSLクライアントは(常に)サーバーDNをチェックします。サービス名と一致していない場合、接続は成功しますが、エラーがsqlnet.logファイルに記録されます。

使用上のノート

さらに、tnsnames.oraのパラメータSSL_SERVER_CERT_DNもサーバーDNの一致を有効にするように構成します。

SSL_SERVER_CERT_DN

SSL_SERVER_CERT_DNでは、サーバーの識別名(DN)を指定します。

表C-7では、SSL_SERVER_CERT_DNパラメータについて説明します。

表C-7 SSL_SERVER_CERT_DNパラメータ

属性 説明

パラメータ名

SSL_SERVER_CERT_DN

格納場所

tnsnames.ora。接続先のサーバーごとにクライアントに格納するか、接続先のサーバーごとにLDAPディレクトリに格納し、一元的に更新できます。

目的

このパラメータでは、サーバーの識別名(DN)を指定します。クライアントは、サーバーのDNとそのサービス名が確実に一致するように、この情報を使用して、各サーバーに予定しているDNのリストを取得します。

サーバーの識別名(DN)と等しい値を指定します。

デフォルト

なし

使用上のノート

さらに、sqlnet.oraのパラメータSSL_SERVER_DN_MATCHもサーバーDNの一致を有効にするように構成します。

dbalias=(description=address_list=(address=(protocol=tcps)(host=hostname)(port=portnum)))(connect_data=(sid=Finance))(security=(SSL_SERVER_CERT_DN="CN=Finance,CN=OracleContext,C=US,O=Acme"))

Oracleウォレット・ロケーション

セキュリティ資格証明をプロセス領域にロードするためにOracleウォレットにアクセスする必要があるアプリケーションに対して、ウォレット・ロケーション・パラメータを指定する必要があります。

表C-8に、ウォレット・ロケーションを指定する必要がある構成ファイルを示します。

  • sqlnet.ora

  • listener.ora

表C-8 ウォレット・ロケーション・パラメータ

静的構成 動的構成
WALLET_LOCATION =
(SOURCE=
  (METHOD=File)
  (METHOD_DATA=
     (DIRECTORY=your_wallet_dir)
      )

)

MY_WALLET_DIRECTORY
= your_wallet_dir

デフォルトのウォレット・ロケーションはORACLE_HOMEディレクトリです。

RADIUS認証を使用するクライアントとサーバーのパラメータ

Oracleには、RADIUS認証用のパラメータが用意されています。

sqlnet.oraファイルのパラメータ

sqlnet.oraファイルにRADIUS固有のパラメータを含めることができます。

SQLNET.AUTHENTICATION_SERVICES

SQLNET.AUTHENTICATION_SERVICESパラメータでは、RADIUSアダプタを使用するようにクライアントまたはサーバーを構成します。

表C-9では、SQLNET.AUTHENTICATION_SERVICESパラメータの属性について説明します。

表C-9 SQLNET.AUTHENTICATION_SERVICESパラメータの属性

属性 説明

構文

SQLNET.AUTHENTICATION_SERVICES=(radius)

デフォルト設定

なし

SQLNET.RADIUS_ALTERNATE

SQLNET.RADIUS_ALTERNATEパラメータでは、プライマリ・サーバーをフォルト・トレランスに使用できない場合に使用する代替RADIUSサーバーの場所を設定します。

表C-10では、SQLNET.RADIUS_ALTERNATEパラメータの属性について説明します。

表C-10 SQLNET.RADIUS_ALTERNATEパラメータの属性

属性 説明

構文

SQLNET.RADIUS_ALTERNATE=alternate_RADIUS_server_hostname_or_IP_address

デフォルト設定

off

SQLNET.RADIUS_ALTERNATE_PORT

SQLNET.RADIUS_ALTERNATE_PORTパラメータでは、代替RADIUSサーバーのリスニング・ポートを設定します。

表C-11では、SQLNET.RADIUS_ALTERNATE_PORTパラメータの属性について説明します。

表C-11 SQLNET.RADIUS_ALTERNATE_PORTパラメータの属性

属性 説明

構文

SQLNET.RADIUS_ALTERNATE_PORT=alternate_RADIUS_server_listening_port_number

デフォルト設定

1645

SQLNET.RADIUS_ALTERNATE_TIMEOUT

SQLNET.RADIUS_ALTERNATE_TIMEOUTパラメータでは、代替RADIUSサーバーで応答を待機する時間を設定します。

表C-12では、SQLNET.RADIUS_ALTERNATE_TIMEOUTパラメータの属性について説明します。

表C-12 SQLNET.RADIUS_ALTERNATE_TIMEOUTパラメータの属性

属性 説明

構文

SQLNET.RADIUS_ALTERNATE_TIMEOUT=time_in_seconds

デフォルト設定

5

SQLNET.RADIUS_ALTERNATE_RETRIES

SQLNET.RADIUS_ALTERNATE_RETRIESパラメータでは、代替RADIUSサーバーでメッセージを再送信する回数を設定します。

表C-13では、SQLNET.RADIUS_ALTERNATE_RETRIESパラメータの属性について説明します。

表C-13 SQLNET.RADIUS_ALTERNATE_RETRIESパラメータの属性

属性 説明

構文

SQLNET.RADIUS_ALTERNATE_RETRIES=n_times_to_resend

デフォルト設定

3

SQLNET.RADIUS_AUTHENTICATION

SQLNET.RADIUS_AUTHENTICATIONパラメータでは、プライマリRADIUSサーバーの場所(ホスト名またはドット区切りの10進形式)を設定します。

RADIUSサーバーがOracleサーバーとは異なるコンピュータ上にある場合は、そのコンピュータのホスト名またはIPアドレスを指定する必要があります。

表C-14では、SQLNET.RADIUS_AUTHENTICATIONパラメータの属性について説明します。

表C-14 SQLNET.RADIUS_AUTHENTICATIONパラメータの属性

属性 説明

構文

SQLNET.RADIUS_AUTHENTICATION=RADIUS_server_IP_address

デフォルト設定

localhost

SQLNET.RADIUS_AUTHENTICATION_INTERFACE

SQLNET.RADIUS_AUTHENTICATION_INTERFACEパラメータでは、RADIUSがチャレンジ・レスポンス(非同期)モードの場合に、GUIを含むJavaクラスの名前を設定します。

表C-15では、SQLNET.RADIUS_AUTHENTICATION_INTERFACEパラメータの属性について説明します。

表C-15 SQLNET.RADIUS_AUTHENTICATION_INTERFACEパラメータの属性

属性 説明

構文

SQLNET.RADIUS_AUTHENTICATION_INTERFACE=Java_class_name

デフォルト設定

DefaultRadiusInterface (oracle/net/radius/DefaultRadiusInterface)

SQLNET.RADIUS_AUTHENTICATION_PORT

SQLNET.RADIUS_AUTHENTICATION_PORTパラメータでは、プライマリRADIUSサーバーのリスニング・ポートを設定します。

表C-16では、SQLNET.RADIUS_AUTHENTICATION_PORTパラメータの属性について説明します。

表C-16 SQLNET.RADIUS_AUTHENTICATION_PORTパラメータの属性

属性 説明

構文

SQLNET.RADIUS_AUTHENTICATION_PORT=port_number

デフォルト設定

1645

SQLNET.RADIUS_AUTHENTICATION_TIMEOUT

SQLNET.RADIUS_AUTHENTICATION_TIMEOUTパラメータでは、応答を待機する時間を設定します。

表C-17では、SQLNET.RADIUS_AUTHENTICATION_TIMEOUTパラメータの属性について説明します。

表C-17 SQLNET.RADIUS_AUTHENTICATION_TIMEOUTパラメータの属性

属性 説明

構文

SQLNET.RADIUS_AUTHENTICATION_TIMEOUT=time_in_seconds

デフォルト設定

5

SQLNET.RADIUS_AUTHENTICATION_RETRIES

SQLNET.RADIUS_AUTHENTICATION_RETRIESパラメータでは、認証情報を再送信する回数を設定します。

表C-18では、SQLNET.RADIUS_AUTHENTICATION_RETRIESパラメータの属性について説明します。

表C-18 SQLNET.RADIUS_AUTHENTICATION_RETRIESパラメータの属性

属性 説明

構文

SQLNET.RADIUS_AUTHENTICATION_RETRIES=n_times_to_resend

デフォルト設定

3

SQLNET.RADIUS_CHALLENGE_RESPONSE

SQLNET.RADIUS_CHALLENGE_RESPONSEパラメータでは、チャレンジ・レスポンス(非同期)モードのオンとオフを切り替えます。

表C-19では、SQLNET.RADIUS_CHALLENGE_RESPONSEパラメータの属性について説明します。

表C-19 SQLNET.RADIUS_CHALLENGE_RESPONSEパラメータの属性

属性 説明

構文

SQLNET.RADIUS_CHALLENGE_RESPONSE=on

デフォルト設定

off

SQLNET.RADIUS_CHALLENGE_KEYWORD

SQLNET.RADIUS_CHALLENGE_KEYWORDパラメータでは、RADIUSサーバーからのチャレンジを要求するためのキーワードを設定します。

ユーザーはクライアントでパスワードを入力しません。

表C-20では、SQLNET.RADIUS_CHALLENGE_KEYWORDパラメータの属性について説明します。

表C-20 SQLNET.RADIUS_CHALLENGE_KEYWORDパラメータの属性

属性 説明

構文

SQLNET.RADIUS_CHALLENGE_KEYWORD=keyword

デフォルト設定

challenge

SQLNET.RADIUS_CLASSPATH

SQLNET.RADIUS_CLASSPATHパラメータでは、JavaクラスおよびJDK Javaライブラリのパスを指定します。

チャレンジ・レスポンス認証モードを使用する場合、最初にパスワード、続いて追加情報(トークン・カードから取得する動的パスワードなど)を要求するJavaベースのグラフィカル・インタフェースがユーザーに表示されます。

sqlnet.oraファイルにSQLNET.RADIUS_CLASSPATHパラメータを追加して、そのグラフィカル・インタフェースのJavaクラスを設定し、JDK Javaライブラリへのパスを設定します。

表C-21では、SQLNET.RADIUS_CLASSPATHパラメータの属性について説明します。

表C-21 SQLNET.RADIUS_CLASSPATHパラメータの属性

属性 説明

構文

SQLNET.RADIUS_CLASSPATH=path_to_GUI_Java_classes

デフォルト設定

$ORACLE_HOME/jlib/netradius.jar:$ORACLE_HOME/JRE/lib/sparc/native_threads

SQLNET.RADIUS_SECRET

SQLNET.RADIUS_SECRETパラメータでは、RADIUS秘密キーのファイル名と場所を指定します。

表C-22では、SQLNET.RADIUS_SECRETパラメータの属性について説明します。

表C-22 SQLNET.RADIUS_SECRETパラメータの属性

属性 説明

構文

SQLNET.RADIUS_SECRET=path_to_RADIUS_secret_key

デフォルト設定

$ORACLE_HOME/network/security/radius.key

SQLNET.RADIUS_SEND_ACCOUNTING

SQLNET.RADIUS_SEND_ACCOUNTINGパラメータでは、アカウンティングのオンとオフを切り替えます。

アカウンティングを有効にした場合、パケットは、1を加えたリスニング・ポートでアクティブなRADIUSサーバーに送信されます。デフォルトでは、パケットはポート1646に送信されます。この機能は、RADIUSサーバーでアカウンティングがサポートされ、ユーザーがシステムにログオンする回数を追跡する場合にのみオンにする必要があります。

表C-23では、SQLNET.RADIUS_SEND_ACCOUNTINGパラメータの属性について説明します。

表C-23 SQLNET.RADIUS_SEND_ACCOUNTINGパラメータの属性

属性 説明

構文

SQLNET.RADIUS_SEND_ACCOUNTING=on

デフォルト設定

off

最小限のRADIUSパラメータ

少なくとも、SQLNET.AUTHENTICATION_SERVICESパラメータとSQLNET.RADIUS.AUTHENTICATIONパラメータを使用する必要があります。

次の設定を使用します。

sqlnet.authentication_services = (radius)
sqlnet.radius.authentication   = IP-address-of-RADIUS-server

RADIUSの初期化ファイル・パラメータ

RADIUSの場合、OS_AUTHENT_PREFIX初期化パラメータを設定します。

例:

OS_AUTHENT_PREFIX=""