关于在linux / unix系统上创建和销毁敏感数据
作者:互联网
在现代文件系统(以及现代SSD)中,无法保证如果使用传统实用程序(例如dd)对文件进行写入,则数据将被就地覆盖并且已记录的日志备份被破坏.结果,数据可能会被恢复.因此,经过一番研究后,我认为安装一个临时ramfs(tmpfs被排除,因为它有可能交换)将是要走的路:
# mkdir -p /mnt/tmp/ram
# mount -t ramfs -o size=[size, but ramfs grows as needed] ramfs /mnt/tmp/ram
# [create the sensitive data, secure it, copy out secured data]
# umount /mnt/tmp/ram
Q1:卸载ramfs会破坏其中包含的数据吗?
Q2:如果不保证数据被破坏,是否有任何可行的方法来恢复所述数据(或者我只是偏执狂)?
问题3:如果数据是可恢复的,那么
# dd if=/dev/zero of=/mnt/tmp/ram/[filename]
正确销毁数据或ramfs不能保证就地覆盖文件?
约束:在这些操作之前/期间/之后,系统不能强制重启.
如果你很好奇,在这种情况下,“敏感数据”是pam数据库的无保留,未散列的用户名密码. “安全数据”是盐渍/散列数据库,最终会在主驱动器上运行.我不希望敏感数据接触到驱动器(因为我使用的是ext3 – 据我所知,这不能保证在不擦除整个分区的情况下数据将无法恢复).
如果您知道更好的方法,请赐教,谢谢.
解决方法:
Q1:是的
Q2:恢复数据是不可行的.不过,如果你想成为极端,你可以这样做:)
>在ram中创建一些空间:
mkdir ram
mount -t ramfs -o size = 1000M ramfs ram /
>创建一些随机填充的文件,我们在该RAM空间中加密.由于填充了随机数据,因此无法在随机数据和加密数据之间建立边界.
dd if = / dev / urandom of = ram / test bs = 1M count = 512
>设置登记
cryptsetup -y luksFormat ram / test
cryptsetup luksOpen ram / test encypted
>格式化并安装新的安全空间:
mkfs.ext4 / dev / mapper / encypted
mkdir securedir
mount / dev / mapper / encypted securedir /
> Umont securedir /然后ram /松散数据直到时间结束.
umount securedir /
卸下ram /
标签:linux,tmpfs,ramdisk,data-destruction 来源: https://codeday.me/bug/20190810/1641305.html