达梦登录密码增强在“存储”、“传输”和“使用”三个核心环节,全面加固数据库身份认证的安全性,最终实现防泄露、防窃听、防破解。
实验机器如下:
10.87.62.A10.87.62.B通过 dmkey 生成公钥文件、私钥文件(dmkey 位于达梦数据库的 bin 目录下):
./dmkey PATH=/home/dmdba/dmdbms/data/DAMENG pubkey=Public.pubkey
生成两个文件:
dm_login.prikeyPublic.pubkeyPATH:设置存储路径。
将私钥移动到 SYSTEM PATH 目录(实例目录下的 DAMENG 文件夹下)。
配置服务器 dm.ini 参数,重启服务器生效:
vi dm.ini
设置参数:
FORCE_CERTIFICATE_ENCRYPTION=1
重启服务:
./DmServiceTESTDATA restart
将公钥发送给客户端:
scp /home/dmdba/dmdbms/data/DAMENG/Public.pubkey dmdba@10.87.62.B:/home/dmdba/dmdbms
配置前测试登录(连接失败):
./disql SYSDBA/Dameng123@10.87.62.A:5236
配置 dm_svc.conf:
vi /etc/dm_svc.conf
添加以下内容:
LOGIN_CERTIFICATE=(/home/dmdba/dmdbms/data/DAMENG/Public.pubkey)
测试连接(连接成功):
./disql SYSDBA/Dameng123@10.87.62.A:5236
为了避免用户登录数据库时直接接触数据库登录密码,DM 提供了一种登录用户名密码外部存储方式。系统管理员可将用户名和密码存储在外部加密的密码文件(wallet 文件)中,用户登录数据库时只需提供配置好的服务名便可成功登录数据库。
在数据库中新建用户 user01 和 user02:
CREATE USER USER01 IDENTIFIED BY "USER01_psd";
CREATE USER USER02 IDENTIFIED BY "USER02_psd";
COMMIT;
配置 dm_svc.conf:
vi /etc/dm_svc.conf
添加以下内容:
WALLET_LOCATION=(/home/dmdba/dmdbms/wallet)
dm_user01=(10.87.62.A:5236)
dm_user02=(10.87.62.A:5236)
创建 wallet 文件:
./dmmkstore -wrl /home/dmdba/dmdbms/wallet -create
示例输出:
DM Secret Store Tool: V8
Version: 2
Enter password:Wallet_123
Enter password again:Wallet_123
创建凭据:
./dmmkstore -wrl /home/dmdba/dmdbms/wallet -createCredential dm_user01 USER01 USER01_psd ./dmmkstore -wrl /home/dmdba/dmdbms/wallet -createCredential dm_user02 USER02 USER02_psd
查看凭据:
./dmmkstore -wrl /home/dmdba/dmdbms/wallet -listCredential
使用客户端工具连接数据库:
./disql /@dm_user01
文章
阅读量
获赞
