Limpie de forma segura un servidor Linux completo consigo mismo

22

Tengo acceso ssh remoto y acceso root. No tengo acceso físico. No estoy buscando soluciones que involucren el arranque en nada, quiero hacer esto desde lo que se está ejecutando actualmente.

El sistema operativo es SL6. ¿Hay alguna manera de cargar todo lo necesario en la RAM y usar dd o similar para limpiar de forma segura todo el disco? Obviamente, esto dará como resultado un cuadro que no funciona al final, mi resultado previsto.

Parece que esto debería ser posible.

Dos adiciones más interesantes:

  1. Poder ingresar, ejecutar la pantalla, ejecutar el comando dd y desconectar. Inicie sesión una semana después una vez que haya terminado. :)

  2. ¿De alguna manera tienes una barra de progreso?

Actualización : ahora voy con la opción chroot. Actualmente haciendo:

mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && cd /dev/shm/ramdisk && chroot .

Lo que funciona (!) Pero todavía necesito / dev / zero y / dev / sda. ¿Alguna idea allí?

Actualización 2012-07-20:

mkdir /dev/shm/ramdisk/ && cd /dev/shm/ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && mkdir /dev/shm/ramdisk/dev && cd /dev/shm/ramdisk/dev && cp -a /dev/zero . && cp -a /dev/sda . && cd .. && chroot . dd if=/dev/zero of=/dev/sda bs=1M

Lo que parece estar haciendo algo, pero me gustaría tener algún tipo de indicador de progreso si es posible, así como una forma de desconectar y luego establecer una nueva conexión ssh.

pantalones de gato
fuente
3
Pruébelo;) Finalmente en una VM primero.
Frederik Nielsen
2
Cuando dice que el arranque no es una opción, ¿está diciendo que tocar la consola / insertar medios no es una opción, o que la máquina no se puede reiniciar? Porque potencialmente podría agregar una imagen livecd en su disco. Cuando el sistema se reinicia, inicia la imagen livecd, se carga en la memoria e inicia un servidor SSH.
Zoredache
De hecho, no tengo acceso físico. En cualquier caso, conozco la solución de cd en vivo, así que estoy interesado en aprender otra solución, específicamente con las condiciones planteadas en este problema. ¡¡Gracias!!
pantalones de gato
Pura especulación: me pregunto si chrootentrar en un RAMdisk puede ayudar con esto. Segunda especulación: particionar una parte de la unidad, reescribir grub y reiniciar.
Hyppy
Solo hay una opción segura , si la confidencialidad de los datos es realmente una preocupación: debe destruir el disco. Las opciones normales son: 1) desmagnetizador, 2) lijadora de disco, 3) martillo de bola. Si puede reiniciar, entonces hay una opción para ejecutar algunas herramientas de borrado de disco a nivel de DoD, pero ha eliminado los reinicios como una opción.
Mike Pennington

Respuestas:

12

Cree una imagen en un disco RAM que contenga las herramientas que necesite para destruir el sistema, luego pivot_root, ejecute la herramienta y listo. Pivotante cabo de un sistema completo no es trivial, pero se puede hacer si usted sabe lo que está haciendo.

womble
fuente
1
Esa es una idea genial. Entonces, la pregunta es: ¿cuál es el mínimo necesario para tirar en un disco RAM para poder lograr esto? Permítanme intentar resolverlo por mi cuenta, luego comentaré aquí o publicaré un nuevo hilo si no puedo resolverlo. ¡Gracias!
pantalones de gato
9

Lo he hecho algunas veces ejecutando

dd if=/dev/zero of=/dev/sda

Sin preparaciones adicionales. funcionó. el sistema estuvo funcionando bien durante días después de que dd terminó [respondiendo a pings, reenviando paquetes].

pQd
fuente
1
Una sola pasada con / dev / zero no sería muy segura dependiendo de qué tan segura lo necesite el OP.
Aaron Copley
1
Solo intenté esto, y el resultado fue un pánico en el núcleo. Sin embargo, tengo unas diez máquinas más en las que puedo probar esto. ¿Qué debería probar a continuación?
pantalones de gato
2
¿Tiene particiones específicas con datos confidenciales? Puedes intentar hacer un chorro de arena con esos antes de hacer algo que pueda derribar la caja.
cjc
2
Tenía la impresión de que necesitar más de un pase es un error común. anti-forensics.com/disk-wiping-one-pass-is-enough Creo que existe un desafío para recuperar datos después de un solo pase con / dev / zero, y hasta ahora nadie ha podido hacerlo.
pantalones de gato
44
@catpants: Bloquee los archivos necesarios en la memoria con vmtouch y luego ejecute lo que necesite.
womble
0

Sugerencia: use wipe en lugar de dd: admite borrado seguro de múltiples pasadas.

Otra sugerencia: detener tantos servicios y eliminar tantos paquetes como sea posible. Elimine todos los datos que no necesita y todos sus archivos y datos de registro antiguos. Rellene tanto como sea posible del espacio libre resultante con un solo archivo, luego ejecute borrar en ese archivo. No elimines ese archivo. Eso se encargará de limpiar la mayor parte del disco antes de que el sistema quede inutilizable.

La idea del ramdisk chroot sería necesaria para superar cualquier drama al volver a la caja, pero probablemente querrá detener el sistema tanto como sea posible antes de realizar la eliminación final, ya que el registro y otros demonios que escriben en el disco podría significar que los datos reales se escriben en bloques de datos libres mientras ocurre el borrado, antes de que la estructura del sistema de archivos esté completamente dañada.

Paul Gear
fuente