测试达梦数据库是否支持TLCP安全通信协议的方法

1、建库(用安全版产品安装包、带安全的key文件,建库)

./dminit path=/home/dmdba/dmdbms_gmssl/data port_num=5266

2、修改参数

dm.ini中的ENABLE_ENCRYPT=3,保存dm.ini

3、启动:

./dmserver ../data/DAMENG/dm.ini signkey_pass=1234 enckey_pass=1234

4、连接:

(方法1)

./disql SYSDBA/SYSDBA:5266#{ssl_pwd=1234}

(方法2)

./disql SYSDBA/SYSDBA:5266#"{ssl_path=/home/dmdba/dmdbms_gmssl/release/clinet_gmssl/SYSDBA,ssl_pwd=1234}"

5、参数验证:

select para_value,DESCRIPTION  from V$dm_ini where para_name like 'ENABLE_ENCRYPT';

---预期:para_value为3

6、功能验证:

(a)开启本地回路的抓包:tcpdump -i lo -n -nn -vv -w  20230417.pcap

(b)服务器本地(本机)登录:

./disql SYSDBA/SYSDBA:5266#{ssl_pwd=1234}

alter user SYSDBA identified by hust4400dmdm;

exit

./disql SYSDBA/hust4400dmdm:5266#{ssl_pwd=1234}

(c)tcpdump 停止抓包,抓包文件拷贝到windows下用wireshark进行分析。

(d)下载和安装较新的wireshark安装包,通过向导,安装在windows下,安装时记得勾选pcap等组件。download and install wireshark Version 4.0.4 (www.wireshark.org)或以上版本。

(e)用wireshark工具打开pcap文件, open 20230417.pcap file with wireshark

  1. 可以在Protocol列看见“GMTLS”标识,表示采用了GMSSL协议(也称为TLCP协议)。
  2. 可以在Info列看见“Client Hello”行,该行具有“GMTLS”标识,表示该协议包是GMSSL协议的客户端握手包,单机该行,左下角窗口有该包的具体内容,具体内容包括:
  1. Cipher Suite:显示ECC_SM4_CBC_SM3,这是一个密码套件,表示该协议协商采用ECC算法(也称之为SM2算法)作为签名、验签、双方身份互认证的算法,SM4算法作为通信数据加密算法,其中数据通信加密的分组工作模式用CBC模式,SM3算作为通信数据的完整性校验算法。
  2. Src Port:Dst Port 5266,TCP协议层的通信端口是5266,和上面达梦开启服务的端口一致,说明这个包是达梦通信包,不是其他应用产生的数据包。
  3. 这个图片充分说明了达梦支持TLCP协议(别称:GMTLS协议、GMSSL协议),支持SM2(别称ECC算法)、SM3、SM4算法。

备注:该功能需要在dmdbms\bin下放置GMSSL的数字证书、私钥文件等内容。该功能在2023年5月之后的月度版或季度版才能支持。

你可能感兴趣的:(数据库,安全,服务器)