About TLS in Client Applications|SSLMODE|DBCAREA Connection String - クライアント アプリケーションのTLSについて - Call-Level Interface Version 2

Teradata® Call-Level Interfaceバージョン2 リファレンス - ワークステーション接続システム - 17.20

Product
Call-Level Interface Version 2
Release Number
17.20
Published
2022年10月10日
Language
日本語
Last Update
2022-11-21
dita:mapPath
ja-JP/zws1641280432166.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2418
Product Category
Teradata Tools and Utilities

SSLMODE接続パラメータを設定することにより、クライアント アプリケーションでTLSを有効にできます。次の表に、SSLMODEの有効な値とその機能の一覧を示します。

sslmode 説明
disable D 非TLSポートを使用して暗号化されていない接続を確立する。clispb.datまたはDBCAREAでdata_encryption=Yが指定されている場合は、TeraGSS暗号化メカニズムが使用される。
allow A 非TLSポートを使用して暗号化されていない接続を確立する。clispb.datまたはDBCAREAでdata_encryption=Yが指定されている場合は、TeraGSS暗号化メカニズムが使用される。サーバーが非TLSポートでの接続を許可するように設定されているが、非TLSポートへの接続を試みて失敗した場合(タイムアウトなど)、接続の試みは失敗してエラーが返される。

これはCLIのデフォルト値である。

管理者により、非TLSポートが無効にされてTLSポートが有効にされたフォールバック シナリオでは、暗号化(TLS)接続が使用される。

prefer P サーバーがTLSをサポートして、TLSポートが有効になっている場合は、暗号化(TLS)接続を確立する。サーバーがTLSポートでの接続を許可するように設定されているが、TLSポートへの接続を試みて失敗した場合(タイムアウトなど)、接続の試みは失敗してエラーが返される。

次のフォールバック シナリオでは、非TLSポートへの暗号化されていない接続が使用される。

  • 管理者によってTLSポートが無効にされた
  • サーバーがTLSをサポートしていない
require R サーバーがTLS接続をサポートしている場合は、暗号化(TLS)接続を確立する。TLS接続を確立できない場合、接続の試行は失敗する。非TLSポートにフォールバックしないこと。
verify-ca C requireとほぼ同じだが、さらに、サーバーの認証局(CA)の証明書を設定された信頼できるCA証明書と照合して検証する。一致する有効なCA証明書が見つからない場合、接続の試みは失敗する。
verify-full F verify-caとほぼ同じだが、さらに、クライアントがサーバーへの接続に使用するホスト名を、サーバーがクライアントに送信する証明書のIDと照合して、ホスト名が正しいかどうかを検証する。クライアントは、接続に使用するホスト名が、サーバー証明書のサブジェクト代替名または共通名の値と一致するかどうかを確認する。

一致しない場合は接続に失敗する。暗号化接続の場合、このオプションは中間者攻撃の防止に役立つ。

verify-fullモードの場合、ホスト名は証明書のサブジェクト代替名の属性と照合されるか、種類が「DNS名」のサブジェクト代替名が存在しない場合は、共通名の属性と照合される。証明書の名前属性がアスタリスク(*)で始まる場合、アスタリスクはワイルドカードとして扱われるため、ドット(.)以外のすべての文字と一致する。つまり、この証明書はサブドメインとは一致しないことになる。ホスト名の代わりにIPアドレスを使用して接続を行なうと、(DNS検索は行なわれずに)IPアドレスが照合される。

SSLMODEパラメータは、次の場所で指定できます。

clispb.dat(詳細については、システム パラメータ ブロック(SPB)処理を参照してください)

clispb.datに次の行を追加します。

sslmode=disable | allow | prefer | require | verify-ca | verify-full

環境変数

クライアント アプリケーションを実行する前に、次の環境変数を設定します。

Non-Windows:

$ export SSLMODE=disable | allow | prefer | require | verify-ca | verify-full

Windowsの場合:

C:\> set SSLMODE=disable | allow | prefer | require | verify-ca | verify-full

DBCAREA sslmode

DBCAREA構造体で次のパラメータを設定します。

dbcarea.sslmode = ‘D’ | ‘A’ | ‘P’ | ‘R’ | ‘C’ | ‘F’

DBCAREA接続文字列

DBCAREA構造体のconnect_ptrパラメータは、sslmode属性を含む文字列に設定できます。

dbcarea.connect_ptr = “sslmode=disable | allow | prefer | require | verify-ca | verify-full”

さらに、dbcarea.connect_lenパラメータを、dbcarea.connect_ptrに割り当てられた文字列の長さに設定します。

このメソッドの優先順位は次のとおりです。

  • clispb.dat
  • 環境変数
  • dbcarea.sslmode
  • dbcarea.connect_ptr

DBCAREA o_sslmode

TLS接続が正常に確立すると、接続に使用される実際のSSLMODEはDBCAREAパラメータのo_sslmodeに戻ります。SSLMODEの設定にどの方法を使用した場合も、このパラメータが設定されます。SSLMODEの値がallow('A')およびprefer('P')の場合、o_sslmodeは、非TLS接続が使用された場合は'D'に設定され、TLS接続が使用された場合は'R'に設定されます。他のすべてのSSLMODE値については、o_sslmodeに指定されたSSLMODE値(D、R、C、Fなど)が含まれます。