Technical Blog Post
Abstract
通过SSL/TLS建立安全的TELNET连接
Body
通过SSL/TLS建立安全的TELNET连接
作者 王莉娜
关键字:SSL/TLS TELNET 网络安全
SSL和TLS都是为了网络通信提供安全及数据完整性的一种安全协议,TLS作为SSL的升级技术和继任者,已经完全替代了SSL,现在网络上提到的SSL/TLS大部分都是指TLS。
IBM i 上的TELNET的客户端和服务器端都已经支持通过SSL/TLS技术建立的安全连接,安全连接建立之后,数据被加密传送,从而保障客户的数据安全。
本文将分别介绍如何在服务器端和客户端配置TELNET的SSL/TLS最基本的安全连接IBM Personal Communications(下文将简称为PCOMM) 是IBM i 客户使用较多的客户端软件,此文就以PCOMM为例. 如果使用其它TELNET客户端,也可以参考此文中客户端的配置方法,基本原则就是要确保服务器端的证书的颁发机构(CA)被客户端信任,这样客户端才能确信要连接的服务器是安全的。
术语和缩写:
PCOMM: IBM Personal Communications
CA: Certificate Authority
DCM: Digital Certificate Manager
PC: Personal Computer
SSL: Secure Sockets Layer
TLS: Transport Layer Security
CL: Command Line
软硬件要求:
- IBM i V7R1 和以上的版本
- IBM i上已安装5770SS1 option 34,Digital Certificate Manager (下文将简称为DCM),并且已经建立好缺省*SYSTEM 证书仓库和本地证书颁发机构,以下简称CA,具体方法可参考Reference 1
- 户端PC已经安装PCOMM和相关组件
服务器端配置步骤:
- 打开SSL功能开关,在任何一台PC上通过PCOMM连接到IBM i 服务器 , 运行命令 CHGTLENA, 确认 “Allow Secure Socket Layer” 设置成“Yes”;
- 登录服务器的DCM,使用以下链接打开DCM,使用IBM i账户登录,进入*SYSTEM 证书仓库;
http://hostname:2001/QIBM/ICSS/Cert/Admin/qycucm1.ndm/main0
- 创建一个证书,选择”Create certificate” 进入下面的界面,然后选择“Server or client certificate”,点击“Continue”,在下一个界面选择“Local Certificate Authority”;
- 输入证书的基本信息,点击“Continue”继续创建证书,创建完毕,在下一个界面选择“IBM i TCP/IP Telnet Server”添加新的证书到TELNET 服务;
- 查看TELNET服务这已经配置好证书,进入“Fast Path”-“Work with server applications”,检查该证书(TELNET TEST Certificate)已被TELNET 服务使用,如果没有则进入到TELNET服务里面,重新添加证书。
- 查看该证书使用的CA,进入“Fast Path”-“Work with server and client certificates”, 选中证书“TELNET TEST Certificate”,点击“View”,得到此证书发布机构“Issuer”信息;
- 导出该证书的CA,通过“Fast Path”—“Work with CA certificates”,点击“View”找到该证书使用的CA,选中签发证书的CA,使用“export”, 在“Select a destination for the certificate.“ 选项中,选择”File“之后,输入导出的文件名字和目录即可;
- 重新启动TELNET 服务,确保证书改动生效,至此服务器端的配置已全部完成。
客户端配置步骤:以PCOMM为例
- 通过客户端FTP工具, 将服务器端配置中第7步中导出的CA文件下载到本地PC机
- 打开IBM Personal Communication自带组件“Certificate Management”,按照下图的方法可以找到;
- 打开该工具,选择“Open a key database file”,之后输入密码,初始密码为“pcomm”进入证书库,选择“Signer Certificates”;
- 导入从IBM i下载的CA文件,选择“Add”通过“Browse”选择CA 文件在本地的存储位置,然后按照提示导入该CA,退出证书管理工具;
- 打开PCOMM,点击“Link Parameters”输入hostname, 使用端口号992,然后选择“Security Setup”栏,点击“Enable Security”,为了提高安全性,在“Security Protocol”栏,建议选择最高的安全版本,当前PCOMM最高支持“TLS1.2”,点击OK,SSL/TLS连接就会被成功建立,至此服务器端和客户端的配置全部完成。
常见问题及解决方案:
如果以上步骤全部配置完毕,仍旧无法建立TELNET安全连接,可以尝试查看以下原因:
- 端口号992 被PC所在的网络禁止或被占用,检查防火墙和端口设置;
- 端口号992在服务器端被其它业务占用,通过CL命令 “NETSTAT *CNN”查看是否被占用;
- PCOMM版本过低,导致支持的SSL/TLS版本过低,服务器端已禁止使用低版本SSL/TLS,如SSLv3, TLS1.0将来会被逐步禁止,需要更新到最新版PCOMM;
- 服务器端和客户端分别指定的TLS版本无相互匹配的版本,导致TLS握手失败,分别在DCM上和PCOMM上检查TLS指定版本信息;
- 服务器端证书过期,需要重新生成证书;
如仍有问题,可以通过开源软件Wireshark或者OpenSSL s_client功能来找到失败的原因。
结束语:
以上步骤是一个最基本的SSL/TLS安全连接的配置方法,关于加密算法和协议部分全部使用缺省值,客户可以通过此方法,非常迅速的建立一个安全的SSL/TLS连接,并对SSL/TLS实现方法有初步的了解。除此之外,IBM i还 提供了强大的算法/协议/证书管理功能,客户可以根据自己的网络需要自行选择服务器端和客户端指定使用的算法和协议版本,比如客户可以在IBM i 客户端或者服务器端的DCM 配置中仅仅选择使用TLS1.2 ,这样只有支持TLS1.2的服务器端或者客户端的连接请求才被允许建立。此部分是SSL/TLS配置进阶部分,我们将根据客户需求情况,在后续发文详解。
Reference:
1.IBM i DCM Knowledge Center: DCM Knowledge Center
2.IBM i Telnet Knowledge Center TELNET Knowledge Center
UID
ibm11144384









