注册
登录用户密码加密
专栏/技术分享/ 文章详情 /

登录用户密码加密

LY 2026/08/21 193 0 0
摘要

1. 登录用户名密码增强加密

达梦登录密码增强在“存储”、“传输”和“使用”三个核心环节,全面加固数据库身份认证的安全性,最终实现防泄露、防窃听、防破解。

实验机器如下:

  • 服务器IP:10.87.62.A
  • 客户端IP:10.87.62.B

1.1 服务端配置

  1. 通过 dmkey 生成公钥文件、私钥文件(dmkey 位于达梦数据库的 bin 目录下):

    ./dmkey PATH=/home/dmdba/dmdbms/data/DAMENG pubkey=Public.pubkey

    生成两个文件:

    • 私钥:dm_login.prikey
    • 公钥:Public.pubkey

    PATH:设置存储路径。

  2. 将私钥移动到 SYSTEM PATH 目录(实例目录下的 DAMENG 文件夹下)。

  3. 配置服务器 dm.ini 参数,重启服务器生效:

    vi dm.ini

    设置参数:

    FORCE_CERTIFICATE_ENCRYPTION=1

    重启服务:

    ./DmServiceTESTDATA restart
  4. 将公钥发送给客户端:

    scp /home/dmdba/dmdbms/data/DAMENG/Public.pubkey dmdba@10.87.62.B:/home/dmdba/dmdbms

1.2 客户端配置

  1. 配置前测试登录(连接失败):

    ./disql SYSDBA/Dameng123@10.87.62.A:5236
  2. 配置 dm_svc.conf

    vi /etc/dm_svc.conf

    添加以下内容:

    LOGIN_CERTIFICATE=(/home/dmdba/dmdbms/data/DAMENG/Public.pubkey)
    
  3. 测试连接(连接成功):

    ./disql SYSDBA/Dameng123@10.87.62.A:5236

2. 登录用户名密码外部存储

为了避免用户登录数据库时直接接触数据库登录密码,DM 提供了一种登录用户名密码外部存储方式。系统管理员可将用户名和密码存储在外部加密的密码文件(wallet 文件)中,用户登录数据库时只需提供配置好的服务名便可成功登录数据库。

操作步骤

  1. 在数据库中新建用户 user01user02

    CREATE USER USER01 IDENTIFIED BY "USER01_psd"; CREATE USER USER02 IDENTIFIED BY "USER02_psd"; COMMIT;
  2. 配置 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)
    
  3. 创建 wallet 文件:

    ./dmmkstore -wrl /home/dmdba/dmdbms/wallet -create

    示例输出:

    DM Secret Store Tool: V8
    Version: 2
    Enter password:Wallet_123
    Enter password again:Wallet_123
    
  4. 创建凭据:

    ./dmmkstore -wrl /home/dmdba/dmdbms/wallet -createCredential dm_user01 USER01 USER01_psd ./dmmkstore -wrl /home/dmdba/dmdbms/wallet -createCredential dm_user02 USER02 USER02_psd
  5. 查看凭据:

    ./dmmkstore -wrl /home/dmdba/dmdbms/wallet -listCredential
  6. 使用客户端工具连接数据库:

    ./disql /@dm_user01
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服