Como apagar com segurança um diretório sem deixar vestígios?

5

Eu já sei que usar shred substituirá meus arquivos de maneira a deixá-los irrecuperáveis. No entanto, shred não pode ser usado para ocultar diretórios.

Mensagem de erro:

failed to open for writing: Is a directory

Não posso usar blasters / reformadores de disco rígido como dd , pois não possuo o disco rígido (só posso acessá-lo por meio do ssh).

Meu problema é que depois de excluir todos os meus arquivos reais, meus nomes de pasta com nome útil ainda estão lá. Os nomes dizem ao espectador o que estaria dentro. Se eu excluir uma pasta vazia, ela ainda será recuperável? Existe um shred para diretórios?

    
por 1478963 01.08.2014 / 18:47

3 respostas

2

A única maneira segura é

  1. Copie todos os arquivos para um sistema de arquivos diferente.
  2. Desmonte o sistema de arquivos.
  3. Limpe a partição ou volume que contém o sistema de arquivos.
    Este é o “blaster de disco rígido” que você mencionou na sua pergunta. Não use dd , cat é tão bom. Você pode fazer isso remotamente, a menos que este seja o sistema de arquivos raiz, caso em que o que você quer fazer é impossível.
  4. Recrie um sistema de arquivos e restaure os arquivos.

Não vou repetir a excelente explicação do frostschutz sobre o porquê de abordagens menos rigorosas não limparem com segurança o que você deseja limpe.

A melhor maneira de gerenciar isso é preventivamente: criptografar seus dados (com um sistema de arquivos que criptografa nomes de arquivos, como encfs ou ecryptfs). Quando você quiser limpar os dados, simplesmente certifique-se de destruir todas as cópias da chave.

    
por 02.08.2014 / 01:22
2

Então você quer esconder os nomes dos diretórios ... um experimento.

# truncate -s 1G foobar
# losetup -f --show foobar
/dev/loop0
# mkfs.ext4 /dev/loop0
# mount /dev/loop0 /mnt/tmp
# cd /mnt/tmp
# mkdir collywobbles
# sync
# mv collywobbles shriggelfigs
# sync
# mv shriggelfigs flapjacks
# sync
# rmdir flapjacks
# cd ..
# umount /mnt/tmp

Então, basicamente, nós temos um sistema de arquivos vazio, criamos um diretório nele, o renomeamos duas vezes e o apagamos no final. O que é recuperável?

# strings /dev/loop0 | grep -E '(collywobbles|shriggelfigs|flapjacks)'
flapjacksles
shriggelfigs
flapjacksles
shriggelfigs
collywobbles
shriggelfigs

Ah. Tudo isso. Ótimo. Embora flapjacks pareça ter sobrescrito dois collywobbles , transformando-o em flapjacksles , já que flapjacks foi um pouco mais curto ...

How to securely delete a directory without leaving a trace?

Você não pode excluir com segurança um único arquivo ou, de fato, livrar-se de um nome de diretório. Na melhor das hipóteses, você pode sobrescrever o conteúdo da representação atual de um arquivo que o sistema de arquivos ainda conhece. Já criou uma cópia do arquivo? Já editou e salvou o arquivo? Que pena, provavelmente há uma cópia que o próprio sistema de arquivos não conhece mais porque foi excluído e substituído por um arquivo com o mesmo nome.

Você pode shred arquivos. Você também pode shred de todo o espaço livre do sistema de arquivos. Isso é bom para se livrar de cerca de 99%. Se isso não é bom o suficiente, você tem que ir tudo para fora. Você nunca sabe se realmente se foi até você fazer a coisa toda.

Copie todos os dados. %código%. Copie os dados de volta (apenas os bits que você deseja manter).

    
por 02.08.2014 / 00:59
0

Se o OP estiver usando Debian / Ubuntu ou suas variantes, confira este post do Ask Ubuntu , especialmente o pacote secure-delete na resposta recomendada.

    
por 01.08.2014 / 20:06