三种Oracle RMAN备份加密策略(一)

2015-07-16 12:07:27 · 作者: · 浏览: 5

数据安全,特别是企业核心业务数据的安全问题,是当今全社会共同关注的问题。从前几天轰轰烈烈的携程服务终止,风闻数据库被删除事件,到去年多次发生的互联网公司用户账号密码外泄风波,都不断挑战业界紧绷的神经。在当今社会,数据就是财富已经不是乌托邦,而是彻彻底底的现实。出现过信息泄露安全事故的企业,在商誉和品牌上的损失都是难以评估的。


从信息系统的角度看,备份是我们DBA的命脉,也是我们的“后手”。只要有备份,只要数据不丢,都有回旋的余地和空间。针对备份的安全,也是各种信息化安全标准均重要强调之处。


备份的安全,主要体现在两个层面上:备份有效性和备份不被非法使用。备份有效性是运维人员的噩梦,关键场合却发现备份不可用或者有坏块,是足以让运维人员吐血的场景。备份不被非法使用,是保证备份集合数据不会被非法的还原到其他环境中去。


1、环境介绍


笔者选择Oracle 11g进行测试,版本编号为11.2.0.4。


SQL> select * from v$version;


BANNER


--------------------------------------------------------------------------------


Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


PL/SQL Release 11.2.0.4.0 - Production


CORE? ? 11.2.0.4.0? ? Production


TNS for Linux: Version 11.2.0.4.0 - Production


NLSRTL Version 11.2.0.4.0 - Production


为了使用rman进行热备份,开启归档模式。


SQL> select log_mode from v$database;


LOG_MODE


------------


ARCHIVELOG


RMAN备份安全的三种策略分别为:密码口令安全、Oracle Wallet安全和混合加密安全。


--------------------------------------推荐阅读 --------------------------------------


--------------------------------------分割线 --------------------------------------


下面分别介绍三种策略:


2、密码口令安全


密码口令安全如其名称,就是在加密解密过程中都需要交互式的密码输入。配置密码口令就在RMAN本身的配置中即可。


RMAN> show encryption for database ;


RMAN configuration parameters for database with db_unique_name SICSSTB are:


CONFIGURE ENCRYPTION FOR DATABASE OFF; # default


RMAN> show encryption algorithm;


RMAN configuration parameters for database with db_unique_name SICSSTB are:


CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default


默认RMAN是不启用加密机制的。加密问题一定跟随着加密算法,默认加密算法为AES128。查看视图v$RMAN_ENCRYPTION_ALGORITHMS,可以看到当前可以使用的加密算法。


SQL> select * from v$rman_encryption_algorithms;


ALGORITHM_ID ALGORITHM_NAME? ALGORITHM_DESCRIPTION? ? IS_DEFAULT RESTORE_ONLY


------------ --------------- ------------------------- ---------- ------------


? ? ? ? ? 1 AES128? ? ? ? ? AES 128-bit key? ? ? ? ? YES? ? ? ? NO


? ? ? ? ? 2 AES192? ? ? ? ? AES 192-bit key? ? ? ? ? NO? ? ? ? NO


? ? ? ? ? 3 AES256? ? ? ? ? AES 256-bit key? ? ? ? ? NO? ? ? ? NO


使用口令加密,首先使用set encryption命令设置上口令。


RMAN> set encryption on identified by 'test' only;


executing command: SET encryption


RMAN> show encryption for database;


RMAN configuration parameters for database with db_unique_name SICSSTB are:


CONFIGURE ENCRYPTION FOR DATABASE OFF; # default


注意后面的only标记,一定要加入进来。


下面可以进行备份:


RMAN> backup database plus archivelog;


Starting backup at 08-JUN-15


current log archived


allocated channel: ORA_DISK_1


channel ORA_DISK_1: SID=137 device type=DISK


channel ORA_DISK_1: starting archived log backup set


channel ORA_DISK_1: specifying archived log(s) in backup set


(篇幅原因,有省略……)


Starting Control File and SPFILE Autobackup at 08-JUN-15


piece handle=+RECO/sicsstb/autobackup/2015_06_08/s_881833159.266.881833159 comment=NONE


Finished Control File and SPFILE Autobackup at 08-JUN-15


备份集合状态:


RMAN> list backup;


List of Backup Sets


===================


BS Key? Size? ? ? Device Type Elapsed Time Completion Time


------- ---------- ----------- ------------ ---------------


1? ? ? 14.01M? ? DISK? ? ? ? 00:00:00? ? 08-JUN-15? ? ?


? ? ? ? BP Key: 1? Status: AVAILABLE? Compressed: NO? Tag: TAG20150608T093841


(篇幅原因,有省略……)?


? ? ? ? BP Key: 4? Status: AVAILABLE? Compressed: NO? Tag: TAG20150608T093919


? ? ? ? Piece Name: +RECO/sicsstb/autobackup/2015_06_08/s_881833159.266.881833159


? SPFILE Included: Modification time: 08-JUN-15


? SPFILE db_unique_name: SICSSTB


? Control File Included: Ckp SCN: 26