在 z/os 上实施 ssl

Implementing ssl on z/os

有人知道如何在 z/OS telnet 服务器上实施 SSL 吗?

我尝试查看 IBM 站点并找到了如何使用 MQ 或其他软件实现 ssl,但没有找到如何植入 z/OS 本身的信息。

对于 z/OS-server 上的任何 telnet 连接,您的 telnet 配置数据集中应该有如下内容:

BEGINVTAM                               
  PORT 1234                             
  DEFAULTLUS AB.0001..AB.9999 ENDDEFAULTLUS                         
  DEFAULTAPPL TSO                     
ENDVTAM                                 
TELNETPARMS                             
  PORT 1234                       
ENDTELNETPARMS                          

只需将 PORT 更改为 SECUREPORT 就足以在此连接上启用 SSL/TLS。要为连接配置额外的 TLS 参数,您可以将更多参数添加到 TELNETPARMS 部分或在 TELNETGLOBALS 部分为所有端口定义它们。

改用 TTLSPORT 将允许在端口上使用应用程序透明 TLS (AT-TLS),这需要在 AT-TLS 策略代理中进行额外配置(如果您的安装已经有一个 运行).

有关 "IP Configuration Reference" 和 "IP Configuration Guide" z/OS 通信服务器的更多信息,它们都有关于配置 telnet 服务器的章节。

关于 "out-of-the-box" Telnet 客户端,请确保不要混淆 "telnet" 和 "tn3270"。像 PuTTY 这样的 "out-of-the-box" telnet 客户端通常不支持特定于 3270 的数据流——标准的 telnet 将由 OMVS 在 z/OS 中处理。 TN3270 支持由名为 EZBTNINI 的程序处理,通常 运行 通过名为 TN3270 的 PROC。

TN3270 会话流量可以加密,但必须告知 TN3270 仿真器(如 BlueZone 或 PCOMM)在通过 TTLSPORT 端口与 VTAM 通信时使用隐式或显式 TLS。

要在 z/OS 上将 TLS 与 3270 终端一起使用,您必须 运行 策略代理。假设您在端口 1234 的 TN3270 PROFILE 中有这些语句:

; Add secure port 1234 for TLS
 TELNETPARMS
 TTLSPORT 1234             ; TTLSPORT for Policy Agent & AT-TLS
   CONNTYPE SECURE         ; Require TLS
   NOSEQUENTIALLU
ENDTELNETPARMS

BEGINVTAM
  PORT 1234
  DEFAULTLUS
    TCP00001..TCP00030
  ENDDEFAULTLUS
  ...other BEGINVTAM block statements
ENDVTAM

这里有一个示例 pagent_TTLS.conf,可用于指定端口 1234 的 TLS 选项:

#----------------------------------------------------------------------
#--- AT-TLS policy for TN3270 --------------------------------------------
TTLSRule                           TN3270-Server-1234
{
   LocalAddr                       ALL
   LocalPortRange                  1234
   Direction                       Both
   Priority                        253
   TTLSGroupActionRef              gAct-TN3270
   TTLSEnvironmentActionRef        eAct-TN3270
   TTLSConnectionActionRef         cAct-TN3270
}
TTLSGroupAction                    gAct-TN3270
{
   TTLSEnabled                     On
   GroupUserInstance               1
}
TTLSEnvironmentAction              eAct-TN3270
{
   HandshakeRole                   Server
   EnvironmentUserInstance         0
   TTLSKeyringParmsRef             kyRingParms
}

TTLSConnectionAction               cAct-TN3270
{
   HandshakeRole                   ServerWithClientAuth
   TTLSCipherParmsRef              cipher1234-BlueZone_Ciphers
   TTLSConnectionAdvancedParmsRef  cAdv-TN3270-1234
   CtraceClearText                 On
   Trace                           1
}
TTLSConnectionAdvancedParms        cAdv-TN3270-1234
{
   ApplicationControlled           On
   SecondaryMap                    Off
   SSLv3                           On
   TLSv1                           On
   TLSv1.1                         On
   TLSv1.2                         On
}
TTLSKeyringParms                   kyRingParms
{
   Keyring                         MackDev
}
TTLSCipherParms                    cipher1234-BlueZone_Ciphers
{
# Bluezone 3DES Ciphers
   V3CipherSuites                  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
   V3CipherSuites                  TLS_RSA_WITH_3DES_EDE_CBC_SHA

# Bluezone AES 128
   V3CipherSuites                  TLS_DHE_RSA_WITH_AES_128_CBC_SHA
   V3CipherSuites                  TLS_RSA_WITH_AES_128_CBC_SHA
   V3CipherSuites                  TLS_DHE_DSS_WITH_AES_128_CBC_SHA

# Bluezone "Strong Only"
   V3CipherSuites                  TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
   V3CipherSuites                  TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
   V3CipherSuites                  TLS_DHE_RSA_WITH_AES_256_CBC_SHA
   V3CipherSuites                  TLS_DHE_RSA_WITH_AES_128_CBC_SHA
   V3CipherSuites                  TLS_RSA_WITH_AES_256_GCM_SHA384
   V3CipherSuites                  TLS_RSA_WITH_AES_128_GCM_SHA256
   V3CipherSuites                  TLS_RSA_WITH_AES_256_CBC_SHA256
   V3CipherSuites                  TLS_RSA_WITH_AES_128_CBC_SHA256
   V3CipherSuites                  TLS_RSA_WITH_AES_256_CBC_SHA
   V3CipherSuites                  TLS_RSA_WITH_AES_128_CBC_SHA
   V3CipherSuites                  TLS_RSA_WITH_3DES_EDE_CBC_SHA
   V3CipherSuites                  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
   V3CipherSuites                  TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
   V3CipherSuites                  TLS_DHE_DSS_WITH_AES_256_CBC_SHA
   V3CipherSuites                  TLS_DHE_DSS_WITH_AES_128_CBC_SHA
   V3CipherSuites                  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

# Bluezone RC4
   V3CipherSuites                  TLS_RSA_WITH_RC4_128_MD5
   V3CipherSuites                  TLS_RSA_WITH_RC4_128_SHA

# Bluezone AES 256
   V3CipherSuites                  TLS_DHE_RSA_WITH_AES_256_CBC_SHA
   V3CipherSuites                  TLS_RSA_WITH_AES_256_CBC_SHA
   V3CipherSuites                  TLS_DHE_DSS_WITH_AES_256_CBC_SHA

}
#--- AT-TLS policy for TN3270 End ----------------------------------------