Linux AWS:安全地查找和删除所有文件,以便没人能恢复它

时间:2020-01-09 10:42:13  来源:igfitidea点击:

如何安全地删除服务器上的文件,以使没人能恢复它?
您需要使用磁盘清理程序,例如scrub。
它会以重复模式覆盖硬盘,文件和其他设备,从而使从这些设备恢复数据更加困难。

在RHEL/CentOS/Fedora Linux上安装scrub

执行以下yum命令以安装清理软件:

# yum install scrub

如何使用scrub?

语法为:

scrub fileNameHere
scrub file.txt

如何选择要写的模式?

使用以下语法:

scrub -p nnsa|dod|bsi|old|fastold|gutmann|random|random2 fileNameHere

其中:

选择要写入的模式。

nnsa选择符合NNSA政策信函NAP-14.x的模式; dod选择符合DoD 5220.22-M的模式; bsi选择由德国信息技术安全中心(http://www.bsi.bund.de)推荐的模式;旧版选择1.7版之前的灌洗模式;而fastold很老,没有随机传球。

gutmann是35遍序列,在下文引用的Gutmanns论文中有所描述。
有关更多详细信息,请参见下面的"标准"。

random是单次随机通过。

random2是两次随机通过。
默认值:nnsa。

通过文件系统清理常规文件的有效性将受到操作系统和文件系统的限制。
已知有问题的文件系统是日记,日志结构,写时复制,版本控制和网络文件系统。
如有疑问,请擦洗原始磁盘设备。
换句话说,您需要清理更高的原始设备,例如/dev/sdb或者/dev/sdvf。

示例命令:

scrub -p dod /dev/sdvf

如何在远程ssh会话上使用scrub?

首先,使用ssh客户端登录。
接下来,启动一个屏幕管理器,该屏幕管理器在多个进程(例如screen或者tmux)之间多路复用物理终端:

$ ssh -i my.aws.appkey.pem [email protected]
$ sudo -s
# screen
# scrub -p dod /dev/sdvf

现在,您可以关闭ssh会话并注销。
可能要花几个小时或者几天。
这完全取决于您的EBS存储卷大小。

如何安全删除所选文件?

在ssh + screen会话中使用以下find命令:

### delete all php files ###
# find /path/to/ebs/mount/location -type f -iname \*.php  -print0 | xargs -0 -I{} scrub {} 
 
### delete all *.sql files ###
# find /path/to/ebs/mount/location -type f -iname \*.sql  -print0 | xargs -0 -I{} scrub {}