TCP デバイスを使用して TLS を使用するための InterSystems IRIS の構成
ここでは、InterSystems IRIS® データ・プラットフォームの TCP 接続を利用して TLS を使用する方法について説明します。手順は以下のとおりです。
-
必要な特性を指定する TLS 構成を作成します。
-
TCP 接続を開きます。または、TCP 接続を受け入れるソケットを開きます。
-
TLS を使用して接続を保護します。これは、接続やソケットを開くとき、またはその後で実行できます。
InterSystems IRIS TLS 機能の呼び出し方法は、InterSystems IRIS をクライアントまたはサーバとして使用しているか、最初に保護された TCP 接続を構築しているか、あるいは既存の接続に TLS を追加しているかによって異なります。
この章では、以下の項目について説明します。
TCP 接続で TLS を使用するためのクライアントの構成
クライアントからの安全な接続を確立するには、以下のいずれかを実行します。
クライアントから TLS で保護された TCP 接続を開く
このシナリオでは、InterSystems IRIS はクライアントの一部であり、TCP 接続は最初から TLS を使用します。以下はその方法です。
-
使用する構成が利用できることを確認します。InterSystems IRIS を最後に起動したときよりも前に構成が作成された場合、その構成は有効化されて使用できる状態です。それ以外の場合は、新しい構成を作成したり、既存の構成を編集したりできます。
クライアントとして機能する InterSystems IRIS は、クライアント・アプリケーションを介してサーバに接続します。この接続では指定した構成を使用して、TLS 関連の動作を決定します。
TLS を使用して TCP 接続を開く
ここでは、TLS を使用する指定の接続を開き、特定のマシンやポート番号と通信します。以下はその方法です。
-
接続しているデバイスを以下のように指定します。
Set MyConn = "|TCP|1000"
TCP の文字列は、これが TCP デバイスであることを指定しています。TCP 接続を開始する方法の詳細は、"TCP デバイスの OPEN コマンド" を参照してください。
-
接続を開き、/TLS パラメータで、TLS の使用を指定します。
OPEN MyConn:(SvrID:1000:/TLS="MyCfg")
各項目の内容は次のとおりです。
-
MyConn は以前指定されたデバイスです。
-
SvrID は、解決可能な DNS 名または IP アドレスの文字列です。
-
MyCfg は、保存 (および有効化された) TLS 構成です。
この呼び出しでは、TLS を使用してポート 1000 のループバック・プロセッサ (つまり、ローカル・マシン) への TCP 接続を開きます。MyCfg 構成で指定した特性に従い、TLS が使用されます。
オプションとして、プライベート・キー・ファイルのパスワードを以下のように含めることができます。
OPEN MyConn:(SvrID:1000:/TLS="MyCfg|MyPrivateKeyFilePassword")
ここでは、すべての引数が示されており、MyPrivateKeyFilePassword が実際のパスワードになります。
Important:TLS を使用している TCP 接続を開くときにパスワードを含める機能は、リアルタイム・インタラクティブを使用する場合にのみ有効です。保護していない秘密鍵パスワードを永続的に保存することは絶対に避けてください。そのようなパスワードを保存する必要がある場合は、Security.SSLConfigsOpens in a new tab クラスの PrivateKeyPassword プロパティを使用します。
TCP デバイスを開く方法の詳細は、"TCP デバイスの OPEN コマンド・キーワードと USE コマンド・キーワード" を参照してください。
-
接続を一度確立すると、他の TCP 接続と同様に使用できます。
既存の TCP 接続への TLS の追加
このシナリオでは、TCP 接続が既に確立されていると仮定します。以下はその方法です。
-
使用する構成が利用できることを確認します。InterSystems IRIS を最後に起動したときよりも前に構成が作成された場合、その構成は有効化されて使用できる状態です。それ以外の場合は、新しい構成を作成したり、既存の構成を編集したりできます。
TLS を使用した既存の TCP 接続の保護
ここでは、特定のマシンやポート番号への既存の接続に TLS を追加します。以下はその方法です。
-
接続しているデバイスの名前を決定します。例えば、以下のコードを使用して接続が確立されているとします。
SET MyConn="|TCP|1000" OPEN MyConn:("localhost":1000)
TCP の文字列は、これが TCP デバイスであることを指定しています。TCP 接続を開始する方法の詳細は、"TCP デバイスの OPEN コマンド" を参照してください。
-
/TLS パラメータで、TLS の使用を以下のように指定します。
USE MyConn:(::/TLS="MyCfg")
各項目の内容は次のとおりです。
-
MyConn は以前指定されたデバイスです。
-
MyCfg は、TLS 構成です。
オプションとして、プライベート・キー・ファイルのパスワードを以下のように含めることができます。
USE MyConn:(::/TLS="MyCfg|MyPrivateKeyFilePassword")
ここでは、すべての引数が示されており、MyPrivateKeyFilePassword が実際のパスワードになります。
Important:TLS を使用している既存の TCP 接続を開くときにパスワードを含める機能は、リアルタイムのインタラクティブを使用する場合にのみ有効です。保護していない秘密鍵パスワードを永続的に保存することは絶対に避けてください。そのようなパスワードを保存する必要がある場合は、Security.SSLConfigsOpens in a new tab クラスの PrivateKeyPassword プロパティを使用します。
TCP デバイスを開く方法の詳細は、"TCP デバイスの OPEN コマンド・キーワードと USE コマンド・キーワード" を参照してください。
-
接続に TLS セキュリティを追加しても、以前と同様にその接続を使用できます。
TCP ソケットを使用して TLS を使用するためのサーバの構成
クライアントからの安全な接続を必要とするソケットを有効にするには、以下のいずれかを実行します。
-
この接続には TLS が必要であることを指定して TCP ソケットを開きます。
-
既存のソケットで TLS を使用する要件を設定します。
TLS で保護されたソケットの構築
このシナリオでは、InterSystems IRIS はサーバとして動作して、TCP ソケットは最初から TLS を使用します。以下はその方法です。
-
使用する構成が利用できることを確認します。InterSystems IRIS を最後に起動したときよりも前に構成が作成された場合、その構成は有効化されて使用できる状態です。それ以外の場合は、新しい構成を作成したり、既存の構成を編集したりできます。
-
TLS の使用が必要な TCP ソケットを開きます。
このソケットでは、ソケットと接続するクライアントの TLS を使用する必要があります。クライアントがサーバへの接続を試行すると、サーバでは TLS を使用する接続をネゴシエートしようとします。これが成功すれば、接続を正常に使用でき、ネゴシエートされたアルゴリズムで通信が保護されます。失敗すると、クライアントで接続を使用できません。
TLS が必要な TCP ソケットを開く
TLS が必要なソケットを開くには、以下の手順を実行します。
-
以下のように、接続を受け入れるデバイスを指定します。
SET MySocket = "|TCP|1000"
TCP の文字列は、これが TCP デバイスであることを指定しています。TCP 接続を開始する方法の詳細は、"TCP デバイスの OPEN コマンド" を参照してください。
-
接続を開き、/TLS パラメータで、TLS の使用を指定します。
OPEN MySocket:(:1000:/TLS="MyCfg")
オプションとして、プライベート・キー・ファイルのパスワードを以下のように含めることができます。
OPEN MySocket:(:1000:/TLS="MyCfg|MyPrivateKeyFilePassword")
この呼び出しでは、TLS を使用してポート 1000 の TCP ソケットを開きます。TCP デバイスを開く方法の詳細は、"TCP デバイスの OPEN コマンド・キーワードと USE コマンド・キーワード" を参照してください。
Important:TLS を使用している TCP 接続を開くときにパスワードを含める機能は、リアルタイム・インタラクティブを使用する場合にのみ有効です。保護していない秘密鍵パスワードを永続的に保存することは絶対に避けてください。そのようなパスワードを保存する必要がある場合は、Security.SSLConfigsOpens in a new tab クラスの PrivateKeyPassword プロパティを使用します。
既存のソケットへの TLS の追加
このシナリオでは、TCP ソケットへの接続が既に確立されていると仮定します。以下はその方法です。
-
使用する構成が利用できることを確認します。InterSystems IRIS を最後に起動したときよりも前に構成が作成された場合、その構成は有効化されて使用できる状態です。それ以外の場合は、新しい構成を作成したり、既存の構成を編集したりできます。
TLS を使用したソケットへの既存の TCP 接続の保護
ここでは、特定のマシンやポート番号のソケットへの既存の接続に TLS を追加します。以下はその方法です。
-
ソケットが開いているデバイスの名前を判断します。例えば、以下のコードを使用して接続が確立されているとします。
SET MySocket = "|TCP|1000" OPEN MySocket:(:1000)
TCP の文字列は、これが TCP デバイスであることを指定しています。TCP 接続を開始する方法の詳細は、"TCP デバイスの OPEN コマンド" を参照してください。
-
/TLS パラメータで、TLS の使用を以下のように指定します。
USE MySocket:(::/TLS="MyCfg")
各項目の内容は次のとおりです。
-
MySocket は以前指定されたデバイスです。
-
MyCfg は、TLS 構成です。
オプションとして、プライベート・キー・ファイルのパスワードを以下のように含めることができます。
USE MySocket:(::/TLS="MyCfg|MyPrivateKeyFilePassword")
TCP デバイスを開く方法の詳細は、"TCP デバイスの OPEN コマンド・キーワードと USE コマンド・キーワード" を参照してください。
Important:TLS を使用している既存の TCP 接続を開くときにパスワードを含める機能は、リアルタイムのインタラクティブを使用する場合にのみ有効です。保護していない秘密鍵パスワードを永続的に保存することは絶対に避けてください。そのようなパスワードを保存する必要がある場合は、Security.SSLConfigsOpens in a new tab クラスの PrivateKeyPassword プロパティを使用します。
-
ソケットに TLS セキュリティを追加しても、以前と同様にソケットへの接続を使用できます。