Exadata FAQ: Exadata上的数据是否能安全的删除?

原文链接:http://www.dbaleet.org/exadata_faq_how_to_secure_erase_exadata/

 

 

位于北京上地的甲骨文测试中心几乎每天都会迎来各行业对Exadata感兴趣的潜在客户, 很多客户听说Exadata快11倍的神奇性能(话说Exadata广告真是普天盖地,在首都机场,虹桥机场,奥林匹克公园地铁站,国航航班,和谐TV都能见到),希望有机会一睹真容,并且拿自己公司的真实数据进行测试,看Oracle是不是在吹牛。

如果只用Oracle自己提供的数据,很多人就会认为那只是Oracle公司自圆其说吹吹牛,至于数据嘛都是自己造的。敢不敢用真实的数据测试?另外很多客户也迫切想知道,Exadata是不是适合我们自己的应用。如果不用真是数据测试,那么所有的测试都是没有意义的。但是如果采用真是的数据,那么怎么保证客户的数据不被泄漏呢?怎么样保证所有的生产数据都被安全的删除了?通常来说用户做完测试以后把这个数据库删除就可以了。但是对于某些行业的客户,例如金融,政府行业的客户的要求不仅仅是删除数据库这样简单了。Exadata上是否有彻底删除用户数据的工具?

答案是肯定的,在Oracle内部有一个工具叫Exascrub, Exa代表Exadata, Scrub表示擦除的意思。或许有些熟悉Linux的DBA会知道有scrub这样工具,是的,Exascrub就是在最终调用的就是scrub。在标准的Linux repository中都有scrub这么一个包。

在Debian/Ubuntu下可以使用以下命令进行安装:

sudo apt-get install scrub

在RHEL/OL/Fedora下可以使用以下命令进行安装:

sudo yum -y install scrub

在srub的man手册中可以看到srub命令的介绍。 更底层一点,scrub使用的是Gutmann method对数据进行擦除。srub使用 DoD 5220.22-M标准,此标准一共包括5个部分:

a- Write 0×00 on entire partition
b- Write 0xFF on entire partition
c- Write Random bytes on entire partition
d- Write 0×00 on entire partition
e- Verify that wipe was successful on entire partition

对此有兴趣的朋友可以了解下:

Data Remanence in wikipedia

National Industrial Security Program Operating Manual

Exascrub的工作流程大致如下。整个过程并不复杂,实际上用户完全可以在scrub的基础之上自己写脚本来完成这个工作。

1. 修改配置,默认提供一个node list文件,文件中注明哪些node需要被wipe。

2. 收集信息在每个cell节点有多少除系统分区以外,有哪些data disk, flash disk。然后把这些信息记录到对应的文件列表中。

3. 使用fdisk对所有的磁盘和闪盘进行格式化。

4. 使用scrub对所有的磁盘和闪盘进行安全删除。并且可以使用一个脚本观察删除进度。

5. 收集安全删除的报告,提交。

以上步骤完成以后, Exadata上所有的数据就被安全的删除了。当然安全是一个相对概念,没有绝对安全一说。有一个理论是:绝对安全的删除是不存在的,只要存在过的数据理论上都是可以恢复的,当然取决于你愿意花多少时间和代价来恢复这些数据。当然如果所花费的时间和代价远远超出了破解者的预期,我们就认为是非常安全的了。

Comment

*

沪ICP备14014813号

沪公网安备 31010802001379号