APPC 网络中的 DRDA 服务器安全性

当服务器系统是 IBM i 操作系统时,有几个要素共同用于确定是否允许访问远程文件的请求。

与用户相关的安全元素

与用户相关的安全元素包括服务器系统上的 SECURELOC 参数,客户机系统发送的用户标识 (如果允许) ,客户机系统发送的用户标识的密码以及服务器系统上的用户概要文件或缺省用户概要文件。

与对象相关的安全元素

与对象相关的安全元素包括 DDMACC 参数和 (可选) 用户提供的用户出口程序,以补充正常的对象权限控制。

服务器安全性的用户相关元素

服务器上必须存在有效的用户概要文件才能处理分布式关系数据库工作。 可以为在 IBM i 操作系统上处理通信作业的子系统指定缺省用户概要文件。

缺省用户概要文件的名称在服务器上的 "添加通信项" (ADDCMNE) 命令的 DFTUSR 参数上指定。 ADDCMNE 命令将通信项添加至用于通信作业的子系统描述。

如果在通信子系统中指定了缺省用户概要文件,那么服务器是否是安全位置确定缺省用户概要文件是否用于此请求。 "创建设备描述" (APPC) (CRTDEVAPPC) 命令上的 SECURELOC 参数或 APPN 远程位置列表上的安全位置指定,指定服务器是否为安全位置。

  • 如果对服务器上的 SECURELOC 或安全位置指定了 *YES ,那么服务器会将客户机视为安全位置。 期望客户机通过其请求提供用户标识和 "已验证" 指示符。 如果服务器上存在与客户机发送的用户标识匹配的用户概要文件,那么允许请求。 否则,将拒绝该请求。
  • 如果对服务器上的 SECURELOC 参数指定了 *NO ,那么服务器不会将客户机视为安全位置。 虽然客户机仍发送用户标识,但服务器不会将此用于请求。 相反,服务器上的缺省用户概要文件将用于请求 (如果有)。 如果服务器上不存在缺省用户概要文件,那么将拒绝该请求。
  • 如果为服务器上的 SECURELOC 指定了 *VFYENCPWD ,那么服务器会将客户机视为安全位置,但要求发送用户标识及其密码 (以加密形式) 以验证当前用户的身份。 如果用户概要文件存在于与客户机发送的用户标识匹配的服务器上,并且该客户机在两个系统上都具有相同的密码,那么允许请求。 否则,将拒绝该请求。

下表显示了在 IBM i 操作系统上控制 SNA SECURITY (PGM) 的所有可能的元素组合。 任何列中的 Y 表示元素存在或满足条件。 PWD 列中的 M 指示安全管理器检索用户的密码,并在密码保护处于活动状态时发送受保护 (加密) 密码。 如果未发送受保护密码,那么不会发送密码。 受保护密码 是 APPC 在启动对话时替代用户密码的字符串。 仅当两个合作伙伴的系统都支持密码保护,并且在运行 IBM i V5R3或更高版本或 OS/400® V2R2或更高版本的系统上创建密码时,才能使用受保护密码。

表 1. 远程访问分布式关系数据库
UID PWD1 阿维 SEC (Y) DFT 有效 访问
1 Y Y   Y Y Y 使用 UID
2 Y Y   Y Y   拒绝
3 Y Y   Y   Y 使用 UID
4 Y Y   Y     拒绝
5 Y Y     Y Y 使用 UID
6 Y Y     Y   拒绝
7 Y Y       Y 使用 UID
8 Y Y         拒绝
9 Y   Y Y Y Y 使用 UID
10 Y   Y Y Y   拒绝
11 Y   Y Y   Y 使用 UID
12 Y   Y Y     拒绝
13 Y M3     Y Y 使用 DFT 或 UID2
14 Y M3     Y   使用 DFT 或 UID2
15 Y M3       Y 拒绝或 UID2
16 Y M3         拒绝或 UID2
17       Y Y   已用 DFT
18       Y     拒绝
19         Y   使用 DFT
20             拒绝
密钥:
UID
已发送用户标识
PWD
已发送密码
阿维
已验证指示符集
SEC (Y)
指定 SECURELOC (YES)
DFT
通信子系统中指定的缺省用户标识
有效
用户标识和密码有效
使用 UID
使用提供的用户标识建立连接
使用 DFT
使用缺省用户标识建立的连接
拒绝
未建立连接
  1. 如果密码保护处于活动状态,那么将发送受保护的密码。
  2. 当密码保护处于活动状态时使用 UID。
  3. 如果密码保护处于活动状态,那么安全管理器将检索用户的密码,并发送受保护的密码; 否则,不会发送密码。

要避免必须使用缺省用户概要文件,请在服务器上为需要访问分布式关系数据库对象的每个客户机用户创建用户概要文件。 但是,如果您决定使用缺省用户概要文件,请确保系统上不允许未经正确授权的用户。 例如,以下命令将缺省用户参数指定为 DFTUSER (QUSER); 这允许系统接受没有来自通信请求的用户标识或密码的作业启动请求。 使用 QUSER 用户概要文件注册通信作业。

ADDCMNE   SBSD(SAMPLE) DEV(*ALL) DFTUSER(QUSER)