domingo, 23 de enero de 2011

Instalando Debian Squeeze con particiones encriptadas

En mi post anterior, un usuario me pidió que hiciese un tutorial sobre como instalar Debian Squeeze con una o varias particiones encriptadas. Y bueno, he aquí cumplo con el pedido.

Nota: todos los pasos que sigo aquí son cosas que he aprendido en forma ad-hoc, puede que haya cosas que necesiten correcciones. Por supuesto, se agradece que las dejen en los comentarios =)

Voy a cubrir algunos pasos esenciales y luego saltar directamente hacia la parte del particionado de discos. También vale aclarar que voy a usar el instalador en modo texto sencillamente porque lo encuentro mas cómodo, pero su análogo gráfico es igual de sencillo.

El primer paso es bootear el instalador de Debian Squeeze:


Para hacer las cosas mas interesantes, voy a elegir la opción "expert install".


Y como éste post es en español... usemos español para la instalación.



A partir de ahí, hago un gran salto hasta elegir que componentes del instalador deben descargarse. Y debo ser sincero: éste paso estimo que debe hacerse ya que vamos a particionar manualmente, pero la verdad no sé si es necesario. El componente a cargar es cfdisk-udeb.



Seguimos adelante hasta llegar al particionado de discos.


La primera opción que se nos ofrece es hacer un particionado guiado utilizando todo el disco. Noten que también está la posibilidad de hacer un LVM cifrado en forma guiada.


Pero nosotros vamos a hacer las cosas de forma manual :-)


Para éste ejemplo, utilicé una máquina virtual con VirtualBox. Como la máquina tiene el disco vacío, es necesario hacer algunos pasos previos. Si el disco sobre el que van a instalar Debian Squeeze ya tenía algún sistema operativo, éstos pasos seguramente no les va a tocar hacerlos. La idea aquí es elegir en qué disco (y no en que partición) vamos a instalar nuestro SO.


Como les decía, el disco estaba vacío, por lo que es necesario crear una tabla de particiones. Noten que en la imagen está seleccionado "No", pero obviamente van a necesitar elegir "Sí" :-)



Bien, ya tenemos nuestro disco con tabla de particiones listo para ser usado. Nuestro pŕoximo paso va a ser crear una partición /boot no encriptada, para poder permitir que el sistema bootee. Seleccionamos el espacio libre de nuestro disco.


Creamos una nueva partición de 100 MB.



La hacemos una partición primaria (aunque es muy posible que funcione sobre una lógica).


Al principio del espacio libre, sólo por gusto.


Por defecto el instalador queire establecer una partición /, por lo que es necesario cambiarle el punto de montaje.



Finalmente, guardamos los cambios.


Hora de configurar los volúmenes cifrados.


Para proceder, es necesario guardar los cambios a los discos.


Y creamos un volumen cifrado.


Elegimos el espacio libre de nuestro disco para crear tal volumen.


Guardamos los cambios.



Y terminamos la creación del volumen cifrado.


Al crear un volumen cifrado, el sistema ofrece sobreescribir los datos actuales con datos aleatoreos. Éste paso no es estrictamente necesario, pero si altamente recomendable.


La sobreescritura de los datos con datos aleatoreos puede tardar mucho tiempo. Tardé mas de tres horas en éste paso en un disco de 160G. Se puede cancelar en cualquier momento sin problemas aparentes.


Un paso mas que importante: establecer la frase-contraseña para cifrar el disco.


Por supuesto, hay que repetir la misma para validar que se haya escrito correctamente. ¡Y a no olvidársela!


Ahora nos toca configurar el gestor de volúmenes lógicos (LVM).


Otra vez, hay que guardar los cambios.


La idea ahora es crear un grupo de volúmenes y crear dentro de él los volúmenes lógicos que querramos (swap y / en nuestro caso).


Un nombre para el grupo de volúmenes.


Creamos el grupo de volúmenes en nuestra partición encriptada.


Una vez creado el grupo de volúmenes, hay que crear los volúmenes lógicos para la swap y /.






Hay que repetir éstos últimos pasos para crear /. Luego seleccionamos nuestro volúmen lógico para la swap y establecemos una partición de éste tipo en él:





Otra vez, hay que repetir los pasos anteriores para /, normalmente queda como la siguiente figura.


¡Terminamos el particionado! Hora de guardar los cambios.



El resto sigue siendo el mismo proceso de instalación de siempre. Una vez que se reinicia el sistema, podemos ver como se nos pide la frase-contraseña que establecimos antes para poder bootear.



Y eso es todo :-)

24 comentarios:

  1. Interesante tutorial. Varias veces me he planteado reintalar mi sistema en particiones cifradas, desde cero, pero no lo he hecho porque desconozco si el tener particiones cifradas afecta el rendimiento del equipo (las lecturas/escrituras de disco deben ser cifradas/descifradas), especialmente en máquinas antiguas con poca ram. ¿Sabes si existe un mínimo de hardware recomendado para tener cifrado de disco sin problemas o va bien en cualquier máquina?

    ResponderEliminar
  2. Sinceramente, no tengo ni idea. Pero buscando en la web encontré ésto y ésto. Para éste último, buscá la palabra "slowdown" en el texto.

    ResponderEliminar
  3. Aunque me chirría un poco la palabra encriptado en vez de cifrado --soy de la vieja escuela-- por lo demás el artículo es excelente.

    @Anónimo, uno de mis portátiles tiene solo 512MB de RAM --con gráfica compartida-- y va perfecto con EXT3 + LVM2 cifrado.

    Por cierto tengo pendiente probar que tal funciona eso mismo pero con EXT4.

    Lisandro ¿tienes información sobre este punto?

    ResponderEliminar
  4. Lisandro, gracias por los enlaces. Realmente lo que hay que considerar es la importancia de la información a cifrar en relación al costo de mantenerla cifrada. Ése es un buen punto, pues ahora creo que no es necesario mantener todo el disco cifrado, sino más bien / (separada de home, usr, var, etc) para proteger archivos de configuración en /etc, y otra partición de datos +/- estáticos, donde estaría lo importante. Al menos ésa sería para mí una alternativa. Eso y rsync o similar para actualizar los datos entre particiones cuando esté trabajando con ellos (para no hacer la lectura/escritura directamente).

    Debianero, en el segundo enlace que me recomendó Lisandro, se señala que un error en un bit en sistemas encriptados puede generar pérdidas importantes de información, por lo que recomiendan usar ext3 por su estabilidad (no elimina, pero reduce los errores). Ext4 todavía es muy nuevo creo yo para usarlo encriptado, en base al artículo (que por cierto es del 2005, aunque la prudencia sigue siendo válida).

    Por cierto, tengo un pc con 256 de ram y un amd durón de 950 mhz, por lo que el rendimiento me resulta importante. De hecho, flash ya es algo que no va, y con tres aplicaciones funcionando se complica todo. Lo mismo para grabar dvd, que tengo que hacerlo a 4x y sin hacer nada más en el pc para evitar que se grabe mal. Pero es lo que hay. Saludos.

    ResponderEliminar
  5. @Debianero: por algún motivo, siempre me sale el verbo "encriptar" antes que "cifrar". Se podría decir que encriptar es el proceso de aplicar criptografía... y también de meter a alguien en una cripta ;-)

    ResponderEliminar
  6. buen tutorial gracias por compartirlo, ya me hare un VM para probarlo tambien, asi podre medir el rendimiento.

    ResponderEliminar
  7. Buen tuto ;). Nunca he creado particiones cifradas por aquello de que si falla el sistema operativo luego me dé problemas a la hora de recuperar la información de la partición de datos o simplemente reinstalar el sistema; pero visto lo fácil que es crearlo me animaré la próxima vez a buscar información de cómo va el montaje de volúmenes lógicos cifrados, las copias de las cabeceras por el posible fallo de algún bit y a recordar un clave larguita jeje. Por cierto, no sé porqué tenía en la cabeza que al crear el volumen cifrado había un paso donde había que mover lo más aleatorio que se pudiese el ratón durante unos segundos, quizás fuese en otro tipo de cifrado... Saludos.

    ResponderEliminar
  8. OYE QUE RÁPIDO ERES!! Yo fui el usuario que le pidió el tutorial y por la fecha me doy cuenta... que volaste!!! FELICITACIONES Y MUCHÍSIMAS GRACIAS POR EL TUTORIAL... lo voy a utilizar para hacer la instalación de la próxima versión debían... cualquier duda estaré por aquí de nuevo preguntando :) gracias de nuevo y que Dios lo siga bendiciendo

    ResponderEliminar
  9. una pregunta: si quiero dejar la partición raíz, la de intercambio y la home sin cifrar y lo que quiero hacer es cifrar una partición aparte entonces como hago? Tengo que cifrar de toda formas la de intercambio? O sólo sigo con los procedimientos para cifrar esa partición por a parte y cuando terminé la instalación e inicio sesión... al estar adentro e ingresar a la partición cifrada me pedirá la contraseña?

    ResponderEliminar
  10. creo que no es necesario cifrar la de intercambio en ése caso. Y creo que también se puede dejar esa partición libre y hacerlo una vez instalado el sistema.

    pero notá los "creo": no lo hice nunca.

    ResponderEliminar
  11. y para hacerlo una vez instalado el sistema usted sabe los procedimientos?

    ResponderEliminar
  12. Hice algo parecido pero para debian lenny :D => http://a13x00x1.org.ve/?p=1486

    ResponderEliminar
  13. Que sucede si has olvidado tu passphrase ?,existe quizas algun metodo para romper el volumen...busque y encontre muy poco,o algun metodo para estas equivocaciones .

    "Los seres humanos somo completamente impredecibles y olvidadizos "

    ResponderEliminar
  14. Hola, que tal, primero que nada muy bien el tuto...lo segui al pie de la letra, salvo por lo de los lvm que no lo preciso..con el tema del cifrado..tengo una duda... al abrir nautilus mis unidades aparecen asi

    http://www.imagengratis.org/images/pantallazyj6ky.png

    mi esquema de particiones en un disco de 500 es
    96 gb /
    4 gb swap
    400 gb /home

    Es normal como aparece en nautilus? me extraña que la particion de swap diga no reconocida..

    Gracias!! y agregando el blog a mis rss .. debian y nacional :)

    ResponderEliminar
  15. Jeros: la verdad, no tengo idea que es lo que pasa con Nautilus. No uso Gnome :-/

    ResponderEliminar
  16. 0k, gparted tampoco imagino, porque ne gparted me aprece algo raro similar...

    ResponderEliminar
  17. Gracias Damián, acabo de compartir tu manual junto con el enlace al mismo, realmente es una tarea muy cotidiana compartir el proceso de instalación para quienes van ingresando en este mundo :)

    A ver si te animás a asistir a la D12 en Nicaragua, saludos desde C.A.

    ResponderEliminar
  18. @David: me alegro que te haya servido :)

    En cuanto a DC12, es mas un tema de $ que otra cosa :-/

    ResponderEliminar
  19. Lector Agradecido8 de marzo de 2012, 13:39

    Bueno amigo seria un ingrato yo sino comentara dando las gracias, luego de que tu excelente tutorial me ha servido. Muchas gracias por el tutorial y por usar GNU/Linux :-)

    Un saludo!

    ResponderEliminar
  20. Que manera de complicar las cosas, pero no te das cuen que un tutorial es para facilitar las cosas? porque no lo haces en el modo grafico para que podamos entenderlo mejor?? Muy mal!

    ResponderEliminar
  21. Hola amigo, muy buen post. Pues comentarte que he compartido tu post en este foro http://www.hackxcrack.es/forum/index.php?topic=12511.new#new, como no veo la licencia de tus contenidos por el blog ps ahi te digo ;D Si tienes algun problema con que publique tu tutorial ahi, me lo haces saber y lo retiro.

    P.S: Claro que he dado todos los creditos a su creador y he daro la referencia al blog :-)

    Un saludo!

    ResponderEliminar