拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle基础知识
  3. LLL的Oracle培训
  4. 正文

LLL的数据库培训-104-第六部分—Oracle高级安全管理—第4讲—mkstore管理下的客户端免密码登录

2023年11月5日 671点热度 0人点赞 0条评论

目录

  • 一、关于Oracle中mkstore工具的介绍
    • 1、关于mkstore工具的介绍
    • 2、mkstore和alter system set encryption key authenticated by区别
      • (1)mkstore:
      • (2)alter system set encryption key authenticated by
      • (3)两者区别和联系
    • 3、mkstore创建的文件
      • (1)cwallet.sso:
      • (2)ewallet.p12:
      • (3)总结来说
  • 二、mkstore工具管理
    • 1、mkstore语法:
    • 2、利用mkstore删除alter system set encryption key authenticated by创建的钱包如何删除
    • 3、mkstore的管理维护
      • (1)创建钱包
      • (2)创建登录用户
      • (3)创建第二个用户连接
      • (4)mkstore查看用户创建列表
      • (5)修改用户列表
      • (6)删除用户列表
      • (7)删除钱包
    • 7、注意:
  • 三、mkstore创建用户和密码,用户无密码登录数据库
    • 1、创建钱包目录
    • 2、编辑sqlnet.ora
    • 3、编辑tnsname
    • 4、测试tns
    • 5、创建建钱包
    • 6、创建登录用户
    • 7、无密码登录测试:
    • 8、注意

LLL的数据库培训-104-第五部分—Oracle安全管理—第5讲—mkstore管理下的客户端免密码登录

一、关于Oracle中mkstore工具的介绍

1、关于mkstore工具的介绍

在ORACLE 10G前,我们在SHELL或JDBC中连接数据库时,都需要输入用户名与密码,并且都是明文。

从1OGR2开始,ORACLE提供wallet这个钱包功能,可以实现无需输入用户名与密码就可以登陆数据库,其中配合使用的工具就是mkstore.

2、mkstore和alter system set encryption key authenticated by区别

(1)mkstore:

mkstore是一个命令行工具,用于创建和管理Oracle数据库中的加密钥匙存储库。
它可以用于存储数据库连接凭据、SSL证书、加密密钥等敏感信息。
mkstore可以在数据库服务器上直接运行,并通过命令行参数指定操作类型,如添加、删除、修改密钥等。

(2)alter system set encryption key authenticated by

这是一个SQL语句,用于在Oracle数据库中设置或更改加密密钥。
它需要具有适当权限的用户执行,并且需要通过身份验证进行授权。
该语句可以设置数据库实例级别的加密密钥,以保护数据库中的敏感数据,如存储在表空间中的加密列或加密存储。

(3)两者区别和联系

总体而言,mkstore主要用于创建和管理加密密钥存储库,

而alter system set encryption key authenticated by则用于设置或更改数据库实例级别的加密密钥。

它们可以结合使用,以确保数据库中的敏感数据得到适当的保护。

3、mkstore创建的文件

在使用Oracle Wallet时,mkstore命令创建的cwallet.sso和ewallet.p12是两个重要的文件。

(1)cwallet.sso:

这是一个用于存储Oracle Wallet的文件,其中包含诸如加密密钥、证书和其他敏感信息等内容。
它是Oracle Wallet的主要文件,用于保护数据库凭据和密钥。
cwallet.sso文件是加密的,只能由具有适当权限的用户或进程读取和解析它。

cwallet.sso是Oracle中的一个安全存储库文件,用于存储加密的认证信息,比如数据库用户的密码和凭证。它通常是在Oracle Wallet Manager工具中使用mkstore命令创建的。cwallet.sso文件使用了Oracle自己的加密算法来保护其中的敏感数据。

(2)ewallet.p12:

这是一个用于导出和导入Oracle Wallet的可移植格式文件。
它包含与Oracle Wallet相关的私钥、证书和其他凭据。
您可以使用ewallet.p12文件在不同的系统之间共享和复制Oracle Wallet。
该文件是以密钥库格式(PKCS#12)保存的,可以在支持PKCS#12的工具和应用程序中打开和操作。

ewallet.p12也是一个安全存储库文件,用于存储X.509数字证书和私钥。这些证书和私钥通常用于SSL/TLS通信和身份验证。ewallet.p12文件可以由Oracle Wallet Manager工具中的mkstore命令创建。

(3)总结来说

cwallet.sso是Oracle Wallet的主要文件,用于存储数据库用户的密码和凭证,包含敏感信息,
ewallet.p12是一个可移植的文件,用于导入和导出Oracle Wallet。ewallet.p12用于存储SSL/TLS证书和私钥
两个文件都是保护数据库凭据和密钥的关键组成部分。

二、mkstore工具管理

1、mkstore语法:

mkstore是Oracle提供的一个命令行工具,用于管理Oracle Wallets,该工具允许您创建、修改和删除Oracle Wallets中的条目,管理SSL证书和密钥等。以下是mkstore的一般语法:

mkstore option1 [value1] option2 [value2] ...

其中,option表示mkstore命令的不同选项,而value表示相应选项的值。常用的选项包括:

-wrl:              指定Oracle Wallet的位置(路径)。例如:-wrl /path/to/wallet
-create:           创建新的Oracle Wallet。
-delete:           删除现有的Oracle Wallet。
-listCredential:   列出Oracle Wallet中存储的凭据。
-createCredential: 将数据库用户名和密码添加到Oracle Wallet。例如:-createCredential <db_alias> <username> <password>,其中<db_alias>是数据库连接的别名,<username>和<password>是要存储到Oracle Wallet的用户名和密码。
-modifyCredential: 修改Oracle Wallet中现有凭据的用户名和密码。
-deleteCredential: 从Oracle Wallet中删除凭据。
-register:         用于将密钥或证书注册到Oracle Wallet。
-unbind:           从Oracle Wallet中解绑密钥或证书。

请注意,具体的选项和语法可能会有所不同,或者随着Oracle版本的更新而有所变化。建议查阅相关的Oracle文档或使用mkstore -help命令获取详细的语法和选项说明。

2、利用mkstore删除alter system set encryption key authenticated by创建的钱包如何删除

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -delete
Enter wallet password:输入当前wallet2中钱包的密码:Htsxw123321

3、mkstore的管理维护

(1)创建钱包

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -create
密码设置为Hdsoft123

(2)创建登录用户

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -createCredential mesorcl219 test 123

(3)创建第二个用户连接

tnsname需要配置为其他的名称,否则会报:Create credential Secret Store error occured: oracle.security.pki.OracleSecretStoreException: Credential already exists

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -createCredential mesorcl221 test 123

(4)mkstore查看用户创建列表

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -listCredential

(5)修改用户列表

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -modifyCredential

(6)删除用户列表

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -deleteCredential

(7)删除钱包

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -delete

7、注意:

上述实验可以成功,我们可以去客户端进行mkstore的启用,也可以直接无密码访问数据库。

三、mkstore创建用户和密码,用户无密码登录数据库

注:在Oracle客户端创建,无论是windows还是linux都可以。

1、创建钱包目录

mkdir -p /oracle/app/oracle/admin/mesorcl/wallet2
chmod 777 /oracle/app/oracle/admin/mesorcl/wallet2

2、编辑sqlnet.ora

vi $ORACLE_HOME/network/admin/sqlnet.ora
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY =/oracle/app/oracle/admin/mesorcl/wallet2)
)
)
SQLNET.WALLET_OVERRIDE=TRUE

在 Oracle 数据库中,`SQLNET.WALLET_OVERRIDE=TRUE` 是 `sqlnet.ora` 文件中的一个属性设置。它用于指定是否允许数据库连接过程中的钱包覆盖。

当设置 `SQLNET.WALLET_OVERRIDE=TRUE` 后,它会允许连接过程中使用的钱包(即客户端钱包)覆盖服务器端钱包中的凭据。这意味着,如果客户端钱包中存在与服务器端凭据相同别名的凭据,客户端钱包中的凭据将会覆盖服务器端钱包中的凭据。

这个属性的作用在于提供了一种方式来配置客户端钱包的凭据优先级。当客户端和服务器端都具有相同别名的凭据时,如果设置了 `SQLNET.WALLET_OVERRIDE=TRUE`,则优先使用客户端钱包中的凭据。这使得可以在不对服务器端进行修改的情况下,通过配置客户端钱包来实现凭据的灵活管理和覆盖。

需要注意的是,当使用钱包覆盖时,要确保客户端钱包的安全性,以免凭据泄露。建议采取适当的措施来保护客户端钱包文件和访问权限。

总之,将 `SQLNET.WALLET_OVERRIDE` 设置为 `TRUE` 允许客户端钱包覆盖服务器端钱包中的凭据,从而提供了一种在连接过程中管理和使用凭据的灵活性。

3、编辑tnsname

vi $ORACLE_HOME/network/admin/tnsnames.ora
mesorcl219 =
(description =
  (address_list =
    (address = (protocol = tcp)(host =192.168.20.219)(port = 1521))
  )
  (connect_data =
   (sid = mesorcl)
  )
)

4、测试tns

tnsping mesorcl219
Attempting to contact (description = (address_list = (address = (protocol = tcp)(host =192.168.20.221)(port = 1521))) (connect_data = (sid = mesorcl)))
OK (0 msec)

5、创建建钱包

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -create
密码设置为Hdsoft123

6、创建登录用户

mkstore -wrl /oracle/app/oracle/admin/mesorcl/wallet2 -createCredential mesorcl219 test 123

其中mesorcl219是tns的别名。

7、无密码登录测试:

sqlplus /@mesorcl219
TEST@mesorcl219>

8、注意

注:如果此处登录失败,提示ORA-12578: TNS:wallet open failed,有几点一定要注意

--先检查sqlnet.ora中的开头是否是“WALLET_LOCATION = ”,而不是“ENCRYPTION_WALLET_LOCATION = ”开头
--确认钱包文件和路径是否正确无误。使用 ls 命令检查 /oracle/app/oracle/admin/mesorcl/wallet2 目录确保钱包文件存在。
--验证钱包文件的所有者和权限设置。确保文件和目录的所属者正确,并且对于 Oracle 进程和用户,具有适当的读取和写入权限。
--检查 tnsnames.ora 文件,确保连接别名(mesorcl219)确实与钱包别名匹配。
--验证数据库实例监听是否成功加载了修改的 tnsnames.ora 文件。
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年4月24日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号