ネイティブ TCP/IP 上の DDM および DRDA は、IBM i 通信セキュリティー・サービスや通信装置、モ ード、保護ロケーション属性などの概念を使用しません。また、拡張プログラム間通信 (APPC) と関連し た会話セキュリティー・レベルも使用しません。したがって、TCP/IP のセキュリティー設定はかなり異な ったものです。
TCP/IP ネットワークでのクライアントのセキュリティー:
接続性のシナリオが異なれば、異なるレベルの認証を使用することが求められます。したがって、管理者 は、サーバーへ接続するときに、より望ましい認証方式フィールドを各 RDB ディレクトリー項目に設定 することにより、クライアントで必要な最低のセキュリティー認証方式を設定できます。
さらに管理者は、より低いセキュリティー認証方式を許可するよう選択することにより、認証方式について の決定をサーバーと折衝することを可能にできます。この場合、より望ましい認証方式は試行中になります が、サーバーがより望ましい方式を受け入れられない場合、システムのセキュリティー設定や、暗号化サポ ートの可用性などの他の要因に応じ、より低い方式を使用できます。たとえば、2 つのシステムが物理的に 保護されていない環境にある場合、管理者は、より低いセキュリティー認証方式を許可せずに Kerberos 認 証を必須とするよう選択できます。
暗号化サーバー認証方式を RDB ディレクトリー項目で使用する場合は、オプションで、ADDRDBDIRE コマンドまたは CHGRDBDIRE コマンドで *DES または *AES 暗号化アルゴリズムを指定することがで きます。 ENCALG(*DES) または ENCALG(*AES) は、ユーザー ID またはパスワードの暗号化のために クライアントから要求される暗号化アルゴリズムを決定します。DDM ファイルでも、CRTDDMF コマン ドまたは CHGDDMF コマンドの RMTLOCNAME キーワードに *RDB 値、RDB キーワードに RDB を 指定して DDM ファイルを作成することで、*AES 暗号化を使用することができます。すべてのデータを 暗号化する場合には、SSL を使用すると、ネットワークを介するすべてのデータが暗号化され、さまざま な暗号化タイプがサポートされます。
以下の設定は、暗号化認証方式のためにクライアントから要求される暗号化アルゴリズムを設定するのに使 用できます。
v ENCALG(*AES)
Advanced Encryption Standard (AES) 暗号化アルゴリズムが要求されます。
v ENCALG(*DES)
Data Encryption Standard (DES) 暗号化アルゴリズムが要求されます。これはデフォルトです。
クライアント側では、 DRDA TCP/IP 接続要求のユーザー ID とともにパスワードを送信するのに 2 つの 方法のいずれかを使用できます。これらの方法のどちらも使用しない場合には、 CONNECT コマンドはユ ーザー ID を送信できるだけです。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
パスワードを送信する最初の方法は、対話式 SQL 環境からの以下の例のように、 SQL CONNECT ステー トメントの USER/USING 形式を使用することです。
CONNECT TO rdbname USER userid USING ’password’
組み込み SQL を使用したプログラムでは、ユーザー ID とパスワードの値は USER/USING データベース のホスト変数に含められます。
CLI を使用するプログラムで、DRDA クライアントに対し、ユーザー ID とパスワードをホスト変数で表 す方法は、次の例で示します。
SQLConnect(hdbc,sysname,SQL_NTS, /*do the connect to the server */
uid,SQL_NTS,pwd,SQL_NTS);
TCP/IP 経由の接続要求を介して送信するユーザー ID とパスワードを定義する 2 つ目の方法は、サーバ ー認証項目です。サーバー認証リストは、システム上のすべてのユーザー・プロファイルまたはグループ・
プロファイルに関連付けられます。デフォルトでは、このリストは空です。しかし、サーバー権限項目の追 加 (ADDSVRAUTE) コマンドを使用して項目を追加できます。
権限の要件: ADDSVRAUTE コマンドを使用するには、以下の権限が必要です。
v セキュリティー管理者 (*SECADM) ユーザー特殊権限 v オブジェクト管理 (*OBJMGT) ユーザー特殊権限
v サーバー認証項目が追加される、またはサーバー認証のサインオンに使用される、ユーザー・プロファ イルに対する使用 (*USE) 権限
サーバー許可項目の追加 (ADDSVRAUTE) コマンドを使用してパスワードを保管するには、 QRETSVRSEC システム値を '1' に設定する必要があります。デフォルトでは、この値は '0' です。この値を変更するに は、次のコマンドを入力してください。
CHGSYSVAL QRETSVRSEC VALUE(’1’)
次の例は、RDB ディレクトリー項目を使用するときの、 サーバー許可項目の追加 (ADDSVRAUTE) コマン ドの構文を示します。
ADDSVRAUTE USRPRF(user-profile) SERVER(rdbname) USRID(userid) PASSWORD(password)
USRPRF パラメーターは、クライアント・ジョブが実行されるユーザー・プロファイルを指定します。通
常、SERVER パラメーターには、RDB DDM ファイルによる接続または DRDA 接続のために接続する RDB または QDDMDRDASERVER の名前を指定します。ただし、RDB ディレクトリーを使用するように 作成されていない 非 RDB DDM ファイルを使用する場合は、SERVER パラメーターに
QDDMDRDASERVER または QDDMSERVER を指定する必要があります。SERVER パラメーターに指定 する値は、大文字でなければなりません。USRID パラメーターは、サーバー・ジョブが実行されるユーザ ー・プロファイルを指定します。 PASSWORD パラメーターは、ユーザー・プロファイルのパスワードを 指定します。
USRPRF パラメーターを省略すると、 サーバー許可項目の追加 (ADDSVRAUTE) コマンドが実行されるとこ ろのユーザー・プロファイルがデフォルト値として使われます。USRID パラメーターを省略すると、
USRPRF パラメーターの値がデフォルト値として使われます。 PASSWORD パラメーターを省略したり、
QRETSVRSEC 値を 0 に設定すると、項目にパスワードは保管されません。そして、その項目を使用した
接続が試みられると、試行されるセキュリティー機構はユーザー ID だけになります。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
サーバー認証リストにどの認証項目が追加されているかは、サーバー認証項目の表示 (DSPSVRAUTE) コマン ドを使用して確認できます。ユーザー作成プログラムの サーバー認証項目の取得
(QsyRetrieveServerEntries) (QSYRTVSE) API も使用できます。
サーバー認証項目は、サーバー権限項目の除去 (RMVSVRAUTE) コマンドを使用して除去できます。サーバー 認証項目は、サーバー権限項目の変更 (CHGSVRAUTE) コマンドを使用して変更できます。
リレーショナル・データベース (RDB) でサーバー認証項目が存在していて、接続要求でユーザー ID とパ スワードが渡される場合には、渡されるユーザー ID とパスワードがサーバーの認証項目より優先されま す。
DRDA と DDM でサポートされる、サーバー認証項目追加 (ADDSVRAUTE) コマンドの SERVER パラメー ターの 2 つの特殊値は、以下のとおりです。
v サーバー認証項目追加 (ADDSVRAUTE) コマンドの SERVER パラメーターの QDDMDRDASERVER 特殊 値を DDM および DRDA 接続に使用すると、管理者は、TCP/IP ネットワーク上のすべてのシステムに 対して可能なすべての DDM または DRDA 接続を、共通のユーザー ID とパスワードを介してユーザ ーが操作できるように構成できます。この特殊値を特定のユーザーに構成すると、リレーショナル・デ ータベース・ディレクトリーにシステムが追加されても、そのユーザーに対する追加の変更は必要あり ません。ただし、以前と同様に、ユーザーがサーバー認証項目または CONNECT ステートメントに有効 なユーザー ID とパスワードを指定しない限り、そのユーザーが DRDA/DDM 経由で接続することはで きません。この特殊値は、QDDMSERVER と同じサポートをすべて提供するほか、RDB DDM ファイル による接続と DRDA 接続もサポートします。
v サーバー認証項目追加 (ADDSVRAUTE) コマンドの SERVER パラメーターの QDDMSERVER 特殊値を非 RDB DDM 接続に使用すると、管理者は、TCP/IP ネットワーク上のすべてのシステムに対して可能なす
べての非 RDB DDM 接続を、共通のユーザー ID とパスワードを介してユーザーが操作できるように
構成できます。この特殊値を特定のユーザーに構成すると、新しい 非 RDB DDM ファイルが作成され て使用されても、そのユーザーに対する追加の変更は必要ありません。QDDMSERVER の使用の欠点 は、この値は、DDM ファイルを使用した接続や DRDA 接続をサポートしないことです。 DDM ファ イル、RDB DDM ファイル、および DRDA 接続で、コマンド・ユーザーのユーザー ID とパスワード を必要とするサーバー認証項目を利用する場合は、QDDMDRDASERVER を使用することを推奨しま す。
ユーザー ID とパスワードを指定せずに TCP/IP 経由で DRDA 接続を試行すると、DB2 for i クライアン ト (AR) は、クライアント・ジョブが実行されているユーザー・プロファイルのサーバー認証リストを検 査します。CONNECT ステートメントの RDB 名または QDDMDRDASERVER と認証項目の SERVER 名
(どちらも大文字でなければなりません) が一致することが分かれば、項目内の関連する USRID パラメー
ターが接続ユーザー ID として使用されます。PASSWORD パラメーターが項目内で保管されている場合に は、そのパスワードも接続要求で送信されます。
サーバー認証項目は、DDM ファイル入出力操作のために、TCP/IP 経由でパスワードを送信するときにも 使用できます。TCP/IP 上で DDM 接続を試みる際には、DB2 for i は、クライアント・ジョブが実行され ているところのユーザー・プロファイルを調べるために、サーバー認証リストを検査します。RDB 名 (RDB DDM ファイルが使用された場合) または QDDMSERVER (非 RDB DDM が使用された場合) のい ずれかと、認証項目の SERVER 名 が一致することが検出された場合、項目内の関連する USRID パラメ ーターが接続ユーザー ID として使用されます。PASSWORD パラメーターが項目内で保管されている場合 には、そのパスワードも接続要求で送信されます。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|