•ORACLE 10可以加密列,ORACLE 11可以加密整个表
•数据存储威胁:
1.未加密的重要信息可以再dbf中明文查看到
2.数据查询为明文,如果存在安全性漏洞可以直接导致重要信息泄露
•注意:
一定要注意安全保存TDE的两个密钥和wallet密码。
•TDE功能开启和关闭
Security_manager@AOS> ALTER SYSTEM SET WALLET CLOSE;
Security_manager@AOS> ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY “Wallet”
•注意:
1.一定要注意权限的分配,不要让应用程序数据库用户具有ALTER SYSTEM的权限,否则他就可以绕过TDE的限制
•Wallet manager随着数据库的重新启动或者操作系统的重新启动而自动启动
[oracle@aosdb /] $ owm
•创建新的字段
system@AOS> CREATE TABLE sh.customer_enc (
cust_id NUMBER(6) PRIMARY KEY,
cust_firstname VARCHAR2(20),
cust_lastname VARCHAR2(20),
cust_addresss VARCHAR2(40),
cust_city VARCHAR2(20),
cust_state VARCHAR2(20),
cust_zip VARCHAR2(20),
cust_credit_card_no VARCHAR2(19) encrypt using ‘AES192’,
cust_credit_card_exp VARCHAR2(4)
)
TABLESPACE customer_info_protected
/
•数据库备份和恢复
导出时对数据进行加密
[oracle@aosdb ~] expdp system/oracle11g DUMPFILE=exports:customer_enc_protended.dmp TABLES=sh.customer_enc ENCRYPTION_PASSWORD=‘wallet’。
数据库安全解决方案之Database vault
•DVB四个关键要素
1.因素
在安全条件中,没有基于某些人是否具有做某些事情的权限来制定的静态规则,这样的规则很容易被绕过。安全是更加动态的概念,可以在运行时对多个因素进行检查,并具有很好的扩展性。
a) 一天中的时间
b) 一周中的某天
c) 用户身份如何验证
d) 是否请求某个特定事物的一部分
2. 规则
对于一个简单的数据库示例,考虑如下的简单逻辑来判断一个用户是否能对一个表进行select操作:
a) 用户身份验证是否使用安全套接字层
b) 用户的请求是否来自于一个应用服务器的已知IP地址
c) 当前是否处于星期一到星期五之间
d) 是否属于某个用户组的成员
3. 领域
领域就是要保护的对象的集合,而不需要考虑到底归谁所有。这个概念与JAVA使用的sandbox类似,利用领域可以很好的限制哪些人可以访问哪些内容。这就是传说中的职责分离
4. 命令规则
命令规则提供了一个新的安全层,允许使用客户定义的规则对数据库命令进行授权。是否允许命令的执行,往往基于已有的权限和必须通过的规则。
(责任编辑:)