Formatar um Disco Não Apaga os Teus Dados: Como Usar o nvme sanitize e o Apagamento Criptográfico com Segurança

Formatar um Disco Não Apaga os Teus Dados: Como Usar o nvme sanitize e o Apagamento Criptográfico com Segurança

A Ilusão da Formatação Rápida: Como os Servidores Usados Falam Demais

A cada três ou quatro anos, a tua empresa renova o equipamento informático. Servidores dedicados antigos, computadores de desenvolvimento e discos NVMe são retirados de produção para serem vendidos em segunda mão, devolvidos a empresas de aluguer ou enviados para reciclagem.

Antes de embalar o material, um técnico corre habitualmente um comando rápido:

# O ERRO PERIGOSO: Uma formatação que não limpa absolutamente nada
mkfs.ext4 -F /dev/nvme0n1

Ou talvez use o comando dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=1000 para limpar o início do disco.

A tabela de partições desaparece, o disco parece vazio e o equipamento é expedido.

Três semanas mais tarde, alguém compra esse disco usado por 50 euros num site de leilões. Usando um programa vulgar de recuperação forense como o testdisk ou photorec, essa pessoa consegue extrair:

  • Milhares de fichas de clientes com nomes, moradas e números de identificação fiscal.
  • Folhas de cálculo financeiras com contas bancárias e vencimentos da empresa.
  • Chaves privadas de certificados SSL e credenciais de acesso por VPN WireGuard.
  • Registos de transações da tua base de dados PostgreSQL.

A GRANDE ILUSÃO DE FORMATAR UM DISCO RÍGIDO

  • Executas o Comando: mkfs.ext4 /dev/nvme0n1
  • Limpa apenas os metadados e os apontadores de ficheiros (0.01% do disco)
  • Marca os setores como “livres para gravação”
  • ESTADO REAL DAS CÉLULAS DE MEMÓRIA NAND:
  • Tabela de Inodes Vazia — OS DADOS REAIS DOS TEUS CLIENTES CONTINUAM LÁ!
  • O Teu Linux Vê um “Disco Vazio” Qualquer Ferramenta Forense Recupera Tudo!

Formatar um disco não apaga ficheiros; apenas deita fora o índice do livro. Enquanto não limpares fisicamente as células de silício, a tua empresa está exposta a multas graves de RGPD e fugas de informação inadmissíveis.

Nos nossos serviços de alojamento gerido e nas intervenções de consultoria técnica, aplicamos procedimentos rigorosos em Debian GNU/Linux para garantir que nenhum disco deixa a empresa com dados recuperáveis.


Porque o Antigo Comando shred Não Serve para Discos NVMe

Durante décadas, qualquer administrador de sistemas usava o utilitário shred:

# O COMANDO ARCAICO PARA DISCOS MECÂNICOS: Inútil em SSDs e NVMe!
shred -v -n 3 -z /dev/sda

Nos discos rígidos magnéticos antigos com agulha mecânica, o shred funcionava perfeitamente. Quando mandavas gravar zeros no setor 50.000, a agulha ia fisicamente àquele ponto magnético e gravava por cima.

Nos discos SSD e NVMe modernos, a física é totalmente diferente.

A CAMADA DE TRADUÇÃO DE MEMÓRIA FLASH (FTL)

  • O Sistema Operativo Manda o shred Escrever no Bloco Lógico #500:
  • O Controlador Inteligente do Disco NVMe (FTL): Algoritmo de Nivelamento: “Este bloco já teve muitas escritas. Vou desviar!”
  • Grava numa célula física de reserva nova e fria: Bloco Físico #89214
  • O Bloco Físico Antigo #12044 (Com os Dados Secretos) NUNCA É TOCADO!
  • Fica esquecido na área de reserva do disco até que a limpeza interna o apague.
  • Permanece totalmente legível por ferramentas forenses!

Os discos NVMe têm um microcomputador interno chamado Flash Translation Layer (FTL). Para evitar que os chips de silício se desgastem prematuramente, o FTL distribui as gravações por células diferentes:

  • Têm áreas de reserva ocultas (entre 7% e 20% do disco) que o teu sistema operativo nem sequer consegue ver.
  • Setores danificados retirados de circulação continuam a reter os dados antigos.
  • Quando o shred tenta escrever por cima, o controlador apenas redireciona a escrita para outra célula, deixando a informação confidencial intacta no silício.

A Norma Moderna: nvme sanitize ao Nível do Hardware

Para resolver esta fraqueza, o consórcio internacional NVM Express criou o comando NVMe Sanitize a partir da especificação NVMe 1.3.

Ao contrário de comandos de software que perdem horas a enviar zeros pela linha PCIe, o nvme sanitize dá uma ordem direta ao controlador eletrónico do disco para limpar a totalidade das células de silício, incluindo:

  1. Todas as partições acessíveis pelo utilizador.
  2. As áreas de reserva ocultas do fabricante.
  3. Blocos com defeito retirados de circulação.
  4. As memórias cache voláteis (DRAM) do próprio disco.

OS MODOS DE LIMPEZA DO NVME SANITIZE

  • MODO 1: APAGAMENTO CRIPTOGRÁFICO (Crypto Erase - Demora Menos de 2 Segundos)
  • Discos com encriptação de fábrica (SED) gravam dados cifrados com chave AES-256.
  • A instrução destrói e regenera a chave mestra de hardware interna.
  • Resultado: Todos os dados gravados tornam-se lixo indecifrável num segundo!
  • MODO 2: LIMPEZA FÍSICA DE BLOCOS (Block Erase - Demora 2 a 10 Minutos)
  • O controlador aplica uma descarga elétrica em todas as portas de memória NAND.
  • Coloca todos os transistores de volta ao estado inicial em branco (0xFF).
  • Limpa 100% da área física sem consumir largura de banda no servidor.

Passo a Passo no Debian 12: Como Sanitizar um Disco NVMe

Vamos executar o procedimento correto na consola com as ferramentas padrão nvme-cli, alojadas no GitHub:

1. Instala as Ferramentas de Gestão

# Instala o pacote de controlo de unidades NVMe
apt update && apt install -y nvme-cli

2. Confirma o Identificador e as Capacidades do Disco

Valida muito bem qual é o disco para não limpares a máquina errada:

# Lista os discos NVMe presentes no teu servidor
nvme list

# Confirma quais os tipos de sanitização suportados pelo controlador
nvme id-ctrl /dev/nvme0 -H | grep -i sanitize

A consola vai mostrar-te as opções disponíveis:

  [2:0] : 0x2    Block Erase Sanitize: Suportado
  [1:1] : 0x1    Crypto Erase Sanitize: Suportado

3. Dispara a Ordem de Sanitização no Hardware

Escolhe entre a limpeza física de blocos ou a destruição criptográfica da chave:

# OPÇÃO A: Limpeza Física por Tensão Elétrica nos Blocos (Recomendado)
nvme sanitize /dev/nvme0 -a 2

# OPÇÃO B: Apagamento Criptográfico Imediato (Para discos SED com chave)
nvme sanitize /dev/nvme0 -a 4

O parâmetro -a define a ação pretendida:

  • -a 2: Block Erase (Apagamento elétrico de todos os blocos NAND).
  • -a 4: Crypto Erase (Destruição da chave criptográfica interna).

4. Acompanha o Progresso da Operação

A instrução devolve o controlo do terminal de imediato enquanto o chip do disco faz a limpeza sozinho:

# Consulta o registo de estado do processo de limpeza
nvme sanitize-log /dev/nvme0

RELATÓRIO DE PROGRESSO DO NVME SANITIZE

  • Progresso Atual (SPROG): Estado da Sanitização (SSTAT)
  • : 74%: : 0x2 (Operação em curso no hardware)

Aguarda até que o progresso termine:

Sanitize Progress (SPROG)               : 65535 (Terminado)
Sanitize Status (SSTAT)                 : 0x101 (A operação foi concluída com sucesso!)

E em Discos SSD Antigos com Interface SATA?

Se tens uma máquina mais antiga com discos SSD SATA vulgares que não usam NVMe, deves recorrer à instrução ATA Secure Erase com o hdparm:

# 1. Confirma que o disco não está no estado "frozen" (congelado)
hdparm -I /dev/sda | grep -i "frozen"

# 2. Define uma senha temporária no controlador do disco
hdparm --user-master u --security-set-pass SenhaTemporaria123 /dev/sda

# 3. Dispara a ordem de apagamento seguro por hardware
hdparm --user-master u --security-erase-enhanced SenhaTemporaria123 /dev/sda

O próprio controlador SATA limpa a memória interna do SSD de forma atómica.


Auditoria Forense: Como Comprovar que o Disco Ficou Vazio

Nunca entregues um disco a terceiros sem confirmares no terminal que os dados desapareceram de forma definitiva:

# Lê 1 Gigabyte de blocos aleatórios do disco e inspeciona o conteúdo
dd if=/dev/nvme0n1 bs=1M count=1000 | hexdump -C | head -n 30

Resultado esperado:

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
3e800000

O asterisco (*) confirma que todos os blocos lidos contêm rigorosamente zero. Confirma também a ausência de tabelas de partições:

# Confirma que não existem partições válidas
fdisk -l /dev/nvme0n1
# Resultado: Disk /dev/nvme0n1 doesn't contain a valid partition table.

Ao aplicares comandos de sanitização em hardware com o nvme sanitize, fechas de vez o perigo de fugas de informação ao desmantelar hardware antigo. Aliando estes procedimentos à nossa manutenção preventiva, garantes conformidade legal com as normas de proteção de dados e a segurança absoluta dos teus clientes.

No terreno, em conjunto com a experiência acumulada na Webxtek Studio, aplicamos exatamente estes padrões operacionais em setores exigentes como cibersegurança b2b e inteligência corporativa e cibersegurança. Quando alinhas a tua estrutura através de alojamento gerido para websites e aplicações e consultoria técnica antes de construir, transformas boas práticas técnicas numa vantagem competitiva real e mensurável para o teu negócio.

[+] [ INDEX_DIRECTORY ] 18 tópicos ▼
[ SYSTEM.FAQ ]

Perguntas Frequentes

Porque é que formatar um disco com mkfs ou apagar com rm não elimina ficheiros com segurança?

Os comandos de formatação vulgar (`mkfs.ext4`) e eliminação (`rm`) apenas limpam os índices e tabelas de apontadores (inodes) do sistema de ficheiros, marcando o espaço como disponível. Os dados magnéticos ou as células de memória NAND mantêm-se exatamente iguais no disco, podendo ser recuperados na totalidade em escassos minutos com ferramentas forenses gratuitas como o `photorec`.

Porque é que o comando tradicional shred não funciona em discos SSD e NVMe modernos?

O comando `shred` foi desenhado para discos rígidos mecânicos antigos com setores físicos fixos. Os discos NVMe utilizam uma camada inteligente de gestão de memória (FTL) com nivelamento de desgaste (wear leveling). Ao mandares o `shred` sobrescrever um bloco, o controlador grava noutra célula de memória nova e deixa o bloco antigo com os teus dados intacto na área de reserva.

O que é o nvme sanitize e como se distingue do Block Erase e Crypto Erase?

O `nvme sanitize` é uma instrução enviada diretamente ao processador interno do disco. O Block Erase aplica uma tensão elétrica a todas as células de memória NAND, apagando fisicamente todos os blocos (incluindo áreas de reserva). O Cryptographic Erase destrói a chave de cifragem interna de discos auto-encriptados (SED), tornando os dados ilegíveis em menos de 1 segundo.

Como confirmas se a operação de sanitização terminou com sucesso no teu Debian?

Como o comando corre em segundo plano dentro do próprio controlador do disco, deves consultar o estado com o comando `nvme sanitize-log /dev/nvme0n1`. O sistema devolve a percentagem de progresso e confirma quando a operação estiver 100% concluída.

> INICIAR_PROJETO

Precisa de um website que transmita confiança, apareça na pesquisa e dê mais força à sua presença digital? Comece a conversa aqui.