Bóson Treinamentos em Ciência e Tecnologia

Como excluir arquivos e limpar discos com segurança no Linux: comandos dd e dc3dd

Como excluir arquivos com segurança no linux com dd e dc3dd

Como excluir arquivos e limpar discos com segurança no Linux: comandos dd e dc3dd

Imagine que você precisa excluir alguns arquivos confidenciais de um disco do computador ou de um pendrive conectado.

Ou ainda, precisa limpar todos os dados presentes em um disco para que ele possa ser reaproveitado, reinstalado, doado, vendido ou mesmo descartado.

Como proceder para que nenhuma informação contida nesse disco acabe em mãos erradas?

Neste caso podemos lançar mão de algumas ferramentas muito interessantes disponíveis para o Linux.

Podemos citar algumas ferramentas muito úteis para limpar dados de um disco de forma definitiva:

Neste artigo aprenderemos a limpar discos e partições com o uso dos utilitários dd e dc3dd.

Utilitário dd

O utilitário dd permite converter, formatar e copiar arquivos, sendo muito utilizado para efetuar backup de partições e discos, ou partes de discos como a área de MBR, por exemplo.

Porém, também podemos limpar totalmente um disco utilizando a ferramenta dd. Suponhamos uma partição em disco, /dev/sdb1, que contenha dados confidenciais e que deva ser apagada totalmente para evitar vazamento dessas informações. Vejamos o conteúdo de um diretório hipotético neste disco, montado no diretório /confidencial:

$ df -h /dev/sdb1
$ ls /confidencial

Temos um arquivo chamado top-secret no disco, e queremos limpá-lo em definitivo. Simplesmente apagar o arquivo provavelmente não irá adiantar, pois existem diversas técnicas que permitem recuperar dados de discos mesmo depois de apagados – e até mesmo depois do disco ter sido formatado!

Na verdade, queremos limpar o disco todo, pois ele pode ter inúmeros arquivos que não devem ser acessados por mais ninguém, mesmo que alguém consiga ter acesso físico ao disco.

Usaremos então a ferramenta dd para limpar totalmente o disco. Podemos usá-la para preencher o disco com zeros e sobrescrever o conteúdo atual. Para isso, basta copiar o conteúdo do arquivo especial /dev/zero para o disco sdb:

$ sudo dd if=/dev/zero of=/dev/sdb

O procedimento é um pouco demorado, pois o disco será totalmente preenchido com zeros. Vejamos seu conteúdo após o término da operação:

Agora o disco está cheio de zeros, e não há nenhum arquivo disponível.

Veja que a partição continua montada e disponível:

$ df -h /dev/sdb

Uma outra maneira seria copiar o conteúdo do arquivo especial /dev/urandom para o disco sdb, o que o preencheria com dados aleatórios (em vez de zeros):

$ sudo dd if=/dev/urandom of=/dev/sdb

Vejamos agora como podemos usar o comando dc3dd para apagar o conteúdo de partições ou discos. Antes disso, desmontarei e formatarei novamente o disco /dev/sdb1, montarei-o no diretório /confidencial e criarei novamente nosso arquivo de testes top-secret.

Utilitário dc3dd

O utilitário dc3dd pode ser usado para copiar e converter arquivos e clonar discos e partições, assim como o comando dd. É, na verdade, uma versão “melhorada” do comando dd.

Vamos primeiramente instalar o utilitário dc3dd:

$ sudo apt-get install dc3dd

E na sequência rodaremos o comando whereis para mostrar que ele foi instalado no sistema:

$ whereis dc3dd

Ferramenta instalada com sucesso. Agora vamos utilizá-la. Um pouco diferente do exemplo anterior, vamos apagar todo o conteúdo da partição sdb1 e preenchê-la com um caractere qualquer, como a letra x para que os dados sejam sobrescritos.

Vejamos o conteúdo atual do disco e de sua partição:

$ df -h /dev/sdb1
$ ls -l /confidencial

Vamos agora apagar todo o seu conteúdo usando o comando dc3dd:

$ sudo dc3dd wipe=/dev/sdb1 tpat=x

Você pode acompanhar o andamento da operação no próprio terminal. Usamos as opções wipe e tpat, que significam:

Após algum tempo a operação será finalizada. Veja o resultado reportado:

Vamos ver agora com ficou o conteúdo da partição. Primeiramente rodaremos o comando ls -l para ver se há algum arquivo restante:

$ ls -l /confidencial

Os arquivos sumiram e agora é reportado inclusive um erro de entrada/saída.

Vamos ler o conteúdo dos setores da partição. Para isso copiaremos alguns bytes da partição usando o comando dd com as opções:

Executando o comando:

# dd if=/dev/sdb1 of=/home/fabio/prova bs=512 count=2

E agora vamos ver o conteúdo do arquivo criado (/home/fabio/prova):

Como previsto, recheado de caracteres “x”, que foi o caractere escolhido para preencher o disco /dev/sdb1.

Portanto, a partição foi totalmente apagada e sobrescrita com um caractere escolhido, usando-se o comando dc3dd.

Mais informações sobre as diversas opções desse comando podem ser obtidas chamando sua ajuda:

$ dc3dd --help

No próximo artigo continuaremos a analisar outras ferramentas úteis para apagar de forma segura partições e também arquivos individuais.

 

Sair da versão mobile