Em sistemas de arquivos modernos (e em SSDs modernos) não há garantia de que, se você escrever sobre um arquivo usando um utilitário tradicional (como dd), os dados serão substituídos no local e os backups registrados serão destruídos. Como resultado, os dados poderiam ser recuperados. Então, depois de uma pequena pesquisa, percebi que montar um ramfs temporário (o tmpfs era descartado devido ao potencial de troca) seria o caminho a seguir:
# 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: Desmontar um ramf destrói os dados contidos nele?
Q2: Se não for garantido que os dados serão destruídos, existe alguma maneira possível de recuperar esses dados (ou eu estou apenas sendo paranóico)?
Q3: se os dados forem recuperáveis,
# dd if=/dev/zero of=/mnt/tmp/ram/[filename]
destruir os dados corretamente ou não é garantido que os ramfs sobregravem arquivos no local?
Restrições: O sistema não pode ser forçado a reinicializar antes / durante / após essas operações.
Caso você esteja curioso, os "dados confidenciais", neste caso, são os nomes de usuário + senhas sem hassel para um banco de dados de pam. Os "dados seguros" são o banco de dados salgado / com hash, que acabaria na unidade principal. Eu não quero que os dados confidenciais toquem na unidade (já que estou usando ext3 - que não pode garantir que os dados serão irrecuperáveis sem limpar toda a partição, tanto quanto eu entendo).
Se você conhece uma maneira melhor de fazer isso, por favor me esclareça, obrigado.