设为首页 收藏本站
查看: 1294|回复: 0

[经验分享] 利用ORACLE WALLET实现透明数据加密

[复制链接]

尚未签到

发表于 2018-9-25 07:05:00 | 显示全部楼层 |阅读模式
  ORACLE WALLET用于存储安全证书信息和数据库的主密钥,具有认证和加密特性,可实现客户端自动登录数据库和透明数据加密(Transparent Data Encryption ,TDE)。所谓透明数据加密就是ORACLE数据库自己完成所有的加密和解密细节,对用户完全是透明的。本文基于CENTOS 5.6 + ORACLE 11g对使用ORACLE WALLET实现数据的透明加密进行了简单研究。
一、前提条件在使用ORACLE WALLET进行数据加密之前,必须首先做好以下几个工作:1、确定好ORACLE WALLET的路径。可使用ORACLE WALLET默认的路径:$ORACLE_HOME/owm/wallets/oracle,也可在操作系统级自行创建路径,如:$ORACLE_BASE/admin/$ORACLE_SID/wallet。2、修改 sqlnet.ora文件。sqlnet.ora文件的默认位置是:$ORACLE_HOME/network/admin。利用vi编辑器对其进行编辑,确保它指向上步中确定好的ORACLE WALLET路径。$vi sqlnet.ora添加ENCRYPTION_WALLET_LOCATION= (SOURCE=(METHOD=FILE)  (METHOD_DATA=        (DIRECTORY=/u01/app/oracle/admin/orcl/oracle)  ))3、用户授权。打开和关闭WALLET需要用户拥有ALTER SYSTEM的权限。通过命令:SQL>SELECT * FROM USER_SYS_PRIVS;查看当前用户是否具有ALTER SYSTEM的权限,没有的话通过命令:SQL>GRANT>二、创建ORACLE WALLET创建ORACLE WALLET有三种方式:通过OWM创建,在操作系统通过命令创建和通过SQL命令创建。1、OWM(Oracle Wallet Manager)创建。在操作系统提示下直接输入owm启动Oracle Wallet Manager:$owm,按照向导选择路径(这里不需要增加信任证书),就可成功创建新的ORACLE WALLET了。2、在操作系统通过命令创建。在操作系统提示下输入以下命令:$mkstore –wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet  - create,其中$ORACLE_BASE/admin/$ORACLE_SID/wallet是自定义的WALLET目录。随后输入两次密码即可。3、通过SQL命令创建。如下所示:$sqlplus /nologSQL>conn / as sysdbaSQL>ALTER SYSTEM SET ENCRYPTION KEY>以上三种方法的任意一种创建ORACLE WALLET后需要打开它,因为新创建的WALLET是关闭的:SQL>> WALLET是数据库级别的,WALLET打开后,所有的session都可以使用WALLET了。然后再手动生成主密钥。SQL>ALTER SYSTEM SET ENCRYPTION KEY>三、加密表列配置好ORACLE WALLET后,就可方便地加密表中的某一列数据。加密表列时需注意,若表列是外键成分或其他数据库的约束时就不能加密。1、创建新表时加密某列。SQL>CREATE TABLE Empt 2   ( 3  Name   VARCHAR2(30), 4  Emp_id  NUMBER(10), 5  Salary   NUMBER(10), 6  Credit   NUMBER(10) ENCRYPT 7   );此处,创建新表Empt同时使用默认的加密算法加密表列Credit。2、已有表中增加新的加密列。SQL>ALTER TABLE Empt ADD (ENCRYPT_ID NUMBER(5) ENCRYPT);3、加密已有的表列。SQL>ALTER TABLE Empt MODIFY (Salary   NUMBER(10) ENCRYPT);四、加密表空间只有新的表空间能加密,默认加密算法是DES128。加密表空间的命令是:SQL>CREATE TABLESPACE tbsp01  2   Datafile ‘/u02/app/oradata/tbsp01.dbf’>  3   ENCRYPTION  4   DEFAULT STORAGE(encrypt);可通过以下命令查看表空间的加密状态:SQL>SELECT tablespace_name, encrypted FROM dba_tablespaces;五、加密RMAN备份集透明数据加密是RMAN备份的默认加密方式,适用于存储、备份和恢复在同一台服务器。配置RMAN备份集的透明方式加密,在配置好ORACLE WALLET并打开WALLET的前提下,只需使用修改CONFIGURE 命令修改RMAN配置参数即可,如下所示:RMAN>CONFIGURE ENCRYPTION FOR DATABASE ON;以后所有的备份都将以加密方式进行。由于加密RMAN备份会增大系统开销,因此加密备份时最好分配多个通道。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600815-1-1.html 上篇帖子: mybatis+oracle+springMVC实现简单分页 下篇帖子: oracle错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表