Unidades SSD de zeragem

18

Hospedamos VPSs para os clientes. Cada cliente VPS recebe um LVM LV em um disco rígido de eixo padrão. Se o cliente sair, zeramos esse LV, garantindo que seus dados não vazem para outros clientes.

Estamos pensando em ir com SSDs para o nosso negócio de hospedagem. Dado que os SSDs possuem a tecnologia "wear leveling", isso torna o zeramento sem sentido? Isso torna essa ideia de SSD inviável, já que não podemos permitir que os dados dos clientes vazem para outro cliente?

    
por jtnire 21.06.2011 / 14:08

10 respostas

22

Supondo que o que você está procurando evitar é que o próximo cliente que está lendo o disco veja os dados do antigo cliente, a gravação de todos os zeros ainda funcionaria. Escrever zeros no setor 'n' significa que quando o setor 'n' é lido, ele retornará todos os zeros. Agora, o fato é que os dados reais subjacentes ainda podem estar nos chips flash, mas como você não pode fazer uma leitura normal para obtê-los, isso não é um problema para sua situação.

É um problema se alguém conseguir fisicamente o disco e desmontá-lo (porque então eles poderiam ler diretamente os chips flash), mas se o único acesso que eles têm é o barramento SATA, então uma gravação de todos os zeros para todo o disco vai fazer muito bem.

    
por 21.06.2011 / 14:25
19

Não preencha zero um SSD, nunca. No mínimo, isso desgastará parte da vida útil da gravação do SSD por pouco ou nenhum benefício. Em um cenário extremo de pior caso, você pode colocar o controlador do SSD em um (temporariamente) reduziu o desempenho .

De esta fonte :

Repeatedly overwriting the entire disk with multiple repetitions can successfully destroy data, but because of the Firmware Translation Layer (FTL), this is considerably more complicated and time-consuming than on traditional hard disk drives. Based on their results, it is an unattractive option

Sua melhor opção, apagar com segurança através da criptografia total de disco:

Alguns SSDs modernos podem usar criptografia de disco completo - exemplos são os novos 320 drives da Intel e alguns drives da série Sandforce 2200. Essas unidades podem ser apagadas com segurança de forma simples e rápida, sem desgaste da unidade. A unidade usa criptografia AES para todos os dados gravados, portanto, apagar com segurança significa simplesmente excluir a chave AES antiga e substituí-la com um novo. Isso efetivamente torna todos os dados "antigos" na unidade irrecuperáveis.

No entanto, o apagamento seguro da Intel não é fácil de automatizar. AFAIK tem que ser feito a partir do aplicativo Windows GUI da Intel, ele só pode ser executado em uma unidade não-inicialização vazia e assim por diante. Consulte a página 21 em diante nos documentos da Intels

Sua outra opção, a Apagar segura ATA:

Outra opção é emitir um comando ATA Secure Erase via fx HDPARM no Linux. Isso será muito mais fácil de automatizar via script.

Desde que a unidade implemente o ATA Secure Erase de uma maneira 'boa', deve-se esperar pelo menos excluir a "camada de tradução flash" (FTL). A tabela FTL mantém o mapeamento entre os setores lógicos (que o sistema operacional 'vê') e as páginas físicas da NVRAM na própria unidade. Com esta tabela de mapeamento destruída, deve ser muito difícil - mas provavelmente não impossível - recuperar os dados da unidade.

No entanto, não tenho conhecimento de nenhum estudo que demonstre que o ATA Secure Erase é consistente e bem implementado em todos os drives do fabricante, por isso hesito em dizer que ele sempre funcionará - você deve ler a documentação técnica do fabricante .

Para uma única partição:

Quando leio os comentários para outras respostas, parece que o OP só quer apagar com segurança partições individuais. Uma boa maneira de fazer isso seria apenas criar volumes criptografados , f.x. usando L.U.K.S ou TrueCrypt . Dessa forma, você pode apagar com segurança o volume, eliminando a chave de criptografia, semelhante ao esquema de criptografia de disco completo na unidade.

Conclusão:

Se você realmente quiser realmente saber, leia o documento vinculado a do blog da Sophos, e leia as notas técnicas dos fabricantes de discos sobre o apagamento seguro. No entanto, se você quiser um "bom" apagamento seguro, um SSD com criptografia de disco completo e uma limpeza segura & A substituição das chaves de criptografia é provavelmente sua melhor escolha. Como alternativa, use a criptografia no nível do sistema operacional e descarte a chave quando desejar que os dados sejam apagados com segurança.

    
por 21.06.2011 / 15:03
6

O nivelamento de desgaste não tem nada a ver com o zeramento de dados.

Você zera os dados para impedir que outras pessoas / aplicativos leiam esses dados. Os SSDs 'usam o nível' de seus dados para garantir que eles permaneçam utilizáveis por mais tempo devido ao 'dano' que a gravação causa aos SSDs. Além disso, os discos geralmente fazem isso quando não estão ocupados; em situações de servidor, os horários de inatividade não estão sempre disponíveis, portanto, esse trabalho geralmente não é executado.

Você cobra de seus clientes pelas operações de IO? Se não é o que para impedi-los, basicamente, matando sua parte de um SSD em horas / dias por apenas constantemente escrevendo o tempo todo? SSDs são um pouco mais fáceis de matar do que a maioria das pessoas pense , especialmente em escrever ambientes pesados.

    
por 21.06.2011 / 14:22
3

Portanto, vale a pena ler artigos como este . Se alguém tiver acesso físico ao disco, é mais fácil recuperar as informações. Você já pensou em criptografar os dados no SSD e, em seguida, tudo o que você precisa fazer é esquecer a chave privada com segurança, o que deve ser um problema mais fácil. Eu posso ver o SSD sendo uma grande vitória em vps por causa do muito melhor desempenho de acesso aleatório.

    
por 21.06.2011 / 14:17
2

Você definitivamente não deseja usar métodos tradicionais de apagar SSDs, como usar dd para zerar dados ou outros métodos que gravam dados aleatórios no disco. Esses métodos são mais adequados para discos baseados em bandejas. Ele é eficaz para apagar o SSD, mas também irá usar desnecessariamente muitas das operações limitadas de gravação do SSD, diminuindo assim a vida esperada do SSD. Isso ficaria caro rapidamente. Também pode diminuir o desempenho do SSD ao longo do tempo.

Os SSDs têm um método diferente para apagar com segurança. Eu vou dizer que parece ser muito difícil de fazer, porque você geralmente precisa de um certo tipo de controlador SATA que pode fazer emulação IDE, e o procedimento pode ser complicado. Alguns fabricantes fornecem ferramentas para proteger seus próprios SSDs, mas você também pode fazê-lo com o hdparm no Linux: link . Mas você notará nessas instruções que precisa garantir que a unidade não esteja "congelada" antes de prosseguir. Este é um dos passos mais difíceis porque requer encontrar uma placa-mãe & Controlador SATA que permite "descongelar" a unidade enquanto o sistema é inicializado, o que geralmente envolve desconectá-lo do cabo SATA e conectá-lo novamente.

De qualquer forma, minha recomendação é fazer sua pesquisa & escolha um SSD que venha com um utilitário de limpeza segura que possa ser usado em um sistema conveniente para você.

    
por 21.06.2011 / 14:48
2

Embora uma resposta já seja aceita, acho que o comando blkdiscard /dev/sdX ainda vale a pena ser mencionado aqui.

De acordo com o Arch Wiki: SSD , o comando blkdiscard descartará todos os blocos e todos os dados serão perdidos. Recomenda-se usar antes "você quer vender seu SSD".

Não estou familiarizado com o funcionamento do TRIM, por isso não sei se existe a garantia de que os dados serão apagados. Mas acho que é melhor do que não fazer nada.

BTW, receio que este comando funcione apenas em um dispositivo inteiro, não em uma única partição.

Espero que isso ajude. :)

    
por 04.07.2017 / 04:46
1

A melhor maneira de limpar dados de uma imagem de máquina virtual é usar o recurso TRIM. Muitos sistemas operacionais mais recentes suportam isso. Quase todos os SSDs atuais também suportam isso.

E o que torna essa opção ainda melhor é que m qualquer SAN também oferece suporte a esse recurso sob o nome SCSI da UNMAP . É um ótimo comando para SANs que implementam o provisionamento esparso, que é um ótimo recurso para máquinas virtuais, especialmente quando combinado com a desduplicação de blocos.

Quando o comando TRIM é dado a um SSD, o firmware marcará imediatamente esses blocos para reutilização. Alguns SSDs sempre retornarão zeros para os blocos TRIM'd . Outras unidades retornarão dados definidos pela implementação (ou seja, aleatórios).

Em sistemas operacionais compatíveis com TRIM, uma simples exclusão do arquivo marcará os blocos para o TRIM. A operação TRIM real pode ocorrer imediatamente ou pode ser retirada para execução posterior. Às vezes, há ferramentas que forçarão a criação de um arquivo ou varrerão uma partição para todos os blocos não utilizados.

O desempenho do TRIM no Linux ainda é irregular, portanto, se você estiver usando, investigará suas opções. No Windows, parece bastante sólido.

    
por 21.06.2011 / 18:00
0

Você precisa de um "SSD Secure Erase Utility". Se você usar algo como dd , o nivelamento de desgaste poderá ser ativado e você acabará com setores de reserva que ainda contêm dados antigos do cliente. Um utilitário de apagamento seguro irá apagar todos os setores no dispositivo (não apenas aqueles apresentados como um disco para o sistema operacional).

Alguns desses utilitários são específicos de um determinado fabricante, pergunte ao fabricante do (s) seu (s) disco (s) por sua recomendação, eles saberão melhor do que nós.

    
por 21.06.2011 / 14:34
0

Eu não acho que escrever 0s ajudará você a evitar que outro cliente leia o disco.

Nos SSDs, quando você escreve algo, o processo é muito diferente de um disco rígido normal.

Imagine a seguinte situação: uma célula de memória "vazia" em uma unidade SSD é preenchida com 1s. Quando você escreve algo, anote os 0s e deixe os 1s inalterados.

Depois, quando você deseja salvar algo diferente, o conteúdo anterior e o novo são comparados. Se o anterior pode se tornar o novo, escrevendo alguns 0s, ok. Se não for possível fazer isso, outra célula de memória é usada.

"limpar": 11111111 1ª salva: 11011011

novos dados: 00110011 não há como fazer com que 11011011 se torne 00110011 (observe que seria necessário transformar um 0 para 1, e não é possível fazer isso em SSDs). Então, outra célula de memória será usada.

Quando você compara uma unidade, você está redefinindo todas as células de memória não utilizadas para 1. Então, elas ficarão claras para serem usadas novamente. E os dados salvos são preservados.

Para fazer o que quiser: primeiro, apague (exclua) os arquivos. As células de memória para esses arquivos serão marcadas como livres. Então faça um TRIM: todas essas células de memória se tornarão 1s, sem nenhum sinal de dados.

    
por 21.06.2011 / 18:57
0

Fácil de responder: Use o Linux para reformatar a partição como EXT4, que diz ao SSD que todos os blocos estão prontos para serem apagados, como fazer um ajuste em todos os setores de uma partição. O efeito colateral é um pequeno número de gravações (estruturas EXT4).

Esqueça o ˋddˋ com algo aleatório, que reduzirá muito a vida útil do SSD. Alguns SSD são inteligentes e, se virem um setor cheio de zeros que não escrevem, eles o marcam para apagar.

Como você não pode saber internals sobre firmwares, sua melhor opção é re-formatar a partição como ext4 (sem re-formatação completa, apenas uma rápida, apenas estruturas) em um kernel linux moderno. a partição inteira antes de formatá-lo.

Fot todos aqueles falando sobre apagar seguro, ou seja, para todo o SSD de uma só vez, o que é perguntado é apenas uma partição do SSD e sem perder o resto da informação armazenada nele (nível de partição, não SSD). / p>

Conclusão: reformate como Ext4 e, se precisar de outro formato, reformate novamente em outro formato.

    
por 08.09.2018 / 13:25