TLS WebSocketは、ODBC Driver for Teradata 17.10で導入された新機能であり、ドライバがTeradata独自の暗号化メカニズムではなくTLS接続を介してTeradata Databaseと通信できるようにします。この機能では、中間者(MITM)攻撃からの保護も提供されています。
サポートされているプラットフォーム
現在、この機能は以下のプラットフォームでサポートサポートされています。
- Windows
- Linux
- Ubuntu
- macOS
- AIX
- Solaris Sparc
- Solaris Opteron
関連があるドライバ パラメータ
これらの新しいドライバ パラメータには、接続文字列、Windowsレジストリ、Linux/MacOS/UNIXのodbc.ini、またはWindows/MacOSのUIを介してアクセスできます。
- SSLMode - ドライバが動作するTLSモード。
- SSLProtocol - ドライバが接続を許可するTLSの最小バージョン。現在サポートされているのはTLSv1.2のみです。
- SSLCA - 信頼済みのルートCAおよび中間CAの1つまたは複数の証明書が入っている.pemファイルのフルパスと名前。SSLModeがVerify-CAまたはVerify-Fullに設定されていない場合、SSLCAまたはSSLCAPathは無視されます。
- SSLCAPath - 信頼済みCAのルート証明書が置かれているディレクトリのフルパス。オペレーティング環境でのデフォルト設定がデフォルト値になります。SSLModeがVerify-CAまたはVerify-Fullに設定されていない場合、SSLCAまたはSSLCAPathは無視されます。
- HTTPS_PORT - TLS接続に使用されるポート番号。デフォルトでは443に設定されています。
- TdmstPortNumber - TLS以外の接続に使用されるポート番号。デフォルトでは1025に設定されています。
サポートされているSSLMode
- Prefer(優先) - これはドライバのデフォルトです。ドライバはHTTPSポートでの接続を優先します。失敗した場合、ドライバはTDMSTポートでの接続の試行にフォール バックします。TLS証明書が正しく設定された状態でTeradata Gateway TLS設定が「有効」に設定されている場合、ODBC Driver for TeradataはHTTPSポートを使用した接続のみを試行し、接続に失敗すると対応するエラー メッセージが返されます。
詳細については、Prefer/AllowのSSLModeでの確定的動作を参照してください。
- Allow(許容) - ドライバはTDMSTポートでの接続を優先します。その接続が失敗した場合、ドライバはHTTPSポートでの接続の試行にフォール バックします。TLS証明書が正しく設定された状態でTeradata Gateway TLS設定が「有効」に設定されている場合、ODBC Driver for TeradataはTDMSTポートを使用した接続のみを試行し、接続に失敗すると対応するエラー メッセージが返されます。
詳細については、Prefer/AllowのSSLModeでの確定的動作を参照してください。
- Disable(無効) - ドライバはTDMSTポートでのみ接続します。
- Require(必須) - ドライバはHTTPSポートでのみ接続します。
- Verify-CA(検証-CA) - "Require(必須)"モードに加えて、追加のサーバーCA検証を行ないます。
- Verify-Full(検証-完全) - "Verify-CA(検証-CA)"に加えて、追加のホスト名識別検証を行ないます。
OSのシステム証明書トラストストアの使用
"Verify-CA(検証-CA)"または"Verify-Full(検証-完全)"のSSLModeをオペレーティング環境でのデフォルトで使用するには、OSのシステム トラストストアにgtwcert.pemを追加します。
証明書のインストール(Windowsの場合)
- Windowsキー+R(ファイル名を指定して実行)を押して、"mmc"と入力します。
- ファイル > スナップインの追加と削除を選択します。
- 証明書を選択して追加をクリックします。
- コンピュータ アカウントを選択して次へをクリックします。
- 次へ
- ローカル コンピュータを選択して完了をクリックします。
- OKをクリックします。
- 左側のツリー表示で、証明書(ローカル コンピュータ)\信頼されたルート証明機関\証明書を展開してクリックします。
- その中に、現在OSで信頼されているSSL/TLS証明書の一覧があります。
- 信頼されたルート証明機関 > すべてのタスク > インポートにある証明書を右クリックします。
- 次へをクリックし、TLSデータベースから取得したgtwcert.pemファイルを参照します。
- 完了が表示されるまで、次へを何度かクリックします。
- 正しくインポートされましたダイアログ ボックスが表示され、証明書が正常にインポートされていることが示されます。
証明書のアンインストール
- Microsoft管理コンソールで、強調表示されている証明書を右クリックします。
- 削除を選択します。
- 可能をクリックします。
Linuxでの証明書のインストールは、Linuxの具体的なバージョンによって異なります。使用しているディストリビューションのドキュメントを参照してください。手順の例を以下に示します。
証明書のインストール(CentOS 6以降)
- sudo cp /path/to/gtwcert.pem /etc/pki/ca-trust/source/anchors/を実行します。
- sudo update-ca-trustを実行します。
証明書のアンインストール
- sudo rm /etc/pki/ca-trust/source/anchors/gtwcert.pem.を実行します。
- sudo update-ca-trustを実行します。
証明書のインストール(SLES 11)
- sudo cp /path/to/gtwcert.pem /etc/ssl/certsを実行します。
- sudo chmod 644 gtwcert.pemを実行して、証明書のアクセス権を設定します。
- sudo c_rehash /etc/ssl/certsを実行します。
証明書のアンインストール
- sudo rm /etc/ssl/certs/gtwcert.pem.を実行します。
- sudo c_rehash /etc/ssl/certs.を実行します。
証明書のインストール(SLES 12以降)
- sudo cp /path/to/gtwcert.pem /etc/pki/trust/anchorsを実行します。
- sudo update-ca-certificatesを実行します。
証明書のアンインストール
- sudo rm /etc/pki/trust/anchors/gtwcert.pemを実行します。
- sudo update-ca-certificatesを実行します。
証明書のインストール(Red Hat 7.7)
- sudo cp /path/to/gtwcert.pem /etc/pki/ca-trust/source/anchors/を実行します。
- sudo update-ca-trust.を実行します。
証明書のアンインストール
- sudo rm /etc/pki/ca-trust/source/anchors/gtwcert.pem.を実行します。
- sudo update-ca-trustを実行します。
証明書のインストール(Ubuntu 16、18)
- sudo cp /path/to/gtwcert.pem /usr/local/share/ca-certificates/gtwcert.crtを実行します。証明書には拡張子".crt"が付いている必要があります。".pem"を".crt"に変更するだけで済みます。
- sudo update-ca-certificatesを実行します。出力メッセージに"1 added, 0 removed"と表示されていることを確認します。
証明書のアンインストール
- sudo rm /usr/local/share/ca-certificates/gtwcert.crtを実行します。
- sudo update-ca-certificatesを実行します。
AIXおよびSolarisプラットフォームでの手順の例
- AIXについては、記事「IBM AIX: Import CA certificate」(https://www.ibm.com/support/pages/ibm-aix-import-ca-certificate)を参照してください。
- Solarisについては、記事「Adding CA Certificates to the Oracle Solaris CA Keystore」(https://docs.oracle.com/cd/E37838_01/html/E61024/kmf-addcacert.html)を参照してください。
クライアントの機密性の種類
ODBCドライバは、Teradata Databaseとの通信時に利用可能なSSLモードとフォールバックのさまざまなシナリオに対応する、クライアントの機密性の新しい種類をサポートしています。