Somos anfitriones de VPS para clientes. Cada VPS del cliente recibe un LVM LV en un disco duro de husillo estándar. Si el cliente se fuera, ponemos a cero este LV asegurando que sus datos no se filtren a otros clientes.
Estamos pensando en utilizar SSD para nuestro negocio de hosting. Dado que los SSD tienen la tecnología de "nivelación de desgaste", ¿eso hace que la puesta a cero no tenga sentido? ¿Esto hace que esta idea de SSD sea inviable, dado que no podemos permitir que los datos del cliente se filtren a otro cliente?
fuente
No rellene con cero un SSD, nunca. Como mínimo, esto desgastará parte de la vida útil de escritura del SSD por poco o ningún beneficio. En el peor de los casos, puede poner el controlador SSD en un estado de rendimiento reducido (temporalmente) .
De esta fuente :
Su mejor opción, borrado seguro mediante cifrado de disco completo:
Algunas unidades SSD modernas pueden usar cifrado de disco completo; por ejemplo, las nuevas unidades 320 de Intel y algunas unidades de la serie Sandforce 2200. Estas unidades se pueden borrar de forma segura de una manera simple y rápida, sin desgaste de la unidad. El disco utiliza el cifrado AES para todos los datos escritos, por lo que un borrado seguro simplemente significa eliminar la antigua clave AES y reemplazarla por una nueva. Esto efectivamente hace que todos los datos 'viejos' en el disco sean irrecuperables.
Sin embargo, el borrado seguro de Intel no es fácil de automatizar. AFAIK tiene que hacerse desde la aplicación GUI de Windows de Intel, solo se puede ejecutar en una unidad vacía que no sea de arranque, etc. Consulte la página 21 y más en los documentos de Intel.
Su otra opción, borrado seguro ATA:
Otra opción es emitir un comando ATA Secure Erase a través de fx HDPARM en Linux. Esto será mucho más fácil de automatizar mediante secuencias de comandos.
Siempre que la unidad implemente ATA Secure Erase de una manera 'buena', uno debería esperar que al menos elimine la "capa de traducción flash" (FTL). La tabla FTL contiene el mapeo entre los sectores lógicos (que el sistema operativo 've') y las páginas físicas de NVRAM en la unidad misma. Con esta tabla de mapeo destruida, debería ser muy difícil, pero probablemente no imposible, recuperar datos del disco.
Sin embargo, no conozco ningún estudio que haya demostrado que ATA Secure Erase esté implementado de manera consistente y bien en todas las unidades del fabricante, por lo que dudo en decir que siempre funcionará; debe leer la documentación técnica del fabricante.
Para una sola partición:
Mientras leo los comentarios a otras respuestas, parece que OP solo quiere borrar de forma segura particiones individuales. Una buena manera de hacerlo sería crear solo volúmenes cifrados , fx usando LUKS o TrueCrypt . De esa forma, puede borrar el volumen de forma segura tirando la clave de cifrado, de forma similar a lo que hace el esquema de cifrado de disco completo en la unidad.
Conclusión:
Si realmente desea saber, lea el documento vinculado al blog de Sophos y lea las notas técnicas de los fabricantes de unidades con respecto al borrado seguro. Sin embargo, si desea un borrado seguro 'bueno', entonces un SSD con cifrado de disco completo y un borrado y reemplazo seguro de las claves de cifrado es probablemente su mejor opción. Como alternativa, utilice el cifrado a nivel del sistema operativo y deseche la clave cuando desee borrar los datos de forma segura.
fuente
La nivelación del desgaste no tiene nada que ver con la puesta a cero de los datos.
Cero los datos para evitar que otras personas / aplicaciones lean esos datos. Los SSD 'nivelan' sus datos para garantizar que sigan siendo utilizables durante más tiempo debido al 'daño' que la escritura causa en los SSD. Además, los discos suelen hacer esto cuando no están ocupados, en situaciones de servidor, los tiempos de silencio no siempre están disponibles, por lo que este trabajo a menudo no se realiza.
¿Cobran a sus clientes por sus operaciones de IO? Si no, ¿qué es lo que les impide básicamente matar su parte de un SSD en horas / días simplemente escribiendo constantemente todo el tiempo? Los SSD son bastante más fáciles de matar de lo que la mayoría de la gente pensaría , especialmente en entornos de escritura pesada.
fuente
if (time < 9am) chriss_try_again()
Por lo tanto, vale la pena leer artículos como este . Si alguien tiene acceso físico al disco, entonces es más fácil recuperar información. ¿Ha considerado encriptar los datos en el SSD y luego todo lo que necesita hacer es olvidarse con seguridad de la clave privada, que debería ser un problema más fácil? Puedo ver que SSD es una gran victoria en vps debido al mejor rendimiento de acceso aleatorio.
fuente
Definitivamente no desea utilizar métodos tradicionales para borrar SSD, como usar
dd
para poner a cero los datos u otros métodos que escriben datos aleatorios en el disco. Esos métodos son más adecuados para discos basados en platos. Es eficaz para borrar la SSD, pero también utilizará innecesariamente muchas de las operaciones de escritura limitadas de la SSD, disminuyendo así la vida esperada de la SSD. Eso se pondría caro rápidamente. También puede disminuir el rendimiento del SSD con el tiempo.Los SSD tienen un método diferente para el borrado seguro. Diré que parece muy engorroso, porque generalmente necesita un cierto tipo de controlador SATA que puede hacer la emulación IDE, y el procedimiento puede ser complicado. Algunos fabricantes proporcionan herramientas para borrar de forma segura sus propios SSD, pero también puede hacerlo con hdparm en Linux: https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Pero notará en esas instrucciones que debe asegurarse de que la unidad no esté "congelada" antes de poder continuar. Este es uno de los pasos más difíciles porque requiere encontrar una placa base y un controlador SATA que le permitan "descongelar" la unidad mientras se inicia el sistema, lo que generalmente implica desenchufarlo de su cable SATA y luego enchufarlo nuevamente.
De todos modos, mi recomendación es hacer su investigación y elegir un SSD que viene con una utilidad de borrado seguro que se puede utilizar en un sistema conveniente para usted.
fuente
dd bs=1M
dará como resultado un desgaste mínimo.Aunque ya se acepta una respuesta, creo que
blkdiscard /dev/sdX
vale la pena mencionar el comando aquí.Según Arch Wiki: SSD , el
blkdiscard
comando descartará todos los bloques y se perderán todos los datos. Se recomienda usar antes de "quieres vender tu SSD".No estoy familiarizado con el funcionamiento de TRIM, así que no sé si hay una garantía de que los datos se borrarán. Pero creo que es mejor que no hacer nada.
Por cierto, me temo que este comando solo funciona en un dispositivo completo, no para una sola partición.
Espero que esto ayude. :)
fuente
blkdiscard
parece no ser seguro en todos los casos, porque enTRIM
sí mismo es solo una solicitud y no todos los controladores SSD lo cumplen. Puedes leer más sobre esto aquí y aquí . Pero como se explica allí, el kernel de Linux mantiene una lista blanca de los dispositivos que se sabe que cumplen con TRIM.hdparm -I /dev/theSSD
contieneDeterministic read ZEROs after TRIM
,blkdiscard
debe ser rápido y garantizar la lectura de ceros después. De lo contrario, un borrado seguro parece la mejor solución. Sin embargo, dado que la pregunta es sobre la seguridad del cliente, Secure Erase podría ser la mejor solución porque parece diseñada para tales casos de uso.La mejor manera de eliminar datos de una imagen de máquina virtual es utilizar la función TRIM. Muchos sistemas operativos más nuevos lo admiten. Casi todos los SSD actuales también lo admiten.
Y, lo que hace que esta opción sea aún mejor es que cualquier SAN también admite esta función bajo su nombre SCSI de UNMAP . Es un gran comando para las SAN que implementan un aprovisionamiento disperso, que es una gran característica para las máquinas virtuales, especialmente cuando se combina con la desduplicación de bloques.
Cuando se da el comando TRIM a un SSD, el firmware marcará inmediatamente esos bloques libres para su reutilización. Algunos SSD siempre devolverán ceros para los bloques TRIM . Otras unidades devolverán datos definidos por la implementación (es decir, aleatorios).
En los sistemas operativos que admiten TRIM, una simple eliminación del archivo marcará los bloques para TRIM. La operación TRIM real puede ocurrir de inmediato o se puede agrupar para realizar más tarde. A veces hay herramientas que obligarán a RECORTAR un archivo o escanear una partición en busca de todos los bloques no utilizados.
El rendimiento de TRIM en Linux sigue siendo irregular, por lo que si está utilizando eso, querrá investigar sus opciones. En Windows parece bastante sólido.
fuente
Necesita una "Utilidad de borrado seguro SSD". Si usa algo como
dd
la nivelación de desgaste puede entrar en acción y terminará con sectores de reserva que todavía contienen datos antiguos del cliente. Una utilidad de borrado seguro borrará todos los sectores del dispositivo (no solo los presentados como un disco para el sistema operativo).Algunas de estas utilidades son específicas de un fabricante en particular, solicite al fabricante de su (s) unidad (es) su recomendación, lo sabrán mejor que nosotros.
fuente
No creo que escribir 0 le ayude a evitar que otro cliente lea el disco.
En SSD, cuando escribe algo, el proceso es muy diferente de un disco duro normal.
Imagine la siguiente situación: una celda de memoria "vacía" en una unidad SSD está llena de 1s. Cuando le escribes algo, escribe los 0 y deja los 1 sin cambios.
Después, cuando desea guardar algo diferente, se compara el contenido anterior y el nuevo. Si el anterior puede convertirse en el nuevo escribiendo algunos ceros, está bien. Si no es posible hacer eso, se usa otra celda de memoria.
"borrar": 11111111 1er guardado: 11011011
nuevos datos: 00110011 no hay forma de hacer que 11011011 se convierta en 00110011 (tenga en cuenta que sería necesario convertir un 0 a 1, y no es posible hacerlo en SSD). Entonces, se usará otra celda de memoria.
Cuando CORTE una unidad, está restableciendo todas las celdas de memoria no utilizadas a 1. Por lo tanto, estarán claras para ser utilizadas nuevamente. Y los datos guardados se conservan.
Para hacer lo que quiera: primero, borre (elimine) los archivos. Las celdas de memoria para esos archivos se marcarán como libres. Luego haga un TRIM: todas esas celdas de memoria se convertirán en 1, sin ningún signo de datos.
fuente
Fácil de responder: use Linux para reformatear la partición como EXT4, que le dice a SSD que todos los bloques estén listos para borrarse, como hacer un recorte en todos los sectores de una partición. El efecto secundario es un pequeño número de escrituras (estructuras EXT4).
Olvídese de ˋddˋ con aleatorio, eso reducirá mucho la vida útil de SSD. Algunos SSD son inteligentes y si ven un sector lleno de ceros que no escriben, lo marcan para borrarlo.
Dado que no puede conocer las partes internas de los firmwares, su mejor opción es volver a formatear la partición como ext4 (sin formateo completo, solo una rápida, solo estructuras) en un kernel moderno de Linux, hará un recorte en toda la partición antes de formatearlo.
Para todos aquellos que hablan de borrado seguro, es decir, para SSD completo a la vez, lo que se pide es solo una partición del SSD y SIN perder el resto de la información almacenada en él (nivel de partición, no nivel de SSD).
Conclusión: vuelva a formatear como Ext4, luego, si necesita otro formato, vuelva a formatearlo en ese otro formato.
fuente